Software built around the way you work, not the other way round.
Off-the-shelf tools ask your business to change shape to fit them. That’s a fair trade when the thing you do is ordinary. It stops being a fair trade when the way you work is the reason you win.
Custom web applications
The main thing I do.
Client portals and member areas. Booking and scheduling platforms. Inventory and asset tracking. CRM and client pipelines. Quoting, invoicing, and the reports you currently rebuild by hand every month. Built around the way you already work rather than adapted from someone else’s.
- Client portals and member areas
- Booking and scheduling platforms
- Inventory, assets and stock ledgers
- CRM and client pipelines
- Quoting, invoicing and payments
- Reporting and document generation
Getting off spreadsheets
Usually the hardest part, and the part people underestimate.
Years of history live in those files, along with conventions nobody ever wrote down. Moving that into a real system means importing it without losing anything, reconciling the parts that disagree with each other, and connecting to the tools you already pay for so nobody ends up typing the same thing twice.
- Data migration and reconciliation
- Import and export that survives real files
- Integration with tools you already use
- Replacing manual monthly reports
Mobile where the work happens
Operations rarely happen at a desk.
When the people using the system are on a loading dock, at a venue, or on site, the phone is the interface that matters. I build mobile companions to the main system — not a shrunken copy of the desktop screens, but the two or three things someone actually needs while standing up.
- Companion apps for field and floor staff
- Offline-tolerant capture
- Barcode and photo capture
Support after handover
The part that separates a system from a project.
Software that runs an operation needs someone who knows it when something changes — a new venue, a new process, a new person who needs access. I stay available after handover, on a retainer or as needed, and everything ships with documentation so you are never hostage to my availability.
- Ongoing changes and new features
- Documentation and training at handover
- Monitoring and incident response
How an engagement works
Custom software goes wrong in predictable ways, and most of them start with agreeing a price before anyone understands the problem. This is how I avoid that.
- 01
A conversation
Free, about forty-five minutes. You describe how the operation runs today and where it hurts. Sometimes the honest answer is that you don’t need custom software, and I’ll tell you that.
- 02
Discovery
Paid, fixed fee, and it stands alone. I map the workflow properly and write the specification. You end up with a document and a fixed price for the build — and the document is yours whether or not you hire me to build it.
- 03
Build in stages
You see working software every couple of weeks, not a demo at the end. Each stage is something you can put in front of the people who’ll use it, which is how you find out what the spec got wrong while it’s still cheap to change.
- 04
Handover
Documentation, credentials, and training for the people who will run it. The code is yours. Nothing is locked to me.
- 05
Whatever comes next
Retainer or ad-hoc, whichever suits. Most systems grow — that’s usually a sign they’re being used.
What it’s built with
React and TypeScript on the front, Firebase for authentication, data and serverless functions behind it, Stripe where payments are involved. It’s a stack chosen because one developer can build and operate production systems on it without a platform team — which is precisely why it suits a business your size.
No templates. No page builders. Nothing that leaves you paying a licence forever to keep your own software running.
Also available
Websites and domains. Not what the rest of this page is about — for a small marketing site a good template is usually the right answer, and I’ll say so rather than sell you a custom build you don’t need. But I ran that side of the business for years, and if we’re already working together it beats adding another supplier.
Describe the problem. I’ll tell you honestly if I’m the fix.
The first conversation is free, and there’s no proposal at the end of it unless you ask for one.