Cube of spheres, the studio mark

12 years building custom software

Internal tools for work that does not fit a template

Accounts, roles, data and money moving between them — the kind of system a spreadsheet used to hold together, and the kind a drag-and-drop tool builder gives up on. We have built two of them and you can open both right now.

See our work
Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//Web Development//
Sound familiar

The spreadsheet stopped being funny about a year ago

  • “The real system is a spreadsheet, and only one person fully understands it.”

    It works right up until that person is ill, leaves, or is simply busy. The knowledge is not written down anywhere — it is in a person, and people are not backed up.

  • “We bought the software everyone recommends. We spend half our time working around it.”

    Off-the-shelf assumes your process looks like everyone else’s. When it does not, you pay twice: for the licence, and for the hours spent making reality fit it.

  • “Every question from a client takes twenty minutes and three people to answer.”

    The data exists, it is just scattered across mail, chat and someone’s notes. That twenty minutes is the cost of not having one place where the answer lives.

  • “We asked a studio for an estimate and got a number with no reasoning behind it.”

    A number without assumptions is not an estimate, it is a hope. It moves the moment work starts, and the argument about why is the project.

The first version

A working system in eight weeks, not a document about one

from $16,000
Fixed for the scope we agree before we start. Entry pricing while we are new to your market — it buys you a lower number, not a smaller team.
Eight weeks
From the first call to something your people use on real work, not a demo.

What you get

  • One journey your business actually runs on, end to end — not a shell with menus
  • Accounts, roles and permissions, because who may see what is never an afterthought
  • An admin panel your team edits themselves, without calling us
  • The integrations that journey needs: payments, mail, whatever already holds your data
  • Deployment set up so a release is a push, not an evening
  • Tests on the paths that carry money, running on every push
  • The repository, the domain and the servers in your accounts from day one

What is not included

  • A rebuild of everything you have — the first version is one journey, deliberately
  • A mobile app. Different service, different quote, and often not needed yet
  • Migrating ten years of history from the old system in week one
  • Design as a separate deliverable: you get an interface, not a folder of mockups
  • Content and copy for the public site
4 months
from kickoff to a marketplace with money moving through it
81
data models in the platform we run, not a form over a table
2,053
automated checks standing over it
What the first version holds

What goes in the first eight weeks, and what deliberately waits

The hardest part of a first version is not building it, it is deciding what it does not do yet. Custom web application development lives or dies on that line: one journey that carries real work, everything around it staged behind it. The real split comes out of the first week, with you in the room.

Which journeys go into which stage of the work
JourneyFirst eight weeksPhase twoNot us
The one journey your business runs onAn order taken to delivery, a shift closed, a claim settled — whichever one stops the day when it stops.Covered · First eight weeksNot covered · Phase twoNot covered · Not us
Accounts, roles and permissionsWho may see what is a structural decision. Bolting it on later means touching every screen twice.Covered · First eight weeksNot covered · Phase twoNot covered · Not us
Admin panel your team edits themselvesIf changing a price or a text needs us, we have sold you a dependency rather than a system.Covered · First eight weeksNot covered · Phase twoNot covered · Not us
Payments and the money trailOnly when money is part of that first journey. When it is, it is never phase two.Covered · First eight weeksNot covered · Phase twoNot covered · Not us
Reports the business reads on MondayWorth building once real data has accumulated, otherwise you are reporting on invented rows.Not covered · First eight weeksCovered · Phase twoNot covered · Not us
Importing history from the old systemA project of its own. Running both systems side by side for a month is usually cheaper and safer.Not covered · First eight weeksCovered · Phase twoNot covered · Not us
A mobile app for the same productOften the browser is enough for a year. When it is not, that is our mobile service.Not covered · First eight weeksCovered · Phase twoNot covered · Not us
Ongoing content, SEO copy and ad campaignsWe build the machine and the pages it needs. Filling them with marketing is not our trade.Not covered · First eight weeksNot covered · Phase twoCovered · Not us
includednot in this stage

Nothing here is a rule. It is the shape that has worked twice, and the first week is where we argue with it using your numbers.

We build the part that is hard, first

Most projects start with the screens because screens are visible. We start with whatever will be genuinely difficult — the money changing hands, the state machine an order moves through, the rule nobody can state out loud yet. On the operations platform that was made-to-order production: every item is built for one person from measurements a scanner takes, and the system has to hold that thread from the first appointment through manufacturing, delivery and a remake eighteen months later. Twenty-one data models exist because that thread does. If the hard part is left until week six, everything built before it gets rewritten around it.

The platform that thread runs through

An estimate is a number plus the assumptions under it

We do not send a figure on its own. You get the number, the scope it covers, and the list of things we assumed to arrive at it — because that list is where estimates actually go wrong, not the arithmetic. If an assumption turns out false in week two, we say so then, with what it costs, rather than absorbing it quietly and running out of road in week seven. This is also why the price on this page is tied to a named first version rather than to hours: hourly rates get compared line by line and the conversation becomes about the rate instead of the result.

How to brief a studio so the estimate means something

Some shapes of this have their own page and their own price

A two-sided marketplace, a CRM built around your pipeline, a portal your customers log into: each is a web application, and each arrives with a hard part we already know — the money between two strangers, the rules about who may move a deal where, the access that decides who sees whose documents. When your project is one of those shapes, start on its page instead of this one: the scope and the number there are for that shape rather than for web development in general.

What a marketplace costs and why it is twelve weeks

You own it from the first commit, not at handover

The repository is yours, in your organisation. The domain and the servers are in your accounts, paid by you, and we work as invited guests. There is no agency licence, no runtime that stops when the invoice does, and no hosting reseller margin. At the end we walk your developer — or the one you hire next — through the code and the deployment, and leave a runbook written against your system. The test we care about: could another team take this over next month without calling us? If not, we built it wrong.

It ships to a real address every week

From week one there is a staging address you can open. Not a screenshot in a status report, not a demo we drive — a link, on your phone, at any hour. Every push builds and deploys itself, and the tests on the paths that carry money run before it lands. That is what makes the eight weeks checkable rather than a promise: you are not waiting for a reveal, you are watching a thing become itself, and you can stop us in week three if it is going somewhere wrong.

The boring parts decide whether it survives

Backups that have actually been restored once. Errors that reach a person instead of a log nobody opens. A second pair of hands who can deploy. Data you can export in a format another system can read — because the honest test of ownership is whether you could leave us. None of it demos well, all of it is why a system is still standing in year three. It is included, and it is deliberately unglamorous.

And what we do not do

  • We do not start with a discovery phase that produces a document and an invoice. Week one produces a running skeleton.
  • We do not sell seats, licences or a platform of ours that you would rent forever.
  • We do not take projects where nobody on your side can answer domain questions — we would be guessing, expensively.
  • We do not promise a fixed price for a scope nobody can describe yet. We fix the first version and re-quote from real ground.
How it runs

Eight weeks, and something real at the end of each one

No phase that ends in a document. Every week ends in a link you can open — which is also how you find out early whether you want to keep going.

  1. Week 1

    We find the hard part and the first journey

    Two or three sessions with the people who do the work, not only the people who commission it. We come out with the one journey worth building first, the rules nobody had written down, and an honest note on what will be difficult and why.

    You seeThe agreed scope of the first version, and a staging address that already answers.

  2. Weeks 2–3

    The skeleton stands up

    Data model, accounts, roles, and the spine of the journey end to end — ugly but real. This is where assumptions from week one meet the actual product and some of them die.

    You seeYou can log in as your own role and walk the journey, on real data you entered.

  3. Weeks 4–6

    The hard part, then the surface around it

    Money, integrations, the state machine, the rules that only make sense in your trade. Interface work happens alongside, on screens that already do something rather than screens waiting for a backend.

    You seeThe journey works start to finish, including the failures around it.

  4. Week 7

    Your team tries to break it

    Real people, real work, in parallel with the old way. Everything they find gets fixed or triaged in the open, and the tests grow around whatever they broke.

    You seeA list of what they found, and a system that survived a week of actual use.

  5. Week 8

    Handover, and it is yours

    Deployment in your accounts, a walkthrough with whoever will own it, a runbook written against your system, and the admin panel your team already knows because they used it in week seven.

    You seeA system in production, and a developer on your side who has deployed it once.

  6. After

    Phase two, or nothing at all

    If the first version proves the idea, phase two is quoted from real ground instead of guesses. If it proves the idea was wrong, you found out for the price of eight weeks rather than a year — and that is a good outcome, however it feels.

    You seeA decision made on evidence, and a system that runs either way.

What it is usually built on
  • Next.js
  • TypeScript
  • PostgreSQL
  • Payload CMS
  • Docker
  • GitHub Actions
  • Playwright
What you keep

The parts that outlive us

Both screenshots come from this website — same stack, same pipeline, same handover we would run for you. Real output, not a mock-up, and not a client’s system borrowed for a slide.

The CI workflow file of this website, running checks on every push to the main branch

A pipeline that turns a push into a release

Every push runs the checks — linting, types, a full production build — and only a green run gets built into an image and swapped in. Nobody deploys by hand, nobody deploys on a Friday out of bravery, and the file that governs it sits in your repository where anyone can read it.

The workflow file from this site’s own repository.

Terminal output showing the local commit, the container image serving the domain and the site returning 200

And a way to prove what is actually running

The commit on the laptop, the image serving the domain, the site answering — three commands, one answer. When something looks wrong in production the first question is always which version is even live, and on a system built this way that takes ten seconds instead of an afternoon.

Run against swiftandscale.com while this page was being written.

Be honest with yourself

This is worth buying for some businesses and a waste for others

Buy this if

  • The process is yours and genuinely does not fit the software you can buy
  • Someone on your side can answer domain questions properly for a few hours a week
  • You can name one journey that would change the business if it worked
  • You are prepared to run the new system alongside the old one for a few weeks
  • You want to own the result, not rent it

Do not buy this if

  • Off-the-shelf would do the job — we will tell you if we think it would, and that call is free
  • The idea is still moving weekly; build it in a spreadsheet a little longer, it is cheaper
  • You need it in three weeks — eight is what an honest first version takes
  • Nobody internally will own it after handover
  • You want a fixed price for everything up front, before anyone knows what everything is

If that reads like a no, say so on the call. Twice this year the honest answer was "buy the boxed product and spend the difference on people", and both times saying it cost us the project and kept the reputation.

Questions we get about custom web development

Short answers. The long ones happen on the call.

A first working version starts at $16,000 for eight weeks, fixed against a scope we agree before starting. Full systems run further: our operations platform is eight months of work and still growing. The number depends almost entirely on how many journeys have to work on day one, which is why we cut the first version to one.

No, and for a while those tools are the better buy. A drag-and-drop builder puts a form over a database in an afternoon, and if that is all you need, use it. The ceiling arrives when the rules get specific: money held between two parties, a permission that depends on who else touched the record, a device that has to keep working offline. That is where a builder becomes a pile of workarounds, and where we start.

Often, yes, and we will say so. Boxed software is cheaper than anything custom until your process stops matching its assumptions — then you pay in workarounds forever. The question is not whether your business is special; it is whether the part that differs is the part that earns your money. If it is not, buy the box.

Eight weeks to a first version people use on real work. Four to eight months for a full system, depending on how much of the business it has to hold — the marketplace took four, the operations platform is at eight and still building. Anyone promising a full platform in six weeks is describing a demo.

You do, from the first commit. The repository sits in your organisation, the domain and servers are in your accounts, and there is no licence of ours anywhere in it. If you replace us next month, the next team clones the repository and carries on.

By naming the assumptions, not by adding a margin. You get the number, the scope it covers and the list of things we assumed — and when an assumption breaks in week two we say so then, with the cost, instead of absorbing it and running out of road in week seven.

Expected, and cheap early. Every week ends in something you can open, precisely so that changes arrive in week two rather than at a reveal in week eight. Changes that fit the agreed scope we absorb; changes that replace it get priced before we touch them, in writing, and you decide.

You get an interface, not a folder of mockups. We design in the browser against real data, because a screen that looks right with three perfect rows often falls apart with two hundred real ones. If you already have a designer or a brand book, we work to it.

Deployment running in your accounts, an admin panel your team has already been using, a walkthrough with whoever will own the code, and a runbook written against your system rather than a generic one. The measure we hold ourselves to is whether another team could take over without calling us.

Selected work

Both of these started as a first version

Our own products, not client logos on a wall. You can open either demo and use it on sample data — including the parts that usually stay behind a sales call.

Two-sided marketplace app · Creator economy

Marketplaces where the money sits in the middle

A marketplace with two sides, a payment held between them, and an AI studio that bills by the generation. The hard part is never the catalogue — it is deciding, in code, the exact moment money and files change hands.

Four months from kickoff to a marketplace with money genuinely moving through it: 21 data models, deposits held between two sides, an AI studio billed by the generation, and 173 end-to-end tests standing over all of it.

4 months
from kickoff to a working product
173
end-to-end tests, 24 suites
21
data models behind it
Live demo insideRead the case
Creator feed in the marketplace app, with an order button
Made-to-order production platform · Medical manufacturing

Operations platforms where every order is one of one

Made-to-order production has no catalogue and no reorder button. Every item is built for one person from measurements a computer takes off a scan, and the system has to hold that thread from the first appointment through manufacturing, delivery, and the remake eighteen months later.

Made-to-order production end to end: 81 data models, 13 flow families from intake to remake, measurements the system takes itself off a scan, and 2,053 automated checks across its three repositories. Eight months in and still growing — this is what a first version turns into when it works.

8 months
and still building — the largest system we run
13
flow families, from intake to remake
2,053
automated checks across its three repositories
Live demo insideRead the case
Order board in the operations platform, with production stages

Worth reading before you commission anything

All articles →
Web development

When buying software is the smarter answer

Studios rarely tell you not to build. Here is the test we use, and the three situations where the honest advice is to buy a boxed product instead.

2 min read
Web development

Why two studios quote the same project three times apart

You send one brief and get back three very different numbers. The spread is not greed — it is four different readings of the same sentences, and closing it is your job as much as theirs.

2 min read

Talk to us about web development

Tell us what you are building

A person reads it and sends an estimate within 12 hours: a price range, what the first version contains, and what moves the price.