The archive
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 & PlatformMigrationOps Copilot
Cloud & Platform · 2026Builder · Microsoft AI Dev Days 2026
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.
- Gated a non-destructive, simulated executor behind explicit human approval, exposed through a CLI, a FastAPI web UI and an MCP server, with GitHub Actions CI.
→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
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.
- Routed each run into an append-only review ledger where an operator must acknowledge every checkpoint, then deployed to Alibaba Cloud Function Compute.
→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
Cloud & Platform · 2025Lead recovery engineer · Faith Associates
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.
- Scripted daily database and file snapshots to off-site storage, then wrote the disaster-recovery runbooks and handover.
→No unplanned outages after the rollout, direct-to-host scans shut out, and a verified 15-minute recovery time objective.
Cloudflare WAFPM2Ubuntu+4
AI Systems · 2026Builder · OpenAI Build Week
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.
- Wrote the partner memo and dissent with the OpenAI Responses API and Zod structured outputs, instructed never to invent or recalculate a number.
→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)
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.
- Built a configurable spend policy (caps, confidence thresholds, blocked terms) and a live dashboard of allowed, denied and manual-review actions.
→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
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.
- Minted a Walrus-backed Sui reuse passport for each item, with the whole system specified in codeplain specs.
→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 & PlatformSwarmOS Cloud Backend
Cloud & Platform · 2026Cloud lead · GCP sandboxing & security
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.
- Hard-coded safety into every container, a 30-minute auto-kill and a destructive-command blocklist, all covered by a pytest suite.
→The orchestration team got a live, documented five-endpoint API to spawn agent desktops on demand, with no infrastructure to manage.
PythonFastAPICloud Run+4
Cloud & Platform · 2024Systems architect & developer
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.
- Kept automation safe by gating runbook suggestions behind operator confirmation and scoping IAM to read-only.
→Estimated 60% faster initial triage by collating logs, events and recent infrastructure changes into a single briefing.
AWS SDKTerraformKubernetes+2
AI Systems · 2024AI systems engineer
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.
- Built an evaluation harness covering 200+ permission-boundary cases, and refused to answer below a 0.78 similarity threshold.
→100% boundary isolation across the cross-clearance leakage benchmarks, with cited answers or an explicit refusal.
PythonRAGVector DB+2
AI Systems · 2024Full-stack engineer
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.
- Queried retailers concurrently with a 1.8s timeout, and validated every upstream payload with Zod.
→A ten-plus-step shopping journey compressed into one conversational flow, with zero hallucinated checkout charges.
JavaScriptTool callingREST APIs+1
Security · 2024Backend security engineer
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.
- Validated every payload with strict Pydantic models, and emitted structured audit events for each auth decision.
→An auth service reviewers can audit end to end: no hidden trust, and every access path documented.
PythonFastAPIJWT (RS256)+3
Security · 2024Blockchain & backend developer · 48h
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.
- Cut scope hard to the core trust mechanics so the demo would actually work in 48 hours.
→A complete end-to-end prototype in 48 hours with no prior Algorand experience, praised by judges for scope control.
PythonAlgorand SDKSHA-256+1
Product & Native · 2024Frontend & web3 engineer
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).
- Simulated each transaction before asking for a signature, and showed worst-case slippage and fees up front.
→Eight wallet operations collapsed into one verified flow, recognised with a university venture competition award.
TypeScriptLI.FIEthers.js+1
Product & Native · 2024Systems developer & Scrum coordinator
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.
- Ran the team in Scrum on GitHub with branch protection and peer-reviewed PRs.
→A working system covering records, appointments and reporting, with no scheduling conflicts under load testing.
JavaOOPSQL+2
Product & Native · 2023Full-stack developer
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.
- Deployed to a Linux server with Apache virtual hosts and SSL.
→A production portal serving real citizens and businesses, delivered from schema design to live server.
PHPMySQLApache+2
Awards · 2024–25Lead full-stack & frontend engineer
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.
- Cached tool responses and built offline fallbacks, so flaky venue Wi-Fi could never break the live demo.
→Global UI Navigators winner (Google Gemini Live Agent Challenge) and winner at NVIDIA Hack for Impact London.
Gemini Live APINVIDIA AIWebSockets+1