We ship the product, and then we are the ones who have to run it.
Web applications, marketing sites, mobile apps, SaaS platforms and the APIs underneath them, for founders and for teams inside legal, insurance, healthcare and financial services. Outbrew and Savidhi are ours: we built them, we run them, and when one of them breaks at three in the morning the pager is ours. That is a different relationship to a codebase than shipping it and invoicing.
Scoped projects from $18,000. Vertical management systems from $35,000. Operate and improve from $6,000 a month.
A demo is one layer. A product is four.
The three underneath the interface are where a project either becomes maintainable or becomes somebody else's problem, and they are the three a prototype skips. This is the shape of what we hand over, in the order you would meet it.
Interface
What the user touchesNext.js App Router on React 19, server components by default, TypeScript strict from the first file. Keyboard order, focus management and contrast are build output rather than a retrofit, because the European Accessibility Act has been enforceable since 28 June 2025 and it applies to any business serving EU consumers wherever it is registered.
Application
Where the rules liveNestJS on the Fastify adapter. One module per feature, added or removed with a single line, communicating by events rather than by importing each other's services. That constraint is unglamorous and it is the reason a feature can be deleted a year later without an archaeology exercise.
Data
What survives a redeployPostgreSQL with Prisma, migrations that run in CI rather than by hand on a Friday, and pgvector in the same database when retrieval is part of the product. One system to back up, one to restore, and no second store quietly drifting out of sync with the first.
Operations
How it stays upDocker Compose under Coolify, an admin surface generated from the schema and put behind auth, every mutation audit-logged, and a restore rehearsed at least once before handover. A backup nobody has restored is a belief, not a backup.
All four are in the handover: repository, pipeline, environment variables, admin credentials and a runbook, walked through with whoever will hold them afterwards. The layers above are also why we quote a range rather than a number before seeing the requirements.
Five shapes of work, and each one is a different project.
A marketing site and a claims platform share almost nothing except the language they are written in, so they are priced, scoped and staffed differently. If your problem is not one of these, we will say so on the first call rather than three invoices in.
Web applications
The product itself: accounts, roles, permissions, billing, state, and the boring paths that decide whether it survives contact with real users. Rendered on the server where that matters for speed and for search, with client state only where the interaction earns it.
Marketing and content sites
The site a buyer reads before they agree to talk to you. Content architecture, structured data, image and font budgets, and Core Web Vitals treated as a requirement the build has to meet rather than a report somebody reads afterwards.
Mobile applications
React Native where one codebase is the correct trade, native where it is not. Store submission, release channels, crash reporting and the over-the-air update path all set up before the first release, because adding them to a shipped app is the expensive order.
SaaS and vertical management systems
The system of record for one regulated workflow, with retrieval and grounding native rather than bolted on: matter management for a law firm, claims intelligence for an insurer, or a compliance evidence workspace. Floor $35,000.
API and data platform work
The layer other systems depend on. Versioned contracts, idempotent writes, pagination that survives a large table, rate limits, webhook delivery with retries, and an audit trail, so an integration partner never has to guess what happened.
Where the product needs retrieval, agents or an evaluation gate, that work is described on the AI engineering page, and the two are usually one engagement rather than two.
Three products, and no numbers next to two of them.
Outbrew and Savidhi are ours. We built them, we run them, and they are in production today. We publish no usage figures for either, because we do not have numbers we would defend in front of a buyer, and the admission is worth more than an invented one. CourtNetra is the third, it is instrumented, and it is where every figure we do quote comes from.
- AI cold email and outreach · ours, live
Outbrew
Sequencing, message generation and delivery. It is also the product that taught us how quickly a generative feature embarrasses its owner when nothing constrains what it is willing to say.
- Booking and scheduling · ours, live
Savidhi
Booking for temple services and consultations. Most of the value in it is ordinary software correctness: state machines, payments, idempotency, and the paths nobody puts in a demo.
- Legal retrieval · ours, live
CourtNetra
Retrieval and question-answering across 18,863,754 judgments, with a hallucination gate that fails the build in CI. This is the one with figures attached, because this is the one we instrumented.
No client is named anywhere on this site, no logo is shown and no testimonial is quoted, because none of that has been given to us in writing. What we show instead is our own work, where the permission question does not arise. All three case studies.
Four commitments that apply to every project on this page.
These are the ones worth writing down, because each of them costs something in the moment and pays later. A firm that only lists what it is good at has not told you anything you can check.
Performance is a budget agreed at the start
A weight limit for JavaScript, images and fonts, set before the first component and checked on every build. Performance treated as a report you read after launch is a report that arrives when the fix is a rewrite.
Accessibility is a constraint, not a phase
Keyboard path, focus order, labels bound to their inputs, errors announced, and contrast checked against the rendered tokens rather than against the palette. A separate accessible version does not satisfy the EAA, so there is only ever one version.
The stack is deliberately boring
Next.js, NestJS, PostgreSQL, Prisma, Docker. Every one of them is something your next engineer has already used and can hire for. The interesting decisions belong in your domain, not in the framework choice.
You get the keys
Repository, deploy pipeline, environment variables, admin credentials, runbook, and a walkthrough with whoever will hold it. A build only its author can deploy has not been delivered, whatever the invoice says.
Two published numbers, and the reason the rest are ranges.
A fixed figure quoted before anyone has read the requirements is a guess wearing a suit, and it gets corrected later at the client's expense. So the floors are published and the ranges are honest, and the first call establishes fit rather than order of magnitude.
Vertical management system
The system of record for one regulated workflow, with retrieval and grounding native rather than added afterwards. Matter management, claims intelligence, or a compliance evidence workspace. Priced by the number of workflows it has to own and by how much of the existing estate it has to integrate with.
Operate and improve
For a system already in production, ours or somebody else's. Optional after every build we do, and the reason it is optional is that the handover is complete enough for you to decline it.
- Monitoring and alerting that reaches a person, with an agreed response window.
- Dependency and security updates applied on a schedule rather than after an incident.
- Evaluation regression runs where the product has a model in it, pinned to the model version.
- Cost review: model routing, cache behavior, query plans, and the invoice that follows from all three.
- Small changes inside the month, so a two-hour fix does not need a statement of work.
- A quarterly written report on what changed, what broke, and what we would do next.
Web applications, marketing sites, mobile apps and API work are scoped the same way and start at the same place: no scoped project here begins below $18,000. Prices exclude VAT, and EU businesses with a valid VAT ID are invoiced under the reverse charge. Every published figure is also on the services and pricing page in USD, EUR, GBP and SGD.
Four things we say no to, including one that costs us money.
Excluded scope tells you more about a firm than included scope, because anyone can list capabilities and only somebody who has done the work knows where it goes wrong.
We do not build a general CRM or CMS
HubSpot, Salesforce, Notion and Payload hold that ground with hundreds of engineer-years and free tiers. Building you a worse one is an expensive way for both of us to lose. Vertical systems for one regulated workflow are a different question, and that one we say yes to.
We do not hand over a system we could not operate
If we would not be willing to take the pager for it, it is not finished. That test has held up more than one handover date, and it is the reason the retainer below is an option rather than a necessity.
We do not ship a design that fails on a keyboard
Not as a principle we hold in general, as a gate on the actual build. A control reachable only by pointer goes back before release, including when the design is the client's and the deadline is close.
MetaMinds holds neither SOC 2 nor ISO/IEC 42001
Said here rather than left to be found in diligence. Our full posture, including where data lives and what we will sign, is on the security page with the gaps still in it.
Including the gaps, which are still listed on it.
You are already looking at a build of ours.
This page is server-rendered, ships no animation library, and the motion on it is bound to scroll position by CSS rather than driven by a script on the main thread. Turn JavaScript off and every word stays where it is. Ask the operating system for reduced motion and it stops moving instead of moving less. That is the same standard we hold a client build to, and it is easier to demonstrate here than to promise on a call.
Describe the product in two sentences and what it has to be right about.
That is enough for us to say whether this is a $20,000 project or a $120,000 one, and whether we are the right firm for it. Thirty minutes with the engineer who would build it, no deck in between.
Scoped projects from $18,000 · Retainer from $6,000 a month · Typical reply within one business day