Process
How It Works
A clear, collaborative process — from first conversation to live product and beyond.
Discovery
Understanding Before Building
Every project starts with a proper conversation — not a sales call. I want to understand your business, your users, your constraints, and what success actually looks like. We talk through what you're trying to achieve, what's been tried before, and what's non-negotiable.
From that conversation comes a clear scope document: what we're building, what we're explicitly not building, and why. This prevents scope creep, misaligned expectations, and the kind of expensive surprises that kill projects halfway through.
What this covers
- Initial consultation — free, no obligation
- Scope document with clear deliverables
- Tech stack recommendation with reasoning
- Realistic timeline and milestone plan
- Fixed-price or retainer proposal
Architecture
Plan First, Code Second
Before a line of code is written, I design the architecture. Database schema, API surface, authentication model, third-party integrations, deployment pipeline — all of it planned upfront. Decisions made early are cheap. Decisions made halfway through a build are expensive.
You get visibility into these decisions. I explain the tradeoffs clearly so you understand what's been chosen and why — without needing to be a developer yourself.
What this covers
- Database schema and data model design
- API and integration architecture
- Authentication and permissions model
- Deployment pipeline design
- Security and data handling review
Development
Clean Code, Regular Demos
Development happens in short iterations. You see working software regularly — not a big reveal at the end. Weekly demos, a shared staging environment, and direct communication throughout. If something changes in your requirements, we catch it early and adapt.
Code is clean, typed, and well-structured. No magic, no black boxes. Everything is written so another developer could pick it up and understand it — including you, if you ever need to move on.
What this covers
- Weekly demos on a shared staging environment
- TypeScript throughout — no untyped JavaScript
- Git-based workflow with clear commit history
- Automated CI/CD from day one
- Accessibility and performance built in, not bolted on
Deployment
Production-Ready from Day One
Launch isn't the end of the work — it's the beginning of the product living in the real world. Deployments to Vercel or Cloudflare Pages with GitHub Actions for continuous delivery. Preview deployments for every branch. Monitoring, error tracking, and a rollback path in place before go-live.
DNS migration, SSL, CDN configuration, email deliverability — all the infrastructure details that get missed are handled as part of the deployment, not as an afterthought.
What this covers
- Vercel / Cloudflare deployment with CI/CD
- Preview environments for every feature branch
- DNS migration with zero-downtime cutover
- Performance audit pre-launch
- Google Search Console and Analytics setup
Ongoing
It Doesn't Stop at Launch
Software is never finished. Real products evolve — new features get added, existing ones get refined, usage patterns reveal things no one predicted at the start. Most of my clients stay on a monthly retainer after launch for continued development, whether that's a few hours a month for maintenance or ongoing feature work.
You'll never be left with a product that's frozen in time. If something breaks, I'm there. If you need to add a new feature or change how an existing one works, we talk, scope it, and build it — the same way we built everything else.
What this covers
- Monthly retainers available for ongoing work
- Bug fixes and security patches
- New feature development
- Performance and SEO optimisation over time
- Honest advice on what to build next — and what not to
AI & Tooling
How I Use AI — Responsibly
AI tools have changed how software gets built. Here's my honest approach.
AI Is a Tool, Not a Shortcut
I use AI coding assistants to move faster and catch errors earlier — not to replace understanding. Every line of code I ship I understand, can explain, and can maintain. AI accelerates the work; it doesn't define it.
Responsible Use by Default
I follow a clear policy on what AI tools are appropriate for each project. For standard commercial work, tools like Claude Code and Cursor help with boilerplate, refactoring, and code review. For sensitive projects, none of that data leaves the machine.
Local AI for Sensitive Projects
If you're working on something sensitive — legal technology, health records, financial data, proprietary research, confidential business logic — I run AI models locally. Nothing is sent to any external API. Your data, your code, your research stays on the machine. Full stop.
Transparent About What I Use
If you ask what tools I'm using on your project, I'll tell you. I don't use AI to generate boilerplate and pass it off as bespoke without disclosure. You deserve to know how your project is being built.
Working on something sensitive?
If your project involves confidential data, proprietary research, legal or medical content, or anything you'd rather not have touch an external API — tell me upfront. I'll run the entire workflow locally: local models, no cloud AI, no data leaves the machine. This isn't an upsell; it's a default I apply whenever the project warrants it.
Ready to get started?
Tell me what you're building. I'll tell you how we can make it happen.
Start a Project