ServicesSaaS Development

Subscription softwarebuilt for yourcustomers.

We build online products where customers can sign up, pay for access and manage their own accounts. We plan the user experience, payments and permissions around the service you want to offer.

How it works

How a SaaS product is put together.

Data, access, billing and release, one layer at a time. Click a step to jump to it, or switch the plan in step three to watch a payment turn a subscription Active.

Step 1 of 4

1 · Model

Tenantsid, name, planUsersorg, rolePlansname, seatsInvoicesorg, statusmanyonemany

2 · Secure

RoleBillingInviteView
Owner
Admin
Member

3 · Bill

Starter: up to 5 seats

Stripewebhook

SubscriptionPending

4 · Ship and grow

Deploy to VercelWaiting
  • Signups0
  • Active orgs0
  • MRR£—

Sample data for illustration.

Model. Tenants, users, plans and invoices are designed together, so every customer organisation only ever sees its own data.

Who it is for

Is this for you?

  • Founders turning a spreadsheet-based service into a product other companies can sign up for.
  • Businesses adding a customer-facing software product alongside an existing service.
  • Product teams whose first prototype has hit the limits of how it stores users and data.

What we build

What this covers.

  • Accounts, teams and roles

    Sign-up, invitations and permissions with Clerk, so each customer organisation only sees its own data.

  • Subscription billing

    Stripe plans, trials, invoices and webhooks, with usage and plan limits enforced in the product itself.

  • A data model that holds up

    Tenant-aware tables in Supabase or documents in Convex, with access rules checked on the server.

  • Onboarding and emails

    First-run set-up flows and transactional email through Resend, such as invites, receipts and reminders.

  • An admin view for you

    A back-office screen to see accounts, change plans and support customers without touching the database.

How we work

Four steps, no surprises.

  1. 1

    Define the first release

    We agree the smallest version that is worth paying for and what can wait until real customers ask for it.

  2. 2

    Model tenants and billing

    We design accounts, roles, plans and data together before any screens, because these are the hardest things to change later.

  3. 3

    Build and test with real flows

    We build in short cycles and run sign-up, upgrade and cancel journeys end to end in Stripe's test mode.

  4. 4

    Launch and iterate

    We release to early customers, watch what they do and plan the next release from that.

Related work

Recent projects.

Each project is labelled Live, Demo or Coming soon, so you can see what is in use today and what is on its way.

Stack

Tools we use for this.

  • Next.js
  • Clerk
  • Convex
  • Supabase
  • Stripe
  • Resend
  • Vercel
  • HubSpot

FAQ

Questions we get asked.

What does multi-tenant mean?

It means many customer organisations use one running copy of the product, each with its own private data. Getting this right early is what keeps one customer from ever seeing another's information.

Should we start with a minimum viable product?

Usually yes. A focused first release gets you real feedback sooner and costs less than a full platform. We help you choose what goes in and design it so later features slot in cleanly.

Do you handle payments and VAT?

We integrate Stripe for plans, invoices and webhooks, and can connect it to Xero or QuickBooks. Tax treatment is a decision for your accountant, and we build the product to support what they advise.

Can you take over an existing product?

Yes. We start with a short review of the code, data model and hosting, then tell you plainly what to keep, fix or rebuild. The cost depends on scope and what we find.

Let's talk about what you need.

Tell us your business requirements, and we'll come back with a plan to deliver.