Skip to content

Things I've built, and why they mattered.

Production recoveries, cloud tooling, AI agents and hackathon wins. Each one starts with the problem and ends with what changed.

Showing 16 of 16

Cloud & Platform · 2026Builder · Microsoft AI Dev Days 2026

MigrationOps Copilot

Website migrations routinely ship hidden outages. DNS cutovers propagate unevenly, SSL certificates get forgotten on new load balancers and unmapped paths return silent 404s, and most teams still catch this with ad-hoc curl scripts.

  • Captured live SSL trust, DNS resolution and HTTP status and latency from source and target endpoints, then diffed them into a structured JSON report.
  • Chained bounded LLM stages (triager, diagnostician, planner) on Microsoft Agent Framework and Azure OpenAI, each reasoning only over captured data.

A broken Azure App Service cutover is flagged critical, traced to a missing SSL binding and paired with a reviewable fix plan before users ever hit it.

PythonFastAPIAzure OpenAI+3
AI Systems · 2026Builder · Qwen Cloud AI Hackathon, Track 4

Signal

Growth teams keep having to decide which ad creative to refresh, retire or scale, with the evidence scattered across ad libraries and campaign pages. A generic chatbot gives them no workflow, no structured evidence and no accountability.

  • Collected live owned and competitor creative observations through Qwen web search and normalised them into typed creative families.
  • Added a second, adversarial Qwen pass that grades every factual claim and fetches every cited URL to check it against the live web.

Live endpoints return pre-audited decision packets held at pending human review: a decision with an audit trail, not a chat reply.

Qwen Model StudioAlibaba Cloud Function ComputeTypeScript+1
Platform recovery and infrastructure hardening work
Cloud & Platform · 2025Lead recovery engineer · Faith Associates

Platform Recovery & Hardening

A live client platform for British Muslim Trust had been compromised and was running unstable: no hardened edge, no automated off-site backups and no process supervision, so every traffic spike risked downtime.

  • Locked the origin to Cloudflare's IP ranges at the UFW layer, behind WAF rules and Authenticated Origin Pulls.
  • Replaced unmanaged Node processes with a PM2 cluster that has memory-bound restarts, zero-downtime reloads and log rotation.

No unplanned outages after the rollout, direct-to-host scans shut out, and a verified 15-minute recovery time objective.

Cloudflare WAFPM2Ubuntu+4
OneFirm decision room showing hiring scenarios and decision gates
AI Systems · 2026Builder · OpenAI Build Week

OneFirm

Small businesses facing a big call, like whether a 14-person agency can safely hire two strategists, need the combined work of a finance partner, strategist, auditor and risk adviser. Another dashboard or a generic chat doesn't give them that.

  • Built a deterministic 12-month cash model comparing current-team, one-hire and two-hire scenarios under growth, collection-timing and client-renewal stress.
  • Enforced explicit decision gates (£150k cash floor, £108k MRR, client concentration under 32%) and exposed the full monthly calculation trace.

One consequential question answered end to end: every figure is traceable, and every assumption can be challenged from the Finance, Strategy, Risk, Audit and Capital views.

TypeScriptReactVite+4
AI Systems · 2026Builder · Hack-Nation 2026 (Spiral challenge)

Proof402

As AI agents get wallets and call paid APIs, the hard problem isn't payment but permission. An agent that can pay can also burn a budget on a scam API or a fake grant.

  • Designed a policy gate that intercepts every risky agent action and answers with a real HTTP 402 Payment Required, ready for L402 clients.
  • Issued machine-readable proof receipts (verdict, confidence, evidence, risk flags) for 3–6 sat Lightning-style micropayments behind a swappable payment adapter.

Every agent spend leaves an auditable reason (allowed, denied or sent to manual review), using a 402 and receipt schema ready to plug into real Lightning rails.

Next.js 15TypeScriptTailwind CSS+2
Product & Native · 2026Builder · Encode Vibe Coding Hackathon

RUUM

Second-hand furniture listings rely on flat photos and guessed dimensions. Buyers can't tell whether a piece will actually fit, so good furniture never gets reused.

  • Built a native SwiftUI scan flow on Apple Object Capture that reconstructs a USDZ model on-device, with bounds-derived dimensions and a SHA-256 model hash.
  • Shipped a Vercel TypeScript backend for AI listing generation, buyer interest and asset storage in Vercel Blob.

A working scan-to-listing loop with real on-device 3D capture, real dimensions for fit-checking and a verifiable reuse record.

SwiftSwiftUIObject Capture+4
Cloud & Platform · 2026Cloud lead · GCP sandboxing & security

SwarmOS Cloud Backend

A multi-agent hackathon team needed isolated, observable environments where AI agents could run code and drive browsers without touching anyone's machine.

  • Built and deployed a FastAPI control API on Cloud Run (London region) that spawns, commands and tears down agent workspaces.
  • Packaged a workspace image (Python, Node, Playwright, Xvfb and noVNC for live visual streaming) in Artifact Registry, with GKE Autopilot pods for isolation.

The orchestration team got a live, documented five-endpoint API to spawn agent desktops on demand, with no infrastructure to manage.

PythonFastAPICloud Run+4
OpsPilot cloud operations and telemetry assistant
Cloud & Platform · 2024Systems architect & developer

OpsPilot

During cloud incidents, on-call engineers lose minutes cross-referencing CloudWatch alarms, Kubernetes pod events and Terraform state across a dozen browser tabs.

  • Normalised AWS SNS, PagerDuty and Prometheus alerts into one IncidentContext schema behind a FastAPI gateway.
  • Queried AWS and Kubernetes APIs in parallel with asyncio, and matched alert timestamps against recent Terraform applies to surface drift.

Estimated 60% faster initial triage by collating logs, events and recent infrastructure changes into a single briefing.

AWS SDKTerraformKubernetes+2
TrustRAG permission-aware retrieval system
AI Systems · 2024AI systems engineer

TrustRAG

Standard RAG pulls every semantically similar chunk it finds, leaking confidential documents across roles and inventing unsupported claims. That's a non-starter in compliance-heavy domains.

  • Pushed role and tenant filters down into the vector query, so unauthorised chunks never reach the context window.
  • Mapped every synthesised sentence back to chunk IDs and source versions for a full audit trail.

100% boundary isolation across the cross-clearance leakage benchmarks, with cited answers or an explicit refusal.

PythonRAGVector DB+2
Working on the OrchestrAI codebase
AI Systems · 2024Full-stack engineer

OrchestrAI

Online shopping is spread across dozens of retailer sites with inconsistent stock data and repetitive checkout forms, so comparing and buying one item can take ten or more manual steps.

  • Chained structured tool calls to query retailer catalogues, harmonise specs and rank items by price-to-spec ratio.
  • Kept the basket in an immutable client store, so the model could never hallucinate items or quantities.

A ten-plus-step shopping journey compressed into one conversational flow, with zero hallucinated checkout charges.

JavaScriptTool callingREST APIs+1
Presenting the Gatekeeper security architecture
Security · 2024Backend security engineer

Gatekeeper

Backends often bolt on authentication and validation as an afterthought, which leaves privilege-escalation paths and access decisions nobody can trace.

  • Signed tokens with RS256 key pairs and added a Redis revocation list, fixing stateless JWT's 'can't log you out' flaw.
  • Made every route declare its capability, so unannotated endpoints reject by default.

An auth service reviewers can audit end to end: no hidden trust, and every access path documented.

PythonFastAPIJWT (RS256)+3
Hackathon team around a table
Security · 2024Blockchain & backend developer · 48h

ProofChain

Hate-crime victims and witnesses often don't report, because they distrust centralised systems and fear evidence will be tampered with.

  • Hashed evidence client-side, so plaintext never touches an intermediary server.
  • Anchored SHA-256 hashes in Algorand transaction notes for permanent timestamps with about 3.3s finality.

A complete end-to-end prototype in 48 hours with no prior Algorand experience, praised by judges for scope control.

PythonAlgorand SDKSHA-256+1
Receiving a venture competition award
Product & Native · 2024Frontend & web3 engineer

BrunelOnChain

Hyperliquid offers serious execution quality, but onboarding means bridging, approvals, network switching and opaque slippage, so casual users never get past it.

  • Routed bridges and swaps through the LI.FI SDK to find the lowest-cost cross-chain path.
  • Modelled every step as an explicit state machine (connect, simulate, approve, bridge, execute, verify).

Eight wallet operations collapsed into one verified flow, recognised with a university venture competition award.

TypeScriptLI.FIEthers.js+1
READY programme group photo
Product & Native · 2024Systems developer & Scrum coordinator

Hospital Management System

Clinical staff were juggling disconnected records, scheduling collisions and manual transcription errors.

  • Modelled the domain (patients, doctors, appointments, records) with UML in Visual Paradigm before writing code.
  • Separated persistence from business rules with a DAO layer, using transactional locking on bookings.

A working system covering records, appointments and reporting, with no scheduling conflicts under load testing.

JavaOOPSQL+2
Professional networking event photo
Product & Native · 2023Full-stack developer

Easy Karyalayas

Office services in Nepal ran on physical queues, fragmented contacts and unrecorded cash transactions.

  • Built an MVC PHP application with secure sessions, CSRF protection and prepared statements throughout.
  • Integrated digital payments with signature-verified callbacks and atomic order fulfilment.

A production portal serving real citizens and businesses, delivered from schema design to live server.

PHPMySQLApache+2
Hackathon team after a stage presentation
Awards · 2024–25Lead full-stack & frontend engineer

Google Gemini & NVIDIA Wins

Hackathons demand a resilient, working system in 24–48 hours, plus a product story that convinces judges from Google, NVIDIA and venture firms.

  • Streamed live voice and video to the Gemini Live API over bidirectional WebSockets with sub-second responses.
  • Prioritised the core interactive loop over feature creep, so judges felt the product immediately.

Global UI Navigators winner (Google Gemini Live Agent Challenge) and winner at NVIDIA Hack for Impact London.

Gemini Live APINVIDIA AIWebSockets+1