Contract FastAPI developer · Singapore

FastAPI developer in Singapore, available now

FastAPI is easy to start with and easy to leave in a state you cannot operate. It has carried most of my recent back-end work: a product with sessions, billing, a job queue, file storage and an admin surface, and a GenAI agent platform inside Colgate-Palmolive. In every case the parts that took the work were never the route handlers. They were the migration story, the webhook idempotency, the worker that has to stream logs back to a browser, and refusing to boot on a half-configured environment. That is the part I am useful for.

  • The framework behind my recent production back ends, including a Colgate-Palmolive agent platform
  • SQLAlchemy 2 and Alembic against PostgreSQL, with a real migration history
  • An API smoke suite of nearly 2,000 lines that runs against the actual service
See selected work

Availability and engagement

Straight answers to the things recruiters screen on first.

Available now Singapore, on-site or hybrid Full-time contract engagements Fixed-scope projects Day rate on request

FastAPI

What I actually do with FastAPI.

API design

Typed request and response models, OpenAPI documentation generated from the code so it cannot drift, and versioning that does not break existing clients.

Data layer

SQLAlchemy 2 with Alembic migrations on PostgreSQL, and a SQLite path for single-worker local development.

Auth & sessions

Argon2 password hashing, signed host-only session cookies, CORS allow-lists and per-endpoint rate limiting.

Payments

Stripe Checkout, signature-verified webhooks over the raw body, a credit ledger, refunds and disputes, plus a reconciliation command.

Background work

A job runner with process spawning, staged progress, ETA estimation, failure classification and live log tailing to the client.

Operational safety

Startup checks that refuse to run on a mixed test/production secret set, and alerting on the failures that actually cost money.

Worked examples

Three problems and how they were solved.

All three from the same product back end, the system I can open up in the most detail. Ask about the rest in conversation.

Billing that survives being audited

The webhook endpoint verifies Stripe signatures against the raw request body, and handles completed checkouts, delayed asynchronous payments, refunds and dispute creation as distinct cases rather than one happy path. Credits move through a ledger, not a mutable balance column, so any figure can be explained after the fact. There is a reconciliation command that replays a date range and reports drift. The service also refuses to start if it finds test keys alongside a production configuration: a five-line check that removes an entire category of incident.

Serving output you do not trust

The product generates HTML from a language model and then shows it to users, which means serving untrusted markup from an authenticated application. Rather than sanitising and hoping, the previews are served from a separate origin, inside a sandboxed frame with an opaque origin, with the session cookie scoped host-only so it cannot travel there. Three independent controls, each of which would be sufficient alone. Getting this wrong is how a feature becomes a breach.

A worker you can watch

Builds take minutes, so the API cannot just return a job id and go quiet. The worker runs pipeline stages as subprocesses, tracks stage-level progress with an ETA derived from previous runs, classifies failures into causes the user can act on, and tails logs back to the browser while it runs. Most of the perceived quality of a long-running API is in this layer, not in the work itself.

FAQ

FastAPI contracting in Singapore: common questions

Are you available for FastAPI contract work in Singapore?

Yes. Available now, full-time contract, on-site or hybrid in Singapore. FastAPI briefs usually arrive as part of a wider back-end problem rather than on their own, and I am happy to take the whole thing rather than just the routes. Fixed-scope builds run through The Digerati.

What is your day rate?

Day rate on request. Length, on-site requirement and scope all move it: a three-month back-end build does not price like a fortnight of remedial work.

Do you work with async SQLAlchemy?

Yes, and I am equally happy telling you when you do not need it. Async pays off when you are genuinely I/O-bound across many concurrent requests; on a service that spends its time waiting for one database, it often adds complexity without throughput.

Can you take over an existing FastAPI service?

Yes. The first thing I usually do is get a smoke suite running against it, because that tells you more about a codebase in an afternoon than reading it for a week.

Do you handle deployment as well?

Yes: uvicorn behind Caddy or nginx, Docker where it helps, and I have run services on plain VPS hosting as well as managed platforms. I would rather hand over something you can operate than something that only I can.

What about Django or Flask?

Both are fine and I have shipped in them. If you already run Django, I would not propose rewriting it in FastAPI to suit my preferences.