I build reliable product systems across payments, operations and AI from polished interfaces to APIs, data models, stateful workflows and automated delivery.
TypeScript · Next.js · Node.js · PostgreSQL · Python
📍 London, UK
|
Turning complex requirements into clear, usable full-stack products from customer-facing interfaces to operational workflows. |
State machines, transactions, idempotency, validation, audit history, background processing, testing and CI/CD. |
Using AI and data where they add practical value, with an emphasis on structured outputs, explainability and responsible system boundaries. |
Fintech operations system for merchant onboarding, KYB verification, lifecycle control and reliable webhook delivery.
Next.js TypeScript Node.js Express PostgreSQL JWT Zod Jest Docker
- Modelled controlled merchant lifecycle transitions backed by PostgreSQL transactions and append-only audit history.
- Implemented access/refresh token authentication, RBAC, account lockout, rate limiting and HMAC-signed webhook payloads.
- Built a PostgreSQL-backed asynchronous webhook worker with retries and persisted delivery attempts.
- Covered authentication, merchants, KYB workflows and protected APIs through an extensive integration-test suite.
Engineering themes: domain modelling · security · transactional consistency · asynchronous processing · testing
In-progress portfolio MVP exploring authorised push payment fraud prevention and customer intervention workflows using synthetic financial data.
Next.js TypeScript PostgreSQL Neon Drizzle Zod Vitest GitHub Actions
- Implemented idempotent simulated GBP payment creation using integer minor units.
- Built explicit payment state transitions and an explainable deterministic risk engine.
- Preserved ordered, auditable payment history through append-only payment events.
- Added conditional intervention resolution, schema migrations, validation, automated tests and CI checks.
- Maintains explicit boundaries between implemented functionality and planned fraud, recovery, reimbursement and AI capabilities.
Engineering themes: payments · idempotency · state machines · explainability · auditability
AI-assisted personal finance platform for transaction tracking, budgeting, receipt processing and financial analytics.
Next.js React TypeScript PostgreSQL Prisma Gemini Inngest Clerk Recharts
- Built multi-account transaction, budget and financial analytics workflows.
- Integrated Gemini-powered receipt extraction and AI-generated financial reporting.
- Used background workflows for asynchronous processing and notifications.
- Achieved 100 Lighthouse Accessibility, 100 SEO and 95+ Performance.
Engineering themes: full-stack product development · AI integration · background jobs · performance · accessibility
Structured AI workflow for turning research into campaign strategy and marketing outputs.
TypeScript Node.js LangChain Zod Express Next.js AWS
- Designed a staged AI pipeline with structured hand-offs between research, strategy, content and review steps.
- Used schema validation to keep intermediate AI outputs predictable and usable by downstream stages.
- Exposed the workflow through application interfaces and deployed supporting services on AWS.
Engineering themes: AI orchestration · structured outputs · validation · API design
For my MSc dissertation at Brunel University London, I built a Python machine-learning pipeline from more than 2 million traffic records.
I compared multiple model families including XGBoost, Random Forest and neural-network approaches, applied cross-validation and a 250-fit RandomizedSearchCV, and achieved a tuned mean R² of 0.7474.
Python pandas NumPy scikit-learn XGBoost TensorFlow
This work strengthened how I approach engineering problems: measure first, compare alternatives, understand failure modes, and optimise based on evidence rather than assumptions.
Languages
TypeScript JavaScript Python SQL
Frontend & Product
React Next.js Tailwind CSS Recharts
Backend & Data
Node.js Express PostgreSQL Neon Drizzle ORM Prisma ORM REST APIs Zod
Testing & Delivery
Vitest Jest Supertest GitHub Actions Docker Vercel AWS
AI & Data
LangChain Gemini pandas NumPy scikit-learn XGBoost
Software is one of the ways I like turning complexity into something that feels simple.
Dance is another.
I've led a 20-member dance crew to a Top-3 national finish, and years of performing have made me unusually attentive to timing, iteration, collaboration and how small details affect the overall experience.
That creative instinct still shows up in the products and interfaces I build just with engineering discipline underneath it.
