Work

A few things I've built.

Each item is labelled. Real work was built for production at companies I've worked with; those names stay private and so does the code. Demo and Open source items are public and built by me to show how I work.

Demo · fictional data

Buyer request → listing matcher

Problem
Buyer inquiries arrive as free text. Someone has to read each one, work out what is a must and what is a wish, search the listings and reply.
What I built
A matcher that turns the message into structured requirements, applies the firm ones as hard filters, ranks the rest with semantic, keyword and distance search, explains every match, scores the lead and prepares a CRM-ready record. Nothing is sent anywhere.
Status
Live demo on invented data. Not client work and not a production real-estate product.

Hybrid search · in-browser embeddings · SQL filters · lead qualification

Try the demo →

Real work

AI coding-agent migration pipeline

Problem
Dozens of production API endpoints had to move from a legacy service to Go. By hand, each took two to three days and risked changes in behavior.
What I built
A coding-agent pipeline: read-only tracing of each endpoint, generated Go code, mandatory human review and parity checks, and per-route traffic splitting for a safe rollout.
Result
Across about 40 migrated endpoints, most went from two to three days to under half a day.

AI agents · Python · Go · human review

Real work

Spec-to-tasks agent planning harness

Problem
Agents turning product specs into epics and tasks burned tokens on raw documents and lost control on long runs.
What I built
A staged pipeline that first builds a verified, source-cited context, then breaks the work down level by level with propose → human approve → write gates, cost ledgers and resumable runs.
Result
Auditable agent runs that can resume after a failure, with a human approval at every level.

LLM orchestration · cost control · approval gates

Real work

Database latency fix under high traffic

Problem
A hot read path regressed to about 120 ms at the 99th percentile. The obvious index didn't help, because one value made up about 99.9% of the rows.
What I built
Confirmed the cause with query plans, replaced the index with a partial index on the rare, hot values, and traced the remaining cost to wide JSON columns and connection hold time.
Result
99th-percentile latency went from about 120 ms to about 50 ms.

PostgreSQL · performance · indexing

Open source

MCP server toolkit

Problem
Letting an AI assistant use your data and APIs safely needs guard rails.
What I built
A Python Model Context Protocol server with GitHub tools, read-only SQL, HTTP calls driven by an OpenAPI spec, blocked internal-network requests, tests and CI.
Status
Public portfolio project. Works with desktop AI assistants and code editors that support MCP.

MCP · AI agents · Python

Source on GitHub →

Earlier marketplace reviews are on my Freelancer profile.

Have something similar in mind?

Send two lines about the work and how often it happens. The first paid step is a small proof of concept, from $200, credited to the build.

LinkedIn profile