← back to the front page

All builds

The build log

Everything compounds. This is the visible slice of the reps: production systems carrying client work, lab experiments that earned their numbers, weekend golds, and the academic roots underneath.

17 builds · every claim carries a number, a name, or a link

01

Production

Employed work: systems with users, uptime, and consequences. Built as first hire at Amplifyr, the platform that helps brands measure and grow their visibility in AI search, from ChatGPT citations to Google AI Overviews.

Company Brain

Amplifyr · in production

Proves: retrieval architecture, production MCP, multi-tenant security

Amplifyr's internal knowledge platform, and the first system I owned end to end as first hire. A custom MCP server built on FastMCP exposes 25+ tools over hybrid retrieval: BM25 and vector search fused with RRF over Aurora pgvector, embeddings from Bedrock Titan. Runs on Fargate behind Cognito, with per-client row-level security keeping every tenant's data sealed.

25+ MCP tools · hybrid BM25 + vector with RRF · live across all client accounts

FastMCP · Aurora pgvector · Bedrock Titan · Fargate · Cognito

Content-agent pipeline

Amplifyr · in production

Proves: multi-stage agent orchestration under real load

Multi-stage LangGraph agents that research before they write and check their work after: source intelligence up front, Lost-in-the-Middle prompt ordering in the middle, automated fact-checking and GEO scoring at the end. The whole run is surfaced in-app as a live workflow DAG, so clients watch the pipeline think instead of trusting a spinner.

LangGraph · Python · GEO scoring

Data platform

Amplifyr · in production

Proves: data engineering end to end

The layer everything else stands on: Bing Webmaster, GA4 and bot-log ingestion into an Apache Iceberg lake, queried through Lambda and Athena, with a Redis cache warmed right after each daily ingestion so no dashboard ever waits on a cold query.

Apache Iceberg · Athena · Lambda · Redis

Client analytics

Amplifyr · in production

Proves: frontend range, 15 shipped views

Fifteen client-facing analytics visualisations in Next.js: a competitive-position matrix, share-of-voice trends, prompt battle maps, sentiment treemaps, and AI crawler-log analytics. Every chart answers a question a client was already asking.

15 interactive views, startup to enterprise clients

Next.js · React · TypeScript

Eval infrastructure

Amplifyr · in production

Proves: I test agents like software

The reason the agents above get to call themselves production systems. An Inspect AI suite, a deterministic record/replay harness so sub-agent tests run without a live model, and retrieval-quality plus claim-fidelity gates wired into CI. Regressions surface in the pipeline, not in front of clients.

Inspect AI · record/replay harness · CI gates

02

Lab

Self-directed. Nobody assigned these; each one exists because building it was the fastest way to understand something.

antman · oos equity curve
AntMan out-of-sample equity curve vs buy-and-hold benchmark

AntMan

Solo build

Proves: agent-harness design + eval rigor

Multi-agent quant research built to disprove itself. Scout agents hunt for trading edge, skeptic and audit agents try to kill every candidate, and a sealed 70/30 holdout delivers the verdict. Around 12,000 configs searched; exactly one strategy survived. I publish the honest numbers because honest numbers are the whole point.

OOS Sharpe 0.77 vs 0.82 buy-and-hold. The real edge is drawdown: −34.9% vs −63.9%.

Python · multi-agent orchestration · sealed-holdout evals

github.com/FilipNguyen/AntMan

retention-lab · 48h simulation
Retention Lab dashboard with simulated user cohorts and notification A/B test

Retention Lab

Solo build

Proves: agent simulation, memory systems, evals-as-product

Simulate your users as AI agents and A/B-test notifications before a real person sees one. Agents get identities and 48-hour routines, Claude writes contextual notifications live, a Mubit memory layer learns across runs, and a two-proportion z-test calls the winner.

Next.js · Claude API · Mubit · TypeScript

github.com/FilipNguyen/Sims

EasternExe

Collaboration

Proves: full-stack product shipping

The AI workspace for group trips. WhatsApp chat, docs and audio go in; a group chat, a private AI assistant and a live map come out. There is a live demo trip you can join right now.

live demo triprepo

Trashbot

Collaboration

Proves: harness improvement from evidence

A self-improving agent harness that learns from 80,000 real coding-agent runs. The premise: agent scaffolding should get better from data, not from vibes.

repo

This website

Agent-directed

Proves: agent-directed craft, verified by eye

Built end to end by an agent loop I directed: every section screenshot-verified before it shipped, motion budgeted against a written design contract, nothing marked done until it popped.

Lighthouse 90/100/100/100 · 3 easter eggs hidden

Next.js · Tailwind · GSAP · Lenis

You are looking at it.

03

Hackathons

48 hours or less: the fastest honest test of whether an idea, a team and my hands can produce something real.

Marmalade

1st · Mozart AI × OpenAI × ElevenLabs · Mar 2026

Real-time music collaboration on the web: 20ms-latency live jamming, intelligent key and beat matching, git-style session versioning. Sketch to 1st place in 28 hours, and the judges joined the jam at the end.

20ms latency · 1st place · 28 hours

get-marmalade.comrepo

WOMPOO

1st · Imperial Fintech Hackathon · Oct 2025

Privacy-first, real-time scam detection for families. We beat 21 ventures from Imperial, Oxford, UCL, KCL and ETH Zürich, and walked out with £3,000.

£3,000 · 21 ventures beaten

Repo private.

Copilot Stack RAG chatbot

Microsoft × NVIDIA

A RAG chatbot on the Copilot stack: Azure OpenAI, Semantic Kernel and vector search, containerised and deployed to Kubernetes with CI/CD. Early proof I could ship retrieval under a deadline.

Azure OpenAI · Semantic Kernel · K8s · CI/CD

UCL VibeHack

Judge · 2026

The other side of the table. After winning from the floor, I judged student teams on idea, execution and creativity. Knowing what judges reward sharpened how I build.

04

Academic

Where the reps started. The tools changed; the habit of proving it with numbers did not.

BSc dissertation

University of Exeter · 2024

Proves: the protective-AI thread starts here

Machine learning for cyberbullying detection on X. I benchmarked 9 classifiers on TF-IDF features (1 to 2 grams); a stacking ensemble reached 0.82 across accuracy, precision, recall and F1, with ROC-AUC 0.89. SMOTE and class weighting lifted minority-class recall from 0.68 to 0.81. Personally motivated: I watched it happen to people around me.

0.82 acc / prec / recall / F1 · ROC-AUC 0.89 · minority recall 0.68 → 0.81

Protective AI, round one. WOMPOO was round two.

Earlier ML

Churn model

The AA · 2025

A churn model over 2.5M annual renewals: scikit-learn and XGBoost, +12% accuracy on high-risk segments, feeding targeted outbound across 300k leads.

+12% accuracy · 2.5M renewals · 300k targeted leads

Python · scikit-learn · XGBoost

GPS clustering

Staxy · 2024

Delivery-scale GPS work: DBSCAN and HDBSCAN over large location datasets on AWS, a transport-mode prediction model at 70% accuracy, and delivery times cut by 15%.

70% transport-mode accuracy · 15% faster deliveries

DBSCAN · HDBSCAN · AWS