Your mobile app and your web app each talk to a slightly different version of the API.
Backend
Backends that still work at the traffic you are planning for.
APIs, databases, queues, service boundaries. We split a service when that buys you independent deploys or scaling, and leave it whole when the split would only buy you more network calls.
- commit
- CI
- migration
- deploy
- production
- real load
The stage where your architecture decisions get their real test.
Common situations
If none of these match your situation, a free consultation is the fastest way to assess your app.
One slow query takes down the whole product and nobody knows which query.
The system was split into six services and one feature now touches four of them.
Deploys are manual and one person is allowed to do them.
What we build
Scope is agreed in writing before any code is written. If something outside the scope becomes a priority, we agree the change openly rather than adding charges later.
- API design
- One typed, versioned contract shared by every client. Types are generated from the source rather than maintained in a document that becomes outdated within a week.
- Data layer
- Schema, indexes, constraints and migrations, with production queries tested against a realistic data volume rather than a dozen seed rows.
- Service boundaries
- Services are separated where this enables independent deployment or scaling. They stay together where a split would only add network calls, distributed transactions and four repositories to change for one feature.
- Asynchronous processing
- Queues, retries with backoff, idempotency, dead-letter queues and scheduled jobs that report failures instead of stopping silently.
- Tests
- Integration tests against a real database instead of a mock, contract tests that keep every client consistent with the API, and load tests on the endpoints that will receive real traffic. We use AI to generate the inputs real callers eventually send: out-of-range values, concurrent writes, retries that arrive after a timeout. All tests run in CI.
- Operations
- CI, environments, secrets kept out of the repository, migrations that run safely under load, structured logs, metrics and alerts that fire only on real problems.
- Handover
- Runbook, architecture notes and the reasoning behind each service boundary, so future changes are based on documented decisions.
Price
Priced after a code review.
Backend work varies too much for one number on a page. The usual first step is the audit, up to $1,800, with the fix list in your hands in two working days. Whatever follows gets a fixed price before it starts.
Our own products are already in use: Mira on the iOS App Store and ariex.fit in public beta. Client case studies are not yet published, and we do not claim that any exist under NDA.
Backend
Scoped after consultation
APIs, data, queues and service boundaries that justify their cost.
Book a free consultationFrequently asked questions
If your question is not answered here, ask it during a free consultation.
Why is there no fixed price on this page?
Because the work runs from one endpoint to a rebuild of the data model, and one number cannot honestly cover both. The audit, up to $1,800, gives both of us something real to price against within two working days. What follows gets a fixed price.
Should we use microservices?
Usually not this early. A split earns its cost when parts of the system need separate deploys or separate scaling, or when separate teams own them. Otherwise you are buying network calls, distributed transactions and a longer road to production. We will tell you which one you are looking at.
Can you work with our existing backend?
Yes, including systems we would have designed differently. The audit comes first, so the plan is based on what is actually running rather than on the architecture diagram.
Do you run database migrations on live systems?
Yes. Where it is possible we use expand-and-contract instead of a maintenance window, and every migration has a way back. If one cannot be reversed, you know that before it runs.
Which language and framework do you use?
Usually TypeScript with NestJS or Hono on Postgres. If your team is already fast in another stack, staying there beats a rewrite, and that is what we will tell you.
Free consultation · 20 minutes
Find out what your app needs next.
Share your repository, the rejection notice or your idea. In 20 minutes we'll tell you what to do next: targeted fixes, a rebuild, or not going ahead at all.
Prefer email? [email protected]