WORK

Everything I’ve built

Shipped products first, then the platform work underneath them, then prototypes and research. Where something is a prototype, or was operated rather than built by me, it says so.

Shipped & live

Running now, or about to be

MapleScholar

Live product · sole engineer· Live

Paste a research paper’s link, DOI or title and read it as a clean web page — then discuss it in your own language, out of 70+. Built from prototype to the live site.

Next.js · TypeScript · PWA · Python · PostgreSQL · Gemini & OpenAI · Docker · Vercel

Read the case study →Live site ↗

Citestreak

Product owner · launching soon· In progress

Tracks how brands get mentioned and cited across seven AI answer engines. I specified the product and its metric model, owned the unit economics, and directed AI coding agents to build it.

TypeScript · NestJS · Next.js 15 · React 19 · PostgreSQL · Temporal · BullMQ · PayPal

Read the case study →

geocheck

Open source · CLI + MCP server· Live

Checks whether a brand shows up when people ask AI assistants about its market. Runs as a command-line tool and an MCP server, graded against human labels in a gate that fails the build on regression.

Python · MCP · FastMCP · uv · GitHub Actions

Read the case study →GitHub repo ↗

Platform & data

The pipelines underneath

AI-answer collection engine

Internal platform · operated· In progress

The data layer under the GEO metrics: captures answers and citations from the major AI assistants three ways — official APIs, paid scraper vendors, and custom clients — across three deployment targets.

Python · TypeScript · AWS Lambda · Google Cloud Run · BrightData · DataForSEO

Read the case study →

Financial report data extraction

Production pipeline· Complete

Pulls the key details out of bank research reports automatically. Ten vision-model setups compared on one fixed test set, then the winner run over 14,105 real reports at roughly a tenth of a cent each.

Python · OpenAI & Gemini vision APIs · AWS S3 · pandas

Conversation data reliability pipeline

Data engineering· Complete

Turned years of scattered team chat and call transcripts into one clean dataset, cutting unidentified speakers from 3,119 to 964 — with every original message kept beside its AI-cleaned version so any edit can be undone.

Python · pandas · OpenAI & Gemini APIs · WebVTT

Prototypes & client work

Built, demoed, honest about where it stopped

Open textbook finder

RAG prototype· Prototype

Finds free, openly-licensed replacements for paid university textbooks — and says “no match” rather than inventing one. A deliberately unanswerable query was correctly rejected across all 15 candidates.

Python · FastAPI · PostgreSQL (pgvector) · hybrid search · Gemini

Mobile ID & inventory scanner

Client delivery· Complete

A phone camera that reads printed ID and inventory numbers as you point it. The pipeline waits until the frame is steady and actually contains text before spending money on a vision call.

Python · Flask · OpenCV · GPT-4o Vision · Gunicorn

Buy-Canadian product scanner

Client prototype· Prototype

Point a camera at a product and find out who really owns the brand, with Canadian alternatives grouped by province. Three AI providers benchmarked — then a much faster architecture reverted once it started making mistakes.

Python · GPT-4o · Gemini · Perplexity · grounded web search

Research & infrastructure

Including one that did not work

Document-understanding research

Negative result · 2.5 months· Complete

Tested whether text on a page could be matched the way DNA sequences are, using a bioinformatics alignment tool on vectorised page images. It did not work, and I established why — reported rather than quietly dropped.

Python · OpenCV · BLAST / biopython · LayoutLMv3 · Detectron2 · Donut

OpenClaw proactive assistant

Operated & extended · homelab· Complete

A self-hosted agent platform I run and extended: a fully offline WhatsApp voice assistant with no cloud speech, plus scheduled jobs — one captured 6,277 Google AI Overviews overnight. I did not write the platform itself.

Node.js · faster-whisper · sherpa-onnx / Piper · cron · Ubuntu homelab

Read the case study →

Guacamoly remote-desktop

Infrastructure · built & operated· Complete

An always-on system giving teammates in the US, Netherlands and Kenya their own private browser-reachable desktops — plus a live server migration run through AI coding assistants with no downtime for the team.

Apache Guacamole · Docker · nginx · AWS EC2 · Ubuntu

Read the case study →