What I've built
My own product first, then public repos. Each one shipped end to end: schema, API, interface, deploy.
Where I work
Projects
FeedwatchLive
Finds the products Google and Meta silently refuse to list, prices the gap at the merchant's own list prices, and fixes it from the same screen.
- TypeScript
- React Router
- PostgreSQL
- Prisma
- GraphQL
- Docker
catalog-mcp
MCP server that audits a product catalog for Google Shopping and Meta readiness: per-rule breakdown, sample products, affected catalog value.
- TypeScript
- MCP
- Zod
laravel-mcp
Turn a Laravel app into an MCP server. Exposes only the tools and Eloquent columns you list, read-only, with Gate checks.
- PHP
- Laravel
- MCP
pg-readonly-mcp
MCP server in Rust that lets an assistant explore PostgreSQL without being able to change it — SQL parsed and checked before it runs.
- Rust
- PostgreSQL
- MCP
agent-evals
Small eval harness for LLM features and tool-calling agents. Cases in TypeScript, run in CI, the build fails on a regression.
- TypeScript
- OpenAI
- Anthropic
structured-extract
Messy product titles into validated, typed feed attributes with an LLM, then deterministic checks that discard what can't be verified.
- Python
- Pydantic
- OpenAI
- Anthropic
newsroom-rag
Question answering over a Turkish news archive with citations, hybrid search, and a refusal when the archive doesn't support an answer.
- Python
- FastAPI
- PostgreSQL
- pgvector