Get the schema right and most of the hard problems disappear.
Almost every expensive bug I have been hired to fix traces back to a data model that was decided quickly and then defended for two years. The schema is the cheapest thing to change on day one and the most expensive on day four hundred.
Why people get in touch
The model does not match the domain
The shape was inferred from the first screen anyone designed. Every feature since has been a workaround, and the workarounds are now the system.
Integrations that disagree
Several sources describing the same thing differently, and no canonical version. Every consumer downstream re-implements the reconciliation slightly differently.
Contracts that drift
The API returns something the client did not expect. Nobody noticed until a user did, because nothing enforced the agreement.
What the work includes
Schema design
Modelled on the domain as it actually behaves, including the awkward cases.
Typed contracts
One definition shared by client and server, so drift becomes a build error.
Third-party integration
Normalised at the boundary, so nothing downstream knows which source it came from.
Migrations
Reversible, tested against production-shaped data, run without downtime.
Documentation
Written for the engineer who joins after I leave.
Typical stack
API
- tRPC
- REST
- GraphQL
- Zod
Data
- PostgreSQL
- Prisma
- Redis
- Event streams
Runtime
- Node
- TypeScript
- Background workers
Quality
- Contract tests
- Migration testing
- Observability
How it goes
A call, not a pitch
Thirty minutes on what you are actually trying to ship. If I am not the right person, I will say so and usually know who is.
A written scope
Before any money moves, you get the outcome, the approach, the price, and what is explicitly out of scope. No hourly surprises.
Work in the open
Branches you can read, demos over status reports, and a written update every day. You always know where things stand.
A clean handover
Documentation, tests, and a walkthrough with your team. The goal is that you do not need me afterwards.
Questions
Not sure if this is what you need?
Thirty minutes, no pitch. If it turns out you need something else — or someone else — I’ll say so.
Book a call