appycodes.

Django + DRF APIs that hold up under real field load, not just in a dev container.

The endpoints behind pan-India last-mile delivery for microfinance disbursement and collection. Thousands of agents in the field, real-time, on patchy 4G, and the backend stays boring.

api / v1, production endpoints

Django REST Framework

  • POST/api/v1/agents/{id}/location/field agent
  • POST/api/v1/deliveries/{id}/confirm/field agent
  • GET/api/v1/deliveries/?status=pending&region={r}ops console
  • POST/api/v1/disbursements/{id}/reconcile/settlement worker

Why Django, specifically

Batteries included. Boring on purpose. Hard to break.

Ready backend

You inherit a working backend on day one.

Models, migrations, admin, auth, sessions, CSRF, password reset, permissions, all already there. We write business logic, not the eighty-third re-implementation of user signup.

Throughput when it matters

DRF, Gunicorn and Postgres keep up.

The endpoints under field-load (agent location, delivery confirm) are mostly DB-bound. Tuned indexes, judicious caching, read replicas where they help. Django doesn't get in the way.

Python where it belongs

Data fluency at the backend.

Reconciliation, settlement, route optimisation, partner-API ingestion, all easier to write in Python than in a Node service. Same language as the ML and data team's notebooks.

What you get

Eight engagement shapes.

Each one is concrete work we've shipped repeatedly on Django + DRF, against a real production load profile.

01

Django + DRF API builds

Greenfield Django 5.x with Django REST Framework. Typed serializers, viewsets, throttling, pagination, JWT or Token auth, done in the boring conventional way that ships fast and scales.

02

Real-time field-ops endpoints

Location pings, status updates, delivery confirmations from thousands of mobile clients in the field. Built to absorb burst traffic without burning the database.

03

Background jobs at scale

Celery + Redis for the work that doesn't belong on the request thread: settlement runs, SMS and WhatsApp dispatch, geocoding, route optimisation, reporting exports.

04

Mobile-client-ready APIs

Offline-tolerant, paginated, retry-safe. Designed so a delivery agent's app on patchy 4G doesn't double-charge or lose a confirmation.

05

Legacy Django modernisation

Django 1.x and 2.x codebases upgraded to current LTS. Migrations rebased cleanly, deprecated patterns replaced, test suite restored.

06

Django Admin as the ops console

The free dashboard you already paid for. Customised list views, filters, bulk actions, audit logs. The operations team runs the business from it.

07

Integration surfaces

Razorpay, Stripe, NPCI rails, third-party microfinance partner APIs, SMS gateways. Webhook reliability done with idempotency keys and DLQs.

08

Deployment and ops

Gunicorn behind nginx, Forge, Render or AWS targets, structured logging, Sentry, Postgres tuning. Plus the Celery and beat schedule that no one wants to be on call for.

The Field-Ops Heat Map

What “API under field load” actually looks like.

Request density across a typical week on a pan-India last-mile delivery platform. Peaks during disbursement and collection windows (10:00 to 14:00 and 16:00 to 19:00). Weekends still active, just lower. Your stack has to absorb those peaks without burning the database.

00
06
12
18
Mon
Tue
Wed
Thu
Fri
Sat
Sun
LowHigh

Evidence, pan-India last-mile delivery

Three delivery platforms, the same Django backend pattern, microfinance behind them all.

Last-mile delivery, microfinance

Pennco

Pan-India network of delivery agents serving disbursement and collection runs for major Indian MFIs. Django + DRF backend serving the agent app and the operations console.

Last-mile delivery, microfinance

Vishi

Same playbook, different operator. The Django API absorbs the same field-load shape: burst traffic during disbursement windows, sustained reporting load overnight.

Last-mile delivery, microfinance

Salesco

Third delivery partner on the same architecture. Three operators on one tested backend pattern proves the shape. It isn't a one-off.

The microfinance partners these platforms serve

BFIL&T Financial ServicesGreen LightSpandana SphoortySamasta Microfinance

All five are large Indian microfinance institutions running cash-in and cash-out cycles across thousands of villages. The Django backend behind Pennco, Vishi and Salesco is what turns “thousands of field agents on 4G” into reconciled, auditable, on-time delivery.

Related work

Good fit if

When Django is the right backend

  • Operations platforms with field agents: logistics, delivery, microfinance, surveys, last-mile collection
  • Mobile apps with hundreds to thousands of concurrent users hitting the same endpoints
  • Teams who picked Python for the data and scripting fluency and need the backend to match
  • Legacy Django codebases on EOL versions needing modernisation without a rewrite

Probably not a fit

We'll be honest if Django is the wrong call

  • Marketing or content sites: pick WordPress or Sanity
  • Real-time websocket-heavy apps where Node has a cleaner runtime (we'd just say so)
  • Single-tenant apps with no concurrency or data-volume problem: Django is fine but you're paying for capacity you don't need

Stack we ship on

Django LTS, Postgres, Redis, Celery. Boring on purpose.

Framework
Django 5.x, Django REST Framework, django-filter, drf-spectacular (OpenAPI)
Database
PostgreSQL, MySQL where legacy demands, read replicas where the load demands
Cache + Queue
Redis, Celery workers, Celery beat for scheduled jobs, dead-letter queues
Auth
djangorestframework-simplejwt, session auth where appropriate, OAuth provider where required
Observability
Structured logging, Sentry, Prometheus exporters, slow-query log review
Deploy
Gunicorn + nginx, Forge, Render or AWS, zero-downtime migration pattern

If you need APIs that hold under field load

Bring the agent count and the peak hour. We'll size the backend.

Contact