Full-stack delivery
Production interfaces, APIs, data models and deployment pipelines carried from discovery through support.
I'm a full-stack developer with five years of production experience across front and back-end development, APIs, databases and cloud infrastructure.
I build applications, modernise legacy platforms and connect systems that weren't designed to connect. Turning technical complexity into reliable, well documented and maintainable software.
Production interfaces, APIs, data models and deployment pipelines carried from discovery through support.
Careful boundaries around systems that cannot be switched off, backed by repeatable validation and rollback.
MFA, migration, step-up authentication, RBAC, ownership controls and database-enforced access.
Workflow discovery and integrations that make sales, marketing and operational data genuinely observable.
Production outcomes, architectural decisions, trade-offs and the evidence behind them.
Full-stack product delivery
01I built a customer finance portal that let the business withdraw public access to an ageing platform without retiring the system it still depended on.
Inspectable full-stack application
02I built a small, deployed application so employers can test permissions and follow the enforcement from the interface to the API, database and tests.
Legacy modernisation
03I untangled a 12,000-line SQL calculation, separated the business rules and made individual lease balances available on demand.
Business systems integration
04I inherited a thinly documented CRM and built practical connections to a desktop quoting tool and a legacy lease-management platform.
Web development and CRM automation
05I rebuilt the public website in Qwik and implemented a server-side lead flow that made enquiries and campaign attribution easier to follow.
Identity and migration
06I pre-migrated eligible customer accounts, then upgraded each password from a legacy SHA-1 hash to Argon2 when its owner returned.
Application security
07I added fresh identity checks to sensitive customer actions and enforced them at the API, not just in the React interface.
Incident response
08I handled initial containment, owned network and workstation restoration, and worked with an external specialist on the subsequent investigation.
How I work
09I use operational questions, workflow mapping and commercial context to work out what software actually needs to change.
I ask people to show me what actually happens, inspect the systems and data behind it, and separate symptoms from causes before deciding what to build.
I favour solutions that fit the environment the business has. Sometimes that is a clean new application; sometimes it is a careful boundary around a legacy system that cannot yet be replaced.
In either case, I make the trade-offs visible and keep the result tied to a customer, security or operational need.