How we work — with the receipts
Anyone can promise “process”. Below is ours, actually running: the pipeline that deploys this site, the admin you would get, and the live monitoring on the page you are reading right now.
Four levels, and what each one hands you
Discover
We map the process, agree the scope and give you a fixed price.
- A written scope you can hold us to
- One fixed price, no day rates
- A launch date
Build
Weekly demos on staging. You test as we go.
- A staging link from week one
- A demo every week, not a status email
- A direct line to the people building it
Launch
Two weeks of beta with real users, then go live.
- Go-live with the old system kept warm
- Your own admin login + a walkthrough
- The GitHub repo — you own the code
Run
We host, monitor and improve it every month.
- Uptime monitoring like the panel below
- Nightly backups of your data
- A monthly improvement, not just a bill
No hand deploys. Ever.
Every change to your app — and to this site — ships the same way: push to the main branch, and a pipeline lints, type-checks and builds it, packages a release, ships it over SSH and health-checks it before traffic moves. If any step fails, nothing reaches production.
Old releases stay on the server, so a rollback is one command, not an emergency. The terminal on the right replays the exact workflow that deployed the page you are on.
$ git push origin masterPASS npm ci — exact lockfile installPASS npm run lint — eslint gatePASS npx tsc --noEmit — type checkPASS next build — production buildPASS package release — standalone + static + publicPASS ship over ssh — releases/20261013-bd42cf5PASS health check — curl until 200, else logs + abort▲ release live · previous releases kept for instant rollback
You run the content, not us
Every build includes a real admin panel — the same one running behind this site. Services, projects, leads from the contact form: your team edits them without a developer, and every lead is stored even if an email ever fails to send.
On handover you get your own login and a walkthrough. No “email us to change a headline”.
$ payload collections --listservices 07 docs · edited by the clientprojects 06 docs · case studies live hereleads every form post stored · staff onlymedia uploads, served by the appuptime-checks 1 row/min · 90 day history▲ access: admin login handed over at launch
We watch it so you don’t
Apps on a monthly plan monitor themselves: a probe hits the public URL every minute and records uptime, latency and incidents — including the gaps where a process silently died, which most dashboards miss.
The panel on the right is not a mock-up. It is this site’s own monitor, live, the same data as the status panel on the home page.