Skills
The tools behind our work.
What we use, and where you can see it working.
Front end
- HTML and CSS
- Semantic pages and responsive layouts that adapt from a small phone to a wide monitor, with no separate mobile site. Torque & Thunder
- JavaScript
- Interactive pages with no framework when none is needed: online booking, a repair tracker and a price estimator. Torque & Thunder
- React
- Component-based apps built with Vite, with their own booking flows and saved progress. Mud Club
- TypeScript and Next.js
- Typed apps with server rendering and server actions, with the logic kept apart from the pages so it can be tested. Rotabee
- Forms and booking flows
- Clear error messages, then choosing a service, a day and a time, with tracking or cancelling afterwards. Torque & Thunder
- Interactive tools
- Rota builders, symptom checkers and estimators that let visitors try something instead of reading long pages. Rotabee
- Themes and motion
- Light and dark themes that remember the visitor's choice, and motion that respects reduced-motion settings.
Back end
- Node.js and SQLite
- Services that keep running: a bot that receives GitHub webhooks, checks their signatures, stores every change and answers commands. Gitbot
- Payments and email
- Stripe checkout with signed webhooks, and contact forms that send email, each with a local stand-in for testing without keys. Rotabee
- Lessons that run code
- Learner Python running in the browser in a Web Worker, so a bad program can't freeze the app. Pebble
- Python
- Scripts, tools and small servers, including this site's preview server and page build.
Quality
- Automated tests
- Tests for the logic that matters, like rota warnings, spreadsheet parsing and webhook checks. Rotabee
- Git and GitHub
- Every change gets its own branch and pull request, with automated checks before it merges.
- Accessibility
- Keyboard navigation, visible focus, readable contrast, tap targets large enough for a thumb, and support for screen readers.
- Performance
- Fast pages with no heavy libraries, self-hosted fonts and images that load only when needed.
- Design reviews
- We check pages on phone and desktop, in both themes, and fix what we find in a separate pass.
- AI-assisted development
- We build with Claude Code to move fast, and we test what it builds before it's merged.