Experience
OneFinOps — purchases, sales, banking, accounting
Feb 2026 – presentC# · .NET · React · SQL Server
I work across the finance side of the product: the procure-to-pay service that takes a purchase order through goods receipt, supplier bill, matching, withholding tax and payment; the sales, banking and accounting modules around it; and the React screens that drive them. The hard part is that every write moves money. A double-click, a retried request or two workers settling the same bill must never pay or post twice, and every undo has to reverse exactly what its original created in the ledger.
224 feature prs merged · 55 system reports · 5 integrations shipped
Full-stack intern — two MERN applications
Jun – Oct 2024React · Express · MongoDB · Gemini API
Two MERN applications from first commit to deployment; owned the performance work on both.
Selected projects
Infrastructure Tracker — where every asset is, live
Aug 2026Next.js 16 · TypeScript · MongoDB · Mongoose · Auth.js · Tailwind · Zod
Where every asset is, who holds it, and what is about to fail. First built in college in 2024; rebuilt in 2026 as a self-hostable tracker for any organisation — campus, office, hospital, workshop — and deployed with a demo you can sign in to.
4 roles, building-scoped · 5 live dashboard numbers · 546 assets in the demo
Résumé Builder — the first thing built, rebuilt and live
Aug 2026Next.js 16 · TypeScript · MongoDB · Mongoose · Auth.js · Tailwind · Zod
A blank page is the hardest part of a résumé, so this one asks the questions instead — then renders the answers into any of four templates, previewed as the actual printed page. The first thing I ever built, in 2024, with HTML, CSS and JavaScript and no server; and the first thing I rebuilt, in 2026, with accounts, autosave and sharing.
4 templates, switch any time · A4 live preview, at print size · 1 share link per résumé, on or off
DyslexAI — screening from handwriting and speech
May 2026React · Python · FastAPI · OpenCV · EfficientNet-B0
Screening a child for dyslexia usually means waiting months for a specialist. This reads their handwriting and listens to them read, and says whether it's worth making the appointment.
2 modalities · 6 handwriting detectors · 5 speech metrics · 3 risk bands
Connect — SOS, blood matching, ambulance dispatch
2025React Native · Spring Boot · PostgreSQL · Express · MongoDB — Third place · 100+ teams
Three emergencies that don't wait — personal safety, blood supply, and ambulance dispatch — folded into one app instead of three places nobody checks.
4 safety triggers · 3 match criteria · 3rd of 100+ teams
Chart of accounts
1000 · Languages C# · TypeScript · Python · Java · Dart
2000 · Frameworks .NET · React · React Native · Spring Boot · Flutter · Next.js
3000 · Data SQL Server · PostgreSQL · MongoDB
4000 · Platform Kubernetes · Terraform · GitOps · CI / CD pipelines · ServiceNow
5000 · Assurance xUnit · Playwright · Vitest · Testcontainers