FastAPI or Django: which one for your project?
Django REST Framework remains my choice when a project needs a back office, users, permissions and many models: that is what I used for Pitchichi and for the first ScienceProtect platform. FastAPI fits focused, asynchronous and strongly typed services better: the API that queries PubMed for ScienceProtect, the one that relays contact forms on my marketing sites, or the one behind TapToSupport, a donation app for charities.
In both cases I work with strict typing checked by mypy, automatic linting and tests that run on every merge request.
Integrations I already know
Transactional email through Brevo, with pitfalls verified in production: user input escaped in the message HTML, attachments limited to accepted formats, sending quota protected by per visitor rate limiting and a honeypot field against bots. Payments with Stancer, rewritten from its official OpenAPI specification for Eco-Actives, and with Stripe Connect for TapToSupport. Public data with PubMed and EFSA expert opinions for ScienceProtect, or railway open data.
When a third party service documents its behaviour poorly, I check it against a real instance. On Eco-Actives, three gaps between the Saleor webhook documentation and its actual behaviour were found that way and fixed.
Collecting and structuring data
Part of my work is fetching data where it lives and making it usable: scrapers for EFSA experts and opinions, PubMed publication ingestion within the API quotas, journeys rebuilt from SNCF open data, scheduled background tasks with Celery or TaskIQ. Data lands in PostgreSQL or in a Memgraph graph, with versioned migrations.
I respect the terms of use of each source and the quotas they set: an API that gets banned helps nobody.
Tests and deployment
The contact API of Antiquité Mallarmé has 27 tests for a single form, because that form is the first conversion step of the site: rate limiting, honeypot, oversized photos, mistyped phone numbers, Brevo outages. Every API I deliver goes through a real Docker build, a container start and real endpoint calls before it counts as done.
Deployment follows the same pattern on all my projects: an image built by GitLab CI, pushed to the registry, deployed per environment behind Traefik with automatic HTTPS, and secrets that never go through the code repository.
An example: the TapToSupport API
TapToSupport is an app that lets charities collect donations in person, through tap to pay on a phone. Before writing the API, I compared four payment providers and chose Stripe Connect, which lets each charity open its own account unaided. The FastAPI service isolates that provider behind an interface: no other module imports the Stripe library, so it can be replaced without rewriting the rest.
Donors have neither account nor password: they receive a signed single use link by email, sent through Brevo, and their tax receipt is generated as a PDF. The database migration was verified both ways on PostgreSQL, and the pitfalls met along the way (enum types surviving a dropped table, system dependencies of the PDF generator on Alpine) are documented in the repository so nobody rediscovers them. The project is in progress: the API exists, the website and mobile app will follow.
I also write an API contract before its code when several people must work in parallel: that was the case for the Arbre Agile API, whose OpenAPI contract came before the implementation.
Why Python?
Python is the language I have used daily since my first projects through to the services of 2026. It has the richest ecosystem for data, AI and scraping, proven web frameworks, and it reads easily, which matters for code someone else will take over. I also contribute to the ecosystem: several of my improvements were merged into neontology, an open source Python library for graph modelling.
Joining your team
I can take on a complete service or join an existing team. I spent more than two years in a large team for SNCF, on Python services and their deployment tooling, and in small teams for ScienceProtect or Pitchichi. I adapt to your code conventions and your review process.
I do not do Java, .NET or PHP development: if your system is built on those, I will point you to someone better suited.




