How we work
Fast, plain and easy to change.
We pick the technology for the job. This site is pages built ahead of time, plus one small service for enquiries.
Pages built ahead of time
React Router builds every page before it is published, so a phone gets finished pages. TypeScript and Tailwind keep the components and styles consistent.
One small service for enquiries
It checks each message and emails it to us through Azure Communication Services. It keeps no database of enquiries.
Apps on your own server
For apps, we build a native front end for each platform, all talking to one private server so the same data is on every device.
The brand in one place
The wordmark, icons and colours come from our brand kit. The site carries a pinned copy, so the brand changes only when we decide it should.
Checked before it ships
We build and test every change in a real browser, including keyboard use, page metadata and missing pages.
Controlled access for AI agents
Where a tool should work with an AI agent, we build that access on purpose: a locked API or an MCP server, behind a key you control, so the agent reaches only what the tool exposes.
What this site runs on
The frameworks, services and checks behind these pages and the enquiry service. See everything we work with.
- TypeScript
- React
- React Router
- Tailwind CSS
- shadcn/ui
- Node.js
- Vite
- Azure
- Azure Functions
- Bicep
- Vitest
- Playwright
- GitHub Actions
Have something in mind?
Tell us what you need. We can work out the next step together.