Skip to main content

Python development

Python for the parts of the product that do the real work.

Acasa Labs is a Python development company in Surat, India. We build backends, AI pipelines, and data systems in Python, and five systems on our work page run on it: NoteTube, Pullsy, and Acasa Sentinel on FastAPI, SigmaCPM on Django REST Framework, and a private options trading platform. You own the code and the cloud account.

The problem

Python is easy to start and easy to get wrong at scale.

A Python script that pulls a report or calls a model is a weekend's work. A Python system that runs every day is not. It needs jobs that survive a crashed worker, model calls that do not block the API, records that two workers never write at once, and code another developer can read a year from now. Most of the Python trouble we are asked to fix is not the language. It is a prototype that became the product without anyone deciding it should.

What we build with Python

  1. 01

    APIs and backends

    FastAPI for API-first products and streaming AI services, Django REST Framework when the product leans on records, roles, and an admin. Typed models at the edge, and tests around the risky paths.

  2. 02

    AI and document pipelines

    Retrieval over your documents, extraction with citations, OCR for scanned pages, and a record of what every model call cost. Plain Python around the model SDKs, so it is easy to debug and hand over.

  3. 03

    Computer vision and video

    Detection, tracking, OCR, and embeddings on live video streams, running on your own hardware when the footage is not allowed to leave it.

  4. 04

    Data, sync, and research systems

    Scheduled pulls from third-party APIs with retries and locks, tick and event archives in Parquet queried with DuckDB and Polars, and schedulers that recover crashed jobs.

From production

Python in five systems we built.

  • Jobs in Postgres, not another broker

    SigmaCPM

    SigmaCPM's Django backend runs tender extraction and OCR on a Postgres-backed job queue with leases, orphan reclaim, and skip-locked selection. There is no extra broker to run, and a crashed worker does not lose a job.

  • Inference that stays on the box

    Acasa Sentinel

    Acasa Sentinel's Python pipeline runs YOLOv8 with ByteTrack, plate OCR, and DINOv2 embeddings, and falls back from CUDA to Apple Silicon to CPU with the same code. No footage or number plate is sent to a third-party API.

  • Nothing blocking on the hot path

    Options trading platform

    On a private options trading platform, market-data decode runs on its own thread and is handed to the engine loop thread-safely. Order logic is kept free of engine imports, so it can be ported to Rust on its own.

  • Third-party APIs that fail politely

    Pullsy

    Pullsy maps Meta's error codes to backoff with jitter, capped at 30 minutes, and treats re-authorization as its own state, so an expired token is handled as an expired token and not as an outage.

  • One Python service owns the model

    NoteTube

    NoteTube's AI runs in a separate FastAPI service. The Next.js web app and the Expo mobile app call it and never see a model key, and students can switch between five model providers per conversation.

Honest trade-offs

When Python is not the right language

If a hot path needs microseconds, the core belongs in a compiled language. The trading platform is built on a Rust-core event engine with Python around it. If the backend is mostly jobs and integrations next to a Next.js app, and your team writes TypeScript, Node can be easier to own: Kraftr's seven job queues run on Node with BullMQ. And on a phone, Python is the backend, not the app. We will tell you which fits before any code is written.

What we reach for

  • Python 3, Pydantic
  • FastAPI, Django REST Framework
  • SQLAlchemy, Alembic
  • Postgres, pgvector, Redis
  • YOLOv8, ONNX, DINOv2
  • Polars, DuckDB, Parquet
  • pytest

Proof

Shipped, not pitched.

  1. 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

  2. 02Our product

    SigmaCPM

    Construction project management where AI reads the tender and shows its work.

    One project record for civil contractors, from tender to closeout: bids, contracts, RFIs, vendor quotes, and drawings. The AI pulls line items and bond terms out of tender PDFs and cites the page for every value.

    Web · API · Chrome extension

  3. 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

  4. 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

  5. 05Our 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

Questions

Python questions we get asked.

What do you build in Python?

Backends and APIs, AI and retrieval pipelines, document extraction, computer vision, and data systems. Our Python runs in an AI learning platform, an analytics product, a construction platform, a video analytics system, and a trading platform.

FastAPI, Django, or Flask?

FastAPI for API-first and streaming services. Django when the product needs an admin, roles, and many related tables. We rarely start a new product on Flask, but we can take over a Flask app and move it when there is a reason to.

Is Python fast enough for our product?

For APIs, AI, and data work, almost always. The slow part is usually the database, the network, or the model, not the language. Where it is not, we move the hot path out, the way the trading platform's engine has a Rust core.

Can you take over our Python codebase?

Yes. We start with a written audit of the structure, dependencies, tests, and deployment, fix what is risky, and then ship features. You see the list before we change anything.

Can we hire a Python developer instead of a project?

Yes. That is a separate engagement, where a developer joins your team with a senior reviewing the work. Our hire Python developers page explains how it runs.

Python development

Python in production, or about to be?

A free 30-minute architecture review of your Python backend or pipeline, or the one you are planning. You leave with what we would change first.

Book a Python review

No pitch deck. You own the code from day one.

contact@acasalabs.com