NBS logo
Software Development

Web applications built to be handed over.

SaaS platforms, customer portals, dashboards, and the internal tools that replace a spreadsheet nobody trusts. Built in working slices you can use as they land, not revealed at the end and hoped for.

A React application open in a code editor

Most failed builds were visible for months before anyone said so.

The pattern is familiar. A long discovery phase produces a big document. Development disappears for a quarter. What comes back is technically what was written down and not what anyone wanted, and the budget for finding that out is already spent.

It usually is not incompetence. It is that requirements written in month one describe a business that no longer exists in month five, and nothing in the process was designed to notice.

We build in vertical slices instead: one complete, usable piece of the product at a time, in your hands early enough that changing direction is cheap. You are never more than two weeks from something you can click.

How we build

A working slice every two weeks

Each cycle ends with something deployed you can actually use, not a status update, not a demo environment that quietly diverges from reality.

A stack chosen for hireability

TypeScript, React, Next.js, Postgres. Deliberately mainstream, because the point at which our choices matter most is the day you hire someone else to work on it.

Your repository from day one

Code lives in your GitHub organisation from the first commit, not delivered as a zip at the end. You can have anyone audit it at any point.

AI where it earns its place

Search, extraction, drafting, and summarising, built in as features when they genuinely improve the product. We are equally happy to tell you your product does not need AI.

Tests around the things that would hurt

Auth, billing, permissions, and data integrity get real coverage. We do not chase a coverage percentage for its own sake.

Documentation aimed at your next developer

Architecture decisions, environment setup, and deployment written down, so the person who inherits this is not reverse-engineering it.

What we build with

Boring on purpose. Every choice here is one you can hire for.

Frontend

  • TypeScript
  • React
  • Next.js
  • Tailwind CSS

Backend

  • Node.js
  • Postgres
  • Prisma
  • REST & tRPC

Infrastructure

  • Vercel
  • Firebase
  • AWS
  • GitHub Actions

AI

  • Anthropic API (Claude)
  • Vector search
  • Retrieval over your own data

Everything handed over.

Listed explicitly so there is no argument later about what was in scope.

  • Production web application deployed to your infrastructure
  • Full source code in your Git organisation
  • CI/CD pipeline with automated checks
  • Automated tests across authentication, billing, and permissions
  • Architecture and setup documentation
  • Handover sessions for your team or your next developer
  • 30 days of post-launch bug fixes at no charge
Honest scope

Is this right for you?

We would rather lose the enquiry than take on work we are the wrong people for.

A good fit if…

  • You have a defined problem and can name who the software is for
  • Someone on your side can make decisions within a couple of days
  • You want to own the code and the ability to hire around it
  • The product benefits from being in real users' hands early

Not for…

  • Fixed-scope, fixed-price builds against a locked specification. We do not work that way, and when we have, the client got worse software
  • Projects needing a formal compliance certification we cannot provide. We build to the requirement, we do not certify
  • Anyone wanting the cheapest possible build; we are mid-market and there are cheaper options that are genuinely fine for simple sites
  • Rescuing a large legacy codebase we did not write, unless the goal is a planned rewrite
Ways to start

Pick an entry point.

Larger engagements vary enough that a headline number would mislead, so those are quoted after a free call. We always tell you what drives the number.

Product Discovery

Getting to a real scope, estimate, and plan before committing to a build.

Quoted

Priced on the size of the product

2 weeks

  • Requirements and user-flow workshops
  • Clickable prototype of the core journey
  • Technical architecture plan
  • Costed, phased delivery plan
  • Implementation
Most popular

Application Build

Taking a defined product to production.

Quoted

Priced after discovery, when the scope is real

3-6 months typical

  • Two-week delivery cycles with a usable slice each time
  • Full application build and deployment
  • CI/CD, tests, and documentation
  • Handover and 30 days of post-launch fixes

Continued Development

Ongoing feature work after launch without re-contracting each time.

Quoted

Monthly, priced on the share of the team you reserve

Rolling monthly

  • A reserved share of the team each month
  • Feature development and maintenance
  • Dependency and security updates
  • Monthly planning and review

Questions, answered.

Who owns the code?

You do, from the first commit. We work in your GitHub organisation rather than delivering a handover at the end, so there is never a moment where your product exists only on our machines. That includes infrastructure configuration and deployment pipelines.

Why won't you quote a fixed price for a fixed scope?

Because it makes the software worse. A locked specification means every discovery made during the build becomes a change request to argue about instead of an improvement to make, and both sides start optimising for the contract rather than the product. We scope tightly through discovery, publish honest ranges, and work in two-week slices so you can stop or redirect at any boundary.

Can you work with our existing developers?

Yes, and it is common. We can take a defined workstream alongside your team, do the parts you lack capacity or specialism for, or lead architecture while your engineers build. We use your conventions and review process rather than importing ours.

What happens after launch?

Thirty days of bug fixes are included at no charge. After that you can move to a Continued Development retainer, engage us for occasional work, or take it fully in-house. The documentation and handover sessions are designed to make that last option genuinely viable rather than nominally.

Start with a free conversation.

Thirty minutes, no pitch. We will tell you what we would do, what it would take, and whether you need us at all.