Backend and APIs
Backends and APIs in NestJS, with the databases and queues behind them.
Backends and APIs in NestJS, with the databases and message queues behind them: the part of your product that keeps the data, applies the rules and connects your apps to other systems.
Who it is for
Startups and product teams that need a documented backend for a mobile or web app, or whose no-code tool or first prototype has reached its limits. Growing businesses whose staff type the same order into two systems, and who want their point of sale, accounting or ERP, payment gateway and apps to work from the same data.
If you only need a contact form or a blog, a hosted backend service or a content management system costs less than a custom backend. We will say so on the call.
What we build
- APIs for your mobile and web apps. Sign-in, roles, permissions and your business rules in one place, so your apps read the same data and apply the same rules. When you serve several companies or branches, we design it so that each one sees only its own data.
- Real-time tracking and dispatch. Live locations and trip or order status pushed over WebSockets, matching to the nearest available driver, and a trip state that catches up when a driver’s phone reconnects after losing signal.
- Order and payment flows. Orders that pass between customers, merchants and couriers, and balance and payout records, with database transactions and row locks built so that an order goes to one courier, even when two tap at the same moment.
- Connections between your systems. Links to payment gateways, SMS and messaging providers, and the ERP or accounting software, if you already use one, through background queues that retry when the other side is down.
How we build it
NestJS, in TypeScript, is our default for products and marketplaces, so your web app and backend can share one language. We can also work in Go, or in Spring Boot where your company already runs on the JVM. Where a project needs it, we can write Rust too.
PostgreSQL is our usual database, with PostGIS for location queries, and Redis handles caching, locks and live updates. We work with MySQL and MongoDB when you already have them. We use BullMQ or RabbitMQ for background jobs, REST with OpenAPI documentation for APIs and WebSockets for live data, and, on request, Kafka, NATS, gRPC or GraphQL.
Sign-in uses short-lived tokens, and the server checks on each request that the caller may see the record. Before launch we check the API against the OWASP API Security Top 10, a well-known list of the most common API weaknesses, such as one customer reading another’s data.
We agree performance targets with you per project, then load-test the main endpoints in staging with k6 before launch. Logs, health checks, error tracking and dashboards show errors and slow requests as they happen, for us to watch on a support plan, or for your team to run.
We can deploy into your own cloud account, in a region you choose from those the provider offers. At handover, once the final payment is made, you receive the code, the database migrations, the deployment scripts and the API documentation.
Timeline and cost
Time and cost depend mostly on:
- the systems you connect: a modern, documented API is quick; an older ERP, a banking interface or a government system needs more field mapping and testing
- real-time work and background jobs: live locations, locks and workflows with several steps
- moving data from an old system: cleaning and migrating records while the business keeps running
- audit and data-location needs: encrypted fields, append-only ledgers, hosting in a particular country
- availability: one server, or several servers with database replicas
After the free call, you get a written scope with the timeline and the price, before you pay any deposit.