The system a business actually runs on.
Not a brochure site. The portal that takes the entries, the office that stops the double booking, the form that doesn't lose the enquiry. All four are live and carrying real work today.
Festival entries, judging and productionA submissions platform a festival owns outright, instead of renting one.Live
Entrants make an account with an emailed code, submit against the festival's own categories, and get a real reference number. Judges score inside the same portal and never see an entrant's phone number, date of birth or guardian details. They see the work. Behind it sits an office with the entries, the scores and the flags, and a private production side carrying the money and the people: budget, spending, a crew ledger of seventy jobs, tasks, logistics, a run sheet, and access granted person by person.
Built for two festivals, one film and one theatre
- Entrant accounts by emailed code, no passwords to lose
- Reference numbers per entry, per festival
- Judges see the work, not the entrant's personal details
- Two festivals, film and theatre, on one portal
- Production office: budget, spending, 70-job crew ledger, run sheet
- Access per person, per festival, at view / edit / manage
Rentals and studio back officeTwo businesses, one office, one inventory that can't be double-booked.Live
A rentals company and a studio that share gear, running from a single back office with a switch between them. Both draw on the same inventory, so a studio shoot can't quietly take a camera already out on a rental. The clash is refused in both directions and names who is holding it. Quotes and invoices print on the real templates, continue the numbering from the books that came before, and download as a PDF that comes out the right way up.
Built for a rentals and studio group
- One switch between two businesses, access set per business
- Bookings, gear out and gear back, 344 units tracked
- Shared inventory refuses clashes both ways and names the holder
- Quotes and invoices on the existing templates and numbering
- A studio room booked by time slot
- 108 automated tests before it met a customer
Event sites with real enquiriesA site that doesn't drop the one email that mattered.Live
Fast static pages with an enquiry form that writes into a database you own, spam-screened, acknowledged automatically, and visible to the team on a dashboard, instead of a mailto link and a hope. Campaign links are tagged, so you can see which poster or which post actually brought the person in.
Built for an education event
- Enquiries stored, not emailed into a void
- Spam screening and automatic acknowledgement
- A team dashboard instead of a shared inbox
- Tracked campaign links, first touch kept for 60 days
Company websitesFive company sites that cost nothing a month to run.Live
Prerendered pages that arrive complete before a single script runs, with each site's content in one editable file, so a price or a date is changed in one place. Hosted so static requests are free and unlimited: the hosting bill for a marketing site is zero.
Built for a studio, a rentals company and three production companies
- Content in one file, no CMS to log into
- Pages arrive complete: good for search, good on bad signal
- R0 a month in hosting
- Video served with real byte ranges, so it plays on an iPhone
Clients stay unnamed until they say otherwise. No screenshots of live systems: they hold real people's personal details.
Four kinds of work.
Product build
A real application, from the first sketch to the thing people use. Web, desktop or Android.
Portals and back offices
Logins, submissions, approvals, bookings, documents. The unglamorous system a business actually runs on.
Company websites
Fast, prerendered, cheap to run, editable without a CMS.
Rescue and rebuild
An app on a platform that has started charging, or a prototype that has to become real.
What it costs to keep running.
Most of the price of a business system isn't the build. It's the monthly bill, and the day a platform changes its plan. A marketing site costs nothing a month to host, and a portal with logins and a database still costs very little.
How we build, and whyOne platform, edge to database
Cloudflare Workers for the code, D1 for the data, Turnstile against the bots, R2 when there are files. One bill, one dashboard, one place to look when something breaks.
Static where it can be, dynamic where it must be
Marketing pages are prerendered and free to serve. A Worker is added only when a feature genuinely needs one: a login, a booking, an office. That line is where most of the cost of a website usually hides.
Tested before it meets a customer
The entries portal went live behind 216 automated tests and a 59-step run through the whole entrant journey. The back office behind 108. The broadcast control room behind 60 end-to-end checks against a live agent.
Less data, on purpose
Judges can't see an entrant's contact details, because they don't need them. Streaming credentials never leave the machine they belong to. Test data is wiped before real people arrive, not after.
Yours, not ours
The database, the domain and the deploy sit in the client's name where they should. No lock-in, no hostage data, no platform we have to sign for on your behalf.
Tell us what has to work.
The useful first message isn't a brief. It's the thing that keeps going wrong: the double booking, the entries arriving by email, the spreadsheet three people are editing at once. Start there.