Skip to content
CipherCruCipherCru

Menu

Web Development

Backend Development

A backend is judged at three in the morning by somebody who did not build it. That is the standard we design to.

Typical duration
Four to twelve months
Team shape
Two to five senior engineers
Starts with
A data model review
Service and data-flow notes worked out on paper beside a laptop

The data model is the decision you cannot take back cheaply

Frameworks get replaced, services get rewritten, and interfaces get redesigned every few years. The shape of the data outlives all of it, and almost every expensive backend problem traces back to a modelling decision made in the first fortnight.

So that is where we start, and where we spend the argument. After that the work is unglamorous and largely about operability: explicit boundaries between services, migrations that can be run backwards, failures that say what failed, and enough instrumentation that the first question after an incident has an answer.

What usually goes wrong, and what we do instead

The pattern is consistent enough that we now check for it before writing anything.

Where backends become hard to operate

  • A schema shaped around the first screen rather than the domain
  • Business logic spread across the API, a job runner and a trigger
  • Migrations that only go forwards, so a bad release cannot be undone
  • Errors that log a stack trace and nothing about the request
  • Integrations retried by hand because nothing is idempotent

How we build it instead

  • The domain modelled first, and the API derived from it
  • One place that owns each rule, with the others reading from it
  • Every migration reversible, and the rollback tested before release
  • Structured logs and traces carrying the request through the system
  • Idempotent writes and explicit retry semantics on every integration

What we build

The parts of a backend that decide whether it can be handed over.

API design

REST or GraphQL with a versioning story, documented from the schema rather than beside it.

Data modelling

A schema shaped around the domain, with reversible migrations and constraints the database enforces.

Service boundaries

Explicit seams between services, so one can be replaced without an archaeology project first.

Jobs and workflows

Long-running and scheduled work that survives a restart and can be replayed after a failure.

Authentication and authorisation

One permission model, enforced at the data layer rather than repeated in every endpoint.

Observability

Structured logs, traces and alerts that point at a cause rather than at a symptom.

What you end up with

Stated from your side rather than ours.

  • A system your team can operate

    Runbooks, dashboards and alerts that name the thing that broke, so an incident does not require the original author.

  • Releases you can undo

    Every migration reversible and every rollback path tested before it ships, so a bad Tuesday stays a bad hour.

  • Integrations that stop paging you

    Idempotent writes and explicit retries mean a partner's outage becomes a delay rather than a data-repair job.

  • A codebase that documents its decisions

    The trade-off, the alternatives and the reason are written down as the work happens, so the next team does not relitigate them.

How the build runs

The same five stages as every engagement, applied to services and data.

Diagnose

The domain, the load it actually carries, and which of today's problems are modelling problems.

Decide

Data model, service boundaries and the consistency guarantees, written down with what each one costs.

Prove

One path through the system end to end in production, including its failure case and its rollback.

Deliver

Services built in slices, each one live and instrumented before the next is scoped.

Hand over

Your team runs it with us watching, then without us.

What we build it with

Chosen for what a system has to survive in operation, not for novelty.

Services

  • Node.js
  • TypeScript
  • Java
  • Spring Boot
  • Python
  • Go

Interfaces

  • REST
  • GraphQL
  • Kafka
  • Temporal

Data

  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Elasticsearch
  • Row-level security

Platform

  • AWS
  • Docker
  • Kubernetes
  • Terraform
  • Datadog
  • Sentry

What you get, and when

Handed over as it is produced, not assembled at the end.

  • A data model with its constraints and its trade-offs
  • Service boundaries and the consistency guarantees at each one
  • A written assessment of what today's schema makes expensive
  • Source in repositories you own
  • Infrastructure as code, in your accounts
  • Reversible migrations with tested rollback paths
  • API documentation generated from the schema
  • Dashboards and alerts, with the runbook each one points to
  • An on-call handover your team wrote with us

Where we have built this

Sectors where the system behind the interface carries the regulatory and operational weight.

A banking hall desk where a laptop shows an account dashboard with a running balance, recent transactions and a monthly activity chart, a phone beside it

Fintech & BFSI

Secure, reliable systems for businesses built on trust.

We build and modernize financial platforms, workflows, integrations, and customer-facing applications where reliability, data integrity, auditability, security, and performance are fundamental to the business.

A clinician talking with a patient at the bedside while a monitor shows that patient's record - vitals, scans and recent reports - with the same case open on a phone

Healthcare

Technology that connects complex care and operational workflows.

We help build digital healthcare platforms, operational workflows, integrations, and data-driven applications designed around reliability, secure information handling, usability, and the realities of interconnected healthcare systems.

An open-plan office with a laptop showing a workforce dashboard - headcount, attendance, leave requests and approvals - and the same modules on a phone

HRMS

Workforce systems built around how organisations actually operate.

We build and improve workforce platforms spanning recruitment, onboarding, employee management, attendance, operational workflows, reporting, and integrations, reducing friction across the employee lifecycle.

A cafe table by an airport window with a laptop open on a travel booking screen showing destinations and dining, a passport, a boarding pass and a phone beside it

Food & Travel

Digital experiences that keep customers and operations moving.

We build customer journeys and operational platforms around ordering, booking, marketplaces, partner integrations, administration, and real-time workflows where experience and operational efficiency need to work together.

Questions about backend work

The ones we are asked most often before a first conversation.

Should we be using microservices?
Usually not yet, and the honest test is organisational rather than technical: services are worth their operational cost when separate teams need to release independently. Before that they mostly convert function calls into network calls you now have to monitor. We would rather build one well-bounded system with explicit seams, so that splitting it later is a decision you can take cheaply when the reason arrives.
Can you work with our existing database?
Yes, and most of our backend work starts that way. The first few weeks are usually a review of what the current schema makes expensive, because that is where the recurring costs are hiding. Where a change is genuinely needed we do it as a reversible migration alongside the running system rather than as a cutover, which is the same approach as our migration and modernization services.
Which language and framework will you use?
If you have an existing system, the one it is already written in — introducing a second runtime is a permanent tax on a team that then has to hire for both. Where the choice is open we work in Node with TypeScript, Java with Spring Boot, Python or Go, and we will tell you which we would pick and why, including the parts of the reasoning that are about who you can hire rather than about benchmarks.
Will this handle our load?
That depends on numbers we do not have yet, so any figure quoted here would be invented. What we do instead is establish the real load in the diagnostic, agree the targets that matter — usually latency at a percentile rather than requests per second — and then test against them before launch rather than after. If the honest answer at that point is that the architecture will not reach the target, we will say so while it is still cheap to change.
Do you run the system for us afterwards?
Not by default, and the engagement is designed so that you do not need us to. Dashboards, alerts and runbooks are built as the services go live, and the last stretch of every engagement is your team taking on-call with us watching. If you would rather we stayed involved in operations, that is a retained engineering arrangement rather than part of the build.
What documentation do we actually get?
API reference generated from the schema, so it cannot drift from the code; the data model and its constraints; the decision record for each significant trade-off; and a runbook for every alert. What you will not get is a large document written in the final week, because that is the kind nobody reads and nobody updates.

Building something that has to stay up?

Tell us what the system has to do and who will operate it. We will tell you what that means for the data model.

Strictly necessaryEssential for the site to function: page navigation, security, session management, and remembering the cookie choices you make here.
Always on
FunctionalRemembers choices you make, such as language, region or display preferences, so the site opens the way you left it.
Performance and analyticsPerformance and analytics cookies show us how the Website is used: which pages are visited, how long is spent on them, where visitors came from, and what errors occur. They are set by Google Analytics and by HubSpot, whose cookies also link the pages you viewed to any enquiry you later send us.
Marketing and targetingTracks browsing activity to measure advertising and show relevant ads. We set none of these today, and will not without your opt-in.