Build

We build the thing first. Then we talk about it.

AI-powered apps, internal tools and websites. Three of the five things on this page got built before anyone paid us a penny for them.

The rest are in production. One of them gets used every day by an operations director who writes his own automations for it.

  • Working software, in production, used every day by people who aren’t us.
  • Phased, with a fixed scope and a fixed price on each one.
  • You own the code, the accounts, the keys and the data.

On this page

The whole thing in 30 seconds

Watch a proposal turn into working software

What we build

The work splits three ways.

We didn’t plan it that way, it’s just what people keep asking for.

Shape one

Internal tools and ops platforms

The job your team currently does across a spreadsheet, a shared inbox and about four browser tabs. Nobody sells software for it because it’s specific to you, so we build it.

  • Fits how your team already works
  • Sits on top of the software you’re already paying for
  • Built around what the people doing the job actually do all day

Mack. The ReadyLet Lead Desk.

Shape two

AI production systems

Software where a model does real work, and the output has to be good enough to use without someone reading every line. So you need guardrails, a way to see what the model did, and a person signing off anything that leaves the building.

  • Brand and safety rules applied before the model runs
  • You can see every run, step by step
  • Nothing ships without a person approving it

The SUPA Content Engine.

Shape three

Sites and products that generate demand

Public-facing stuff built to get found, to be genuinely useful on its own, and to turn that into enquiries. We build these for clients and we build them for ourselves.

  • Tools that answer the question before they ask for an email
  • Written and built to get found
  • Judged on the enquiries that come out the other end

EPC Guide. Do Gooder.

The work

Five things, with the screens.

Every screenshot here is the real interface. Click any of them to see the whole page. Where a shot’s running on demo data, it says so underneath.

01Built for CMS SurveyorsInternal tools and ops platforms

Mack

An email, ops and business intelligence assistant that runs itself, for a UK surveying and retrofit firm.

CMS Surveyors do survey and retrofit work across the UK. Mack sits behind their operations, reading what comes in, moving the work along, drafting the replies, and answering questions about the business from the business’s own data.

It runs roughly 40 standing automations, and the good bit is who writes them. Their operations director specs the new ones himself, mostly by talking. He describes the job he wants doing and the system builds it.

A DNO application tracker went from a chat on the Friday to a live, working feature by the Monday.

It’s been in production ever since and gets used every day.

Standing automations
Roughly 40
Who writes the new ones
The client, mostly by voice
DNO application tracker
Conversation to live in a weekend
Status
In production, used daily
Mack in 73 seconds, with the sound on.
1 / 6Expand
Everything it did while nobody was watching, line by line, with the time it happened.

These Mack shots run on demo data. Every name, figure and job in them is made up, because the real ones belong to the client. Same goes for the film’s day-to-day scenes, with one exception: the counts at the end are real, read from the live system on 25 August 2026.

02Built for SUPAAI production systems

SUPA Content Engine

A branded content generation platform for a South African grocery delivery app.

SUPA is a grocery delivery app in South Africa. Their brand team needed a steady stream of on-brand posts and didn’t fancy briefing someone every single time.

The engine locks the brand in before anything gets generated. A prompt compiler reads the brand rules and rewrites the request against them. There are four strictness levels, flexible through to strict, so a throwaway social post and something brand-critical aren’t held to the same bar.

Since January it’s generated 1,525 brand-locked images and drafted 587 pieces of content. 134 of those have been approved, scheduled or published by SUPA’s own brand team.

It’s 57,000 lines of TypeScript across 160 merged pull requests.

supa.co.za
Brand-locked images generated
1,525
Content pieces drafted
587
Approved, scheduled or published by SUPA
134
Codebase
57,000 lines of TypeScript, 160 merged PRs
1 / 3Expand
The brand team describes the post in a sentence. The brand rules are already baked in.
03Built for Readylet Property LimitedInternal tools and ops platforms

ReadyLet Lead Desk

A mini CRM wrapped around a 999-row enquiry spreadsheet.

Readylet had 999 enquiries sat in a spreadsheet and no real way to work them. The Lead Desk gives that spreadsheet a front end and a running order.

The contact table tells you how many records a filter will leave you with before you click it. Combinations you use a lot get saved as views. Every record carries a priority score, and you can open it up and read why it scored that way.

Every record has a call brief too. It’s built from that record’s own fields by fixed rules, with no model involved, so the same record always gives you the same brief and nothing in it can be made up.

Three overview tabs sit on top of the table: Where it stalled, Can it be worked, and Data quality.

The whole thing took a day.

Source data
999 enquiry rows in a spreadsheet
Call briefs
Deterministic, built from the record, no model call
Overview tabs
Where it stalled / Can it be worked / Data quality
Build time
One day
1 / 5Expand
Saved views across the top, filter counts down the side, priority order in the middle.

This is the real thing. Personal data is blurred into the image files themselves.

04Ours. Built and run by usSites and products that generate demand

EPC Guide

Our own lead generation site in the UK energy performance market.

EPC Guide isn’t client work. We built it, we run it, we pay for it, and it’s our problem when something on it is wrong.

It answers what UK homeowners and landlords actually ask about energy performance certificates. The tools do the calculation first and ask who you are afterwards. The rating predictor gives you an estimated band off three questions, then lets you sharpen it up.

There’s a page for every local authority in England and Wales, built off published certificate data.

And yes, it’s the site behind our lead generation offer. That’s the honest reason it exists.

epcguide.co.uk
Owner
Levity. Self-funded
Market
UK domestic energy performance
What it does
Free tools and local authority data, enquiries as the output
1 / 5Expand
Three questions in, you get a band and the range it sits in.
05Ours. Self-fundedSites and products that generate demand

Do Gooder

A charity accountability site that grades charities on what they actually filed.

Do Gooder is ours as well. We paid for it, and nobody asked for it.

It grades a charity on the gap between what it says about itself and what’s actually in its filings. Each part gets graded on its own, because being great at one thing shouldn’t paper over being poor at another.

You can pull up a scorecard for one charity, or put two side by side and compare the accounts line by line.

Honestly, building it was quicker than sitting around arguing about whether the idea worked.

do-gooder.co
Owner
Levity. Self-funded
What it grades
Filed accounts against public claims
Why it exists
To find out if the idea worked
1 / 5Expand
One grade, and a plain sentence saying what earned it.
How it works

The proposal is usually a working app.

Three times recently the pitch was actual software, not a picture of it.

A health consultancy

A working demo of the thing they were weighing up

Built before the proposal went in

ReadyLet

The Lead Desk, running on their own 999 rows

Built to win the retainer, then kept

A ticketing platform

A redesigned homepage, live and clickable

Built as the pitch

01

We build something before you commission anything

Not a wireframe, and not a deck with pictures of screens in it. Something you can actually click, running on real or realistic data, built off what you’ve already told us. ReadyLet had theirs running on their own 999 rows before there was a contract.

02

You get to react to a screen

Someone who’s gone quiet on a written spec will happily give you an hour on what’s wrong with a screen. That first version is there to be argued with. Most of what makes it good comes out of the argument.

03

We cut the scope against the thing you just used

By now we’re talking about something that exists, so it gets specific fast. We agree what phase one is, price it, and write down what’s out of scope and why.

04

Every phase has to be worth having on its own

If you stopped after phase one, you’d still be glad you did it. When a phase only makes sense once the next three are finished, we’ve scoped it wrong and we split it again.

05

Then it has to survive being used every day

Health on every automation, a readable trace of what the system did, and the running cost on screen in actual money. The operations director at CMS can open any one of Mack’s tasks and read exactly what it did, which is why he’s still adding to it.

Afterwards

And then it has to keep running.

A demo only has to work once, while you’re watching. These have to work on a Tuesday morning when an API changed overnight and nobody told anyone.

So we build the boring screens too. Health on every automation, a readable trace of what the system actually did, and the running cost on screen in actual money.

Mack’s been in production since it launched and gets used every day. Their operations director writes new automations for it himself, and he’d never do that if he couldn’t see what the thing was up to.

Mack. What’s broken, what’s late, and what’s quietly never run at all.
Mack. What it did this week and what it cost to do it.

Both of these run on demo data. Every name, figure and job in them is made up.

The deal

How a build is bought and paid for.

Phased

We break the work into phases. Each one gets scoped and priced before it starts, and each one is agreed on its own. You’re never signing up to some open-ended number that runs off into the distance.

Fixed scope, fixed price, per phase

Every phase has a written scope and a fixed price against it. What’s out of scope gets written down too, which is the half people usually leave vague.

You own the code

Your repo, your accounts, your keys, your data. Nothing gets licensed back to you and nothing switches off because you stopped paying us. If you want to hand it to another developer you can, and it’s written so they can pick it up.

Running it afterwards is a separate decision

We can keep it alive on a retainer, fixing things when an API changes underneath it and working down the list. Or we hand it over and get out of your way. Both are fine, and we don’t assume either.

Small print

The questions people actually ask us.

Everything else we sell has a price on the website. This one doesn’t, because what a build costs depends on the scope, and until we’ve talked we’d just be making the scope up. Tell us what you want and you’ll have a number quickly.

Start it

Tell us what you want built.

Plain English is fine. A paragraph about the job you’re currently doing by hand is more use to us than a spec. We’ll come back with what phase one looks like, what it’d cost, and what we’d leave out.

And if we think you shouldn’t build anything, we’ll say that instead. It happens.

Response time
Hours, not days
What comes back
A phase one scope and a price, or a straight no

No spam, no hard sell. We’ll just reply.

The other doors

Not sure you need something new?

Plenty of businesses don’t. The audit tells you what’s worth automating in the operation you already run, and the lead gen side fills the diary once you’ve got the capacity to answer it.