Skip to content
Product engineering

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.

What ships

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.

  1. Interface

    What the user touches

    Next.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.

  2. Application

    Where the rules live

    NestJS 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.

  3. Data

    What survives a redeploy

    PostgreSQL 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.

  4. Operations

    How it stays up

    Docker 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.

What we build

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.

Ours, and live

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.

    Read the technical case study

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.

How we build

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.

What it costs

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.

Scoped build

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.

$35,000floor, typically $50,000 to $140,000
Ongoing

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.
$6,000per month, three-month minimum

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.

Stated plainly

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.

Read our security posture

Including the gaps, which are still listed on it.

The obvious question

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.

Start here

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