FastAPI development
Python APIs that stay fast when the product grows.
Acasa Labs is a FastAPI development company in Surat, India. We build Python APIs for AI products, mobile apps, and realtime systems, and we run four of them in production: NoteTube, Pullsy, Acasa Sentinel, and a low-latency options trading platform. You own the code, the repositories, and the cloud account from day one.
The problem
The API is where products get slow, leak keys, and fall over.
A web app and a mobile app on top of one backend sounds simple until the second client ships. Then the API has to carry auth for both, call a language model without exposing the key, run jobs that outlive a request, and keep answering while a queue backs up. FastAPI is a good tool for that job. It still needs someone to design the service around it.
What we build with FastAPI
- 01
REST APIs for web and mobile clients
One typed API behind your Next.js app and your iOS and Android apps. Pydantic models at the edge, OpenAPI docs generated from the code, and versioning so an old app in the store keeps working.
- 02
AI and RAG backends
The service that holds the model keys, runs retrieval, streams answers back, and records what every call cost. The clients only ever talk to your API.
- 03
Background jobs and sync engines
Scheduled pulls from third-party APIs, retries with backoff, and locks so the same job never runs twice. Queues on Redis or Postgres, chosen by what you already run.
- 04
Realtime and data-heavy services
WebSocket and server-sent event endpoints for live dashboards and streaming chat, isolated so a slow client cannot slow down the system behind it.
From production
How we build FastAPI services, from the ones we run.
Model keys live in one service
NoteTubeIn NoteTube, AI keys live only in a separate FastAPI service. The Next.js web app and the Expo mobile app never see them. Chat answers stream back over server-sent events, with inactivity timeouts so dead connections do not hold resources.
A queue that does not lose work
PullsyPullsy's FastAPI and SQLAlchemy backend syncs Instagram data on a Redis queue with atomic move-with-ack, a delayed-retry set, and per-connection locks so one account never syncs twice. Meta's error codes map to backoff with jitter, capped at 30 minutes.
A gateway that cannot hurt the core
Options trading platformOn a private options trading platform, market state fans out to the dashboard through Redis and a FastAPI WebSocket gateway, throttled per instrument. The publisher is bounded and drops when full, so if the gateway dies, trading does not notice.
Heavy inference behind a plain API
Acasa SentinelAcasa Sentinel puts YOLOv8 detection, plate OCR, and DINOv2 appearance search behind a FastAPI service an operator console can query. All inference runs locally, so no footage or number plate goes to a third-party API.
Honest trade-offs
When we would not pick FastAPI
If the product is mostly forms, an admin, and a lot of relational data with permissions, Django gives you more on day one: the admin, the ORM migrations, and auth out of the box. We built SigmaCPM on Django REST Framework for that reason. If your team writes only TypeScript, a Node backend may be easier for you to own after we hand it over. We will tell you which one fits before we write any code.
What we reach for
- FastAPI, Pydantic, Uvicorn
- SQLAlchemy, Alembic
- Postgres, pgvector, Redis
- Server-sent events, WebSockets
- OpenAI, Anthropic, Gemini, open-weight models
- Docker, Cloud Run, Railway
- pytest, OpenAPI client generation
Proof
Shipped, not pitched.
01Our product
NoteTube
A lecture becomes a study system: chat, flashcards, quizzes, all grounded in the source.
An AI learning platform that turns PDFs, YouTube lectures, recordings, and notes into a structured notebook with grounded chat, spaced-repetition flashcards, and graded quizzes.
Web · iOS · Android · Chrome extension · MCP server
02Our product
Pullsy
Instagram analytics that keep the numbers Instagram throws away.
Analytics for creators. Pullsy keeps insights Instagram discards after about 90 days, explains what each number means, grades the account, and turns it into a media kit a brand can verify.
Web · iOS (native SwiftUI) · REST API
03Case study
Acasa Sentinel
Give it a number plate. It returns the vehicle's route across a CCTV network.
A vendor-neutral video analytics system built for the Gujarat Police Hackathon Innovation Challenge 2026. It reads number plates, re-identifies vehicles by appearance across cameras, reconstructs routes, and raises watchlist alerts for an operator to confirm.
Operator console (web) · API
04Client work
Options trading platform
Microsecond market-data handling for index options, with risk checks that never sleep.
A private trading platform for index options on an Indian exchange: tick capture, research and backtesting, paper and live execution, and a control dashboard. Built for a client's internal use; details are anonymized.
Trading engine · Realtime gateway · Web dashboard
Questions
FastAPI questions we get asked.
Is FastAPI ready for production?
Yes. We run four FastAPI systems: an AI learning platform with web and mobile clients, an analytics product with a sync engine, a video analytics system, and the realtime gateway of a trading platform. What decides whether it holds up in production is the design around it: queues, timeouts, retries, and tests.
FastAPI or Django for our product?
FastAPI when the backend is mostly an API for web and mobile clients, an AI service, or something realtime. Django when the product leans on an admin, complex permissions, and many related tables. Some products use both: Django for the core records, FastAPI for the AI or streaming service.
Can you take over our existing FastAPI codebase?
Yes. We start with a short audit of the structure, the tests, and the deployment, fix what is on fire, and then ship features. You get a written list of what we found before we change anything.
How do you handle background jobs in FastAPI?
Not inside the request. Long work goes to a queue on Redis or Postgres with workers, retries, and locks. Pullsy's sync engine and SigmaCPM's job queue are both built this way.
Where do you deploy FastAPI?
In your cloud account. Usually a container on Google Cloud Run, Railway, or AWS, with Postgres and Redis managed by the provider. You keep the credentials.
FastAPI development
Bring the repo, or the idea.
A free 30-minute architecture review of your FastAPI backend, or of the one you are about to build. You leave with what we would change first.


