What I canactually build.
I design and build the whole thing: the site or app someone sees, the system behind it, the payments, the integrations, and the server it runs on. This is the full list, grouped by the part of the job it belongs to.
In short
Design through to deployment.
Most work is one of three shapes: a website or storefront, a web application with an admin behind it, or a mobile app on the App Store and Google Play. In practice they overlap. A booking platform is all three, plus payments, SMS and a server to run it on.
-
01
Design
Brand, layout, type and motion, and interface design for applications rather than just pages.
-
02
Build
Front end, back end, data modelling, APIs and third-party integrations.
-
03
Ship
Servers, domains, certificates, deployment, app store submissions and review requirements.
-
04
Run
Monitoring, backups, scheduled jobs, email deliverability and ongoing changes.
Design
Interface and brand.
Pick one to see what it covers.
Website design
Marketing sites, landing pages, storefronts and mini-sites.
Pages built to read well on any screen and to get someone to act: call, book, buy or enquire.
Application UI
Dashboards, calendars, admin panels and dense data screens.
Screens people work in all day. A lot of information, laid out so the next thing to do is obvious.
Mobile UI
Phone-first layouts, one-handed flows, light and dark.
Designed for a phone held in one hand, with the main actions down where a thumb can reach them.
Brand
Logos, colour and type systems, icon sets and social assets.
The look a business is known by, written down so it stays the same everywhere it shows up.
Design systems
Token-driven themes and reusable component kits.
Colours, spacing and type stored once as tokens and fed into a kit of components, so every new screen matches the last.
Motion
CSS animation, scroll and load sequences, micro-interactions.
Movement that shows what changed: content arriving on load, a control reacting to a tap, a section building as you scroll.
Accessibility
Contrast, hit targets, keyboard use and reduced motion.
Text that's easy to read, buttons big enough to hit, everything usable from a keyboard, and less movement for people who ask for it.
Prototyping
Clickable mockups before anything gets built properly.
A version you can click through and try first, while changes are still quick and cheap.
Websites
Sites and content platforms.
Pick one to see what it covers.
Next.js and React
App Router, server rendering and static export.
Fast sites and web apps built on React, rendered on the server or exported as plain files that load instantly.
HTML, CSS, JS
Hand-built when a framework isn't warranted.
Plain, light pages with nothing extra to load, update or patch.
WordPress
Themes, plugins, page builders, migrations and rescues.
Custom themes and plugins, sites moved between hosts, and broken sites brought back to life.
Shopify and storefronts
Product catalogues, carts and checkout flows.
Online shops people can browse, fill a cart and pay in, with the catalogue easy to keep up to date.
CMS work
Editable content for non-technical owners, headless or traditional.
Owners change their own words and photos without calling a developer.
SEO
Structure, metadata, sitemaps, schema, page speed and audits.
Pages set up so search engines understand them and show them to the right people.
Analytics
Google Analytics, Search Console and product feeds.
Tracking set up properly, so you can see where visitors come from and what they do.
Copy and content
Writing the pages, not just laying them out.
The words on the page, written to be clear and to get people to act.
Applications
The system behind the screen.
Pick one to see what it covers.
TypeScript
End to end, from the database types to the interface.
One set of types shared by the database, the API and the screen, so mistakes show up before anyone sees them.
APIs
REST endpoints, webhooks, background jobs and rate limiting.
The doors other systems and apps use to talk to yours, built to be safe and predictable.
Databases
PostgreSQL and SQLite, Prisma, migrations and seeding.
Where everything is stored, structured so it stays fast and correct as it grows.
Data modelling
Working out the shape of a business before writing code.
Mapping how the business really works, what connects to what, before the first table exists.
Auth
Sessions, magic links, PINs, roles and row-level security.
Sign-in that's easy for the right people and closed to everyone else.
Multi-tenant
Many businesses in one system, separated properly.
One system running many businesses, each only ever seeing its own data.
Scheduling logic
Availability, clashes, rosters, recurring and chained bookings.
The rules that decide who is free when, so nothing double-books.
Reporting
Dashboards, exports, commissions, stock and financial views.
The numbers owners actually ask for, on screen or in a spreadsheet.
Testing
Unit tests, end-to-end flow tests and scripted screen captures.
Automated checks that run every time something changes, so old features keep working.
Mobile
Apps, and getting them published.
Pick one to see what it covers.
React Native and Expo
One codebase for iOS and Android.
One app written once, running natively on iPhone and Android.
Offline first
Local storage, sync, conflict handling and account switching.
Apps that keep working with no signal and catch up when they reconnect.
Notifications
Local reminders and scheduled alerts.
Reminders that arrive at the right moment, even when the app is closed.
In-app purchases
Subscriptions and entitlements, free and paid tiers.
Free and paid versions of an app, with upgrades handled by the app stores.
Native integrations
Camera, photos, card readers and device capabilities.
Using the phone's own hardware: camera, photo library and payment chips.
Builds and signing
EAS builds, keystores, provisioning and versioning.
Turning code into signed app files the stores will accept.
Google Play
Listings, graphics, privacy policies and staged releases.
Everything Google needs to publish the app, and a careful rollout once it's live.
App Store
Review requirements, entitlements, evidence and resubmissions.
Getting through Apple's review, including the evidence and back-and-forth it can need.
Payments
Taking money, properly.
Pick one to see what it covers.
Stripe Checkout
Hosted payments, wallets, webhooks and refunds.
Secure card and wallet payments, with the order updated the moment money arrives.
Stripe Connect
Marketplaces, payouts to businesses and platform commission.
Platforms that take payments for many businesses and pay each one out, keeping a fee.
Tap to Pay on iPhone
In-person card payments through Stripe Terminal.
An iPhone becomes the card reader. No extra hardware.
Deposits and cards on file
Saved cards, later charges, cancellation and no-show fees.
Securing bookings with a deposit or a saved card, and charging fees fairly when needed.
Subscriptions
Plans, trials, entitlements and plan limits.
Recurring plans with trials, upgrades and limits that match what people pay for.
Receipts and invoices
Itemised receipts, gift cards, credit and daily cash-up.
The paperwork after the payment, done automatically.
AI
AI inside a product, not bolted on.
The useful part isn't calling a model, it's constraining one: asking for a defined shape, validating what comes back, and putting a person in front of anything that gets saved.
Structured output
Typed fields and validation instead of free text.
The model fills in a form with fixed fields, and the answer is checked before it's used.
Tool calling
Models that can search, check availability and propose actions.
The model can look things up in your system and suggest actions, but not take them alone.
Assistants
Chat and voice assistants scoped to one business's data.
Assistants that know one business well and nothing they shouldn't.
Vision
Reading photos and documents into structured fields.
Snap a photo of a document and get the details typed in for you.
Extraction
Pulling product and supplier data off web pages.
Turning messy web pages into clean product data.
Rule engines
AI suggestions inside hard rules, with approve or reject.
The model suggests; firm business rules decide; a person approves.
Prompt management
Editable prompts, versions, telemetry and test suites.
Prompts treated like code: edited, versioned, measured and tested.
Cost control
Model choice, caching and usage tracking per feature.
Using the right-sized model for each job and keeping an eye on the bill.
Agent workflows
Claude Code and agents wired into my own build pipeline.
AI agents doing the routine parts of the build, checked at every step.
Integrations
Connecting to everything else.
Pick one to see what it covers.
Third-party APIs
simPRO, CJ Dropshipping, registrars, suppliers and Google.
Connecting your system to the other services the business already relies on.
SMS
Twilio, per-business numbers, compliance and two-way replies.
Text messages that send on time and can be replied to.
Transactional and marketing sends, templates and deliverability.
Emails that arrive in the inbox, not the spam folder.
Webhooks
Signed, idempotent handlers for payments and events.
Listening for events from other services and handling each one exactly once.
Imports and exports
CSV and spreadsheet migrations, data clean-ups.
Moving data in from old systems and spreadsheets, cleaned up on the way.
Automation
Scheduled jobs for reminders, follow-ups and reports.
Routine jobs that run themselves on a schedule.
Infrastructure
Servers, domains and deployment.
Pick one to see what it covers.
Linux servers
Ubuntu, SSH, users, packages, swap and troubleshooting.
Servers set up, secured and looked after.
DigitalOcean
Droplets, spaces, metrics and API-driven provisioning.
Cloud servers and storage, created and managed with code.
nginx
Reverse proxies, virtual hosts, redirects and static serving.
The front door of the server, sending each visitor to the right place.
Process management
PM2, restarts on reboot, logs and zero-downtime reloads.
Keeping apps running, and bringing them back if they stop.
SSL
Let's Encrypt certificates and automatic renewal.
The padlock in the browser, kept valid automatically.
Domains and DNS
Registration, transfers, records and email authentication.
Domain names pointed at the right places, with email set up to be trusted.
Deployment
Git-based deploys, environment variables and rollbacks.
Releasing new versions safely, with a quick way back.
Backups
Nightly database dumps to object storage, restores tested.
Copies of everything, every night, and proof they actually restore.
Monitoring
Uptime, health checks, CPU, memory and disk.
Knowing about a problem before the client does.
Also hosted
Vercel, Supabase and managed platforms where they fit.
Managed platforms when they're the better fit for the job.
Marketing
Getting it in front of people.
Pick one to see what it covers.
Video
Explainer and social video produced from a single concept.
Short films that explain a product, cut for every place they'll be shown.
Social content
Vertical cuts, carousels and post copy.
Posts ready to go: the images, the cuts and the words.
Email marketing
Campaigns, audiences and automations.
Emails to the right people at the right time, set up once and left running.
Google Ads and feeds
Campaign setup and product feeds from a catalogue.
Ads that show for the right searches, and products that appear in Google Shopping.
Store listings
Screenshots, feature graphics and descriptions.
App store pages that make people want to tap Install.
Analytics
Tracking what actually brought the work in.
Knowing which ads, posts and pages turned into paying work.
How I work
What it's like to hand me something.
- 01
End to end
Design, build, server, launch. There's no point in the job where it becomes someone else's problem, which is usually why things stall.
- 02
Built to be handed over
Every server is set up the same way, with the settings recorded against the project, so it can be picked up later by me or by someone else.
- 03
Subcontracting welcome
Agencies use me for the parts they'd rather not take on: the back end, the integrations, the payments, the servers, and app store submissions.