If you’re a Python developer thinking about Web3, the hard question isn’t “should I learn Solidity?” It’s “what should I actually build to prove I can do this work?”
I’m going to walk you through a specific project that punches well above its weight on a freelance portfolio. It combines three things — healthcare data standards, decentralized identity, and cryptographic verifiability — that almost nobody in the global freelance market handles together in Python.
The project: a FHIR Consent Vault — a system where patients manage consent for their medical data, every consent record is cryptographically signed and anchored in a tamper-proof ledger, and third parties (insurance companies, researchers) can verify consent without trusting a central authority.
You can build a working version in four weeks of evening work. By the end, you’ll have something that demonstrates skills priced at $80–$150/hour on Upwork.
Three standards converge in this project, and all three are accelerating right now.
FHIR (Fast Healthcare Interoperability Resources) is HL7’s international standard for medical data exchange. The US 21st Century Cures Act mandated FHIR APIs for all EHR systems in 2022. The EU, UK, Australia, and Canada have all adopted it. Every healthcare startup on the planet needs people who can work with FHIR. Most of them are looking in the Java/C# world. Python expertise here is rare.
DID and Verifiable Credentials are W3C standards for portable digital identity. Vaccine passes, university degrees, employment credentials — all moving to this model. The EU Digital Identity Wallet, mandated for member states in 2026, runs on these standards.
Merkle Trees and cryptographic anchoring are the bridge to blockchain. You don’t need to actually deploy a blockchain to demonstrate the pattern — a local SQLite “ledger” plus proper hashing logic is enough to prove you understand it.
A developer who can speak all three languages — FHIR data, DID/VC identity, and on-chain verification patterns — is the kind of person healthcare-blockchain startups can’t find. Be that person.
There are three actors:
The flow:
What this proves: you understand healthcare data semantics, identity cryptography, and verifiable systems. That’s a strong demonstration.
# Core
fastapi # REST API backend
fhir.resources # FHIR Python library (Patient, Consent, Observation)
cryptography # ECDSA signing, SHA-256 hashing
pymerkle # Merkle Tree implementation
sqlalchemy + sqlite # Local ledger simulation
# Identity
didkit # DID Document, Verifiable Credential issuance
# (or implement did:key manually — it's surprisingly simple)
# Demo UI
streamlit # Three-panel demo: patient / hospital / insurer
# Testing
pytest Generate fake patient data with Synthea, an open-source project that produces realistic FHIR-format synthetic medical histories. One command gives you ten patients with 30 years of medical records each — no legal risk since none of it is real.
Week 1 — FHIR Foundations
fhir.resources to parse Patient, Observation, Condition, and Consent resourcesGET /patients, GET /patients/{id}/observations, POST /consentsWeek 2 — Consent Ledger and Merkle Trees
ledger tableWeek 3 — DID and Verifiable Credentials
did:key (simplest DID method, generated from a public key directly)Week 4 — Demo and Documentation
If four weeks feels like too much commitment, start with a two-week mini version: FHIR Hash Notary.
A single CLI tool that:
verify command that validates the token against the originalThis teaches you the cryptographic pieces and FHIR parsing without the full system complexity. Two weeks of evenings. Then if you enjoy it, extend it into the full Consent Vault.
You can start today:
# 1. Generate fake patient data with Synthea (requires Java)
git clone https://github.com/synthetichealth/synthea
cd synthea && ./run_synthea -p 10 Massachusetts
# 2. Look at what came out
ls output/fhir/
# 3. Set up Python environment
pip install fhir.resources fastapi pymerkle cryptography uvicorn The first thing to do — really the only first thing — is to load one Synthea output JSON in Python and print out the patient’s full medication history. Half an hour, maybe an hour. That single exercise will teach you more about FHIR than any tutorial, because you’ll have to wrestle with the structure yourself.
After that, the project unfolds naturally.
There’s a temptation when learning a new technical area to try to learn “everything” — read every tutorial, watch every video. That path leads to perpetual student status, not employment.
The shortcut is to build one specific thing well, then write about it. A working FHIR Consent Vault with proper tests, clean code, a video demo, and a thoughtful blog post is worth more on a portfolio than ten half-finished projects across ten technologies.
If you ship this, you have something genuinely rare: Python expertise in a Java-dominated standard, applied to a problem that real companies are trying to solve.
That’s enough to start a freelance practice on.
Next in this series: once you’ve built something in Python, you’ll start hearing about Solidity and Rust. Which one should a Python developer learn — and how does the choice change what you can charge? Coming in Part 2.
Written by ChainLab — Chain Within Your Life. We build blockchain infrastructure for the real world. chainlab.dev
Data on Chain — Part 3 of 3 · ChainLab The first two parts were…
Data on Chain — Part 2 of 3 · ChainLab In Part 1 we settled…
Data on Chain — Part 1 of 3 · ChainLab Here is a tempting idea.…
Korea's tech is world-class, so why isn't AI payment running smoothly here yet? The answer…
You've probably used "safe payment" on a secondhand marketplace. AI payments need this too. The…
If last part's x402 was a vending machine, these two approaches are closer to a…