Skip to main content
Fugen Services logo

Software Engineering

Build the product, not the platform you will have to rebuild

Almost every SaaS rewrite we are called into has the same cause: the first version was built as a single-customer application, and multi-tenancy was added later. Retrofitting tenant isolation into a schema that never had it is one of the most expensive pieces of work in software, and it is entirely avoidable in week one.

Indicative

MVP from £22,000

Fixed price agreed in writing before any build starts.

Get a quote+44 7488 265083

The problem this solves

The pressure to ship an MVP fast is real and mostly correct — but a handful of decisions are genuinely hard to reverse. How tenants are isolated, how subscriptions and entitlements are modelled, and how permissions work. Get those wrong and every feature afterwards is slower to build.

What you get

Tenant isolation from the first migration

Enforced at the query layer, not left to each developer remembering a where clause. One tenant seeing another’s data is the incident a SaaS business does not recover from.

Subscription billing that reconciles

Stripe integration handling trials, upgrades, mid-cycle proration, dunning and failed payments — driven by webhooks so your database and Stripe cannot disagree about who is a paying customer.

Entitlements separated from plans

Features gated on capabilities rather than on a plan name, so adding a tier or grandfathering a customer is configuration instead of a code change.

Organisations, roles and invitations

Team accounts with invitation flows, role-based permissions and ownership transfer. Retrofitting teams onto single-user accounts is its own painful migration.

Onboarding that reaches first value

The signup path designed around the moment the product becomes useful, with sample data where an empty state would otherwise stall a new user. This is where trial conversion is won.

Product analytics from day one

Activation, feature usage and churn signals instrumented before launch, so roadmap decisions come from behaviour rather than from the loudest customer.

How we work

  1. Scope the MVP honestly

    What must exist for someone to pay, and what can wait. Cutting scope here is the highest-value work in the project.

  2. Design the hard parts

    Tenancy model, billing and permissions decided and documented before feature work starts.

  3. Build in two-week increments

    Working software on a staging URL you can use, every fortnight.

  4. Billing and onboarding

    End-to-end signup, payment and cancellation, tested with real Stripe test cards.

  5. Private beta

    A small group of real users before public launch, with feedback going into the backlog.

  6. Launch and iterate

    Monitoring, analytics review, and a prioritised backlog from actual usage.

What you should expect

  • Tenant isolation enforced by the data layer, not by convention
  • Billing state that always matches Stripe
  • New pricing tiers added as configuration
  • A launch with activation and churn already measurable

Built with

  • Next.js
  • TypeScript
  • React
  • Node.js
  • Laravel
  • PostgreSQL
  • Prisma
  • Redis
  • Stripe
  • AWS
  • Vercel
  • Docker
  • Playwright

Mainstream, well-supported technology — chosen so you can hire for it and so another team could take the project over.

SaaS Product Development — your questions

Including the ones about cost, which most agencies leave off the page.

A genuine MVP — authentication, the core workflow, billing and onboarding — typically runs £22,000 to £45,000 over three to five months. Below roughly £20,000 you are building a prototype rather than something you can charge for, and we would rather say that than take the work and disappoint you.

An MVP, almost always — but an MVP means a narrow product built properly, not a broad product built badly. Cut features, never cut tenancy, billing correctness or security, because those are the parts that force a rewrite rather than an iteration.

A shared schema with a tenant identifier on every row and isolation enforced in the data-access layer, which suits the large majority of B2B SaaS. Where a customer contractually requires physical separation we use a database per tenant, but that decision has real operational cost and needs a reason.

Entirely, from the first commit, in your own repository. That is not negotiable from our side — a SaaS business whose codebase is held by its agency is not really a business.

Most clients move onto a monthly retainer for iteration and support, but you are not locked into one. The handover includes architecture documentation and a runbook specifically so another team could pick it up, which is the only honest test of whether the handover was real.

Yes, and it is a large part of what we do. We start with a paid audit — architecture, tenancy, security, test coverage and the actual state of the billing integration — and give you a written picture with a prioritised plan before anyone commits to a rewrite.

Talk to someone who has built this before

A short call is usually enough to tell you whether this is the right service for your situation — including when it is not.