Trademark Portfolio Audit Engine
A pipeline that analyses any company's trademark portfolio and surfaces unprotected marks, expired marks, renewal deadlines and geographic gaps, turning raw data into a ready-to-send sales brief in about seven minutes per company.
On one construction group: 1,110 trademarks across 66 jurisdictions analysed, 9 unprotected marks detected. Built to run across 1,000+ companies a year.
STACK
n8n (self-hosted), Perplexity Deep Research, Open Corporates, trademark APIs, Claude, Supabase, Google Sheets
Dual-mode Sales & Knowledge Chatbot
One assistant that switches between teaching (trademark questions across 91 jurisdictions, answers constrained to a sourced knowledge base, no hallucination) and selling (qualifying prospects with tact coded in).
One case per session, honest portfolio segmentation, even telling small portfolios they may not need the product.
STACK
n8n, Voiceflow, Supabase vector store, Claude, OpenAI embeddings
Autonomous Legal-Knowledge Refresh
A system that regenerates the legal knowledge base for 91 jurisdictions every quarter, unattended, in roughly 18 to 24 hours, then notifies itself when done.
Around $314 per quarter to keep a 91-jurisdiction base current. A small team moving like a large one, made literal.
STACK
n8n (scheduled), Perplexity deep research, Claude, Google Drive, Gmail, Slack
Regulatory MCP
Personal projectA retrieval system over the EU AI Act and GDPR that returns exact source text with full provenance, no AI paraphrase, built for people who must cite the real wording.
Hybrid search (semantic + lexical, fused with RRF) reaching recall@5 of 1.000 on the AI Act. I caught an infrastructure bug where the index had been running at ~4% recall and fixed it to 100%. 18+ documented architecture decisions, honest evaluation findings including the failures.
STACK
Python, Postgres + pgvector, Mistral embeddings, FastMCP, Docker
A web platform that tracks and values European football cards, 250k+ cards across Topps and Panini, giving collectors a financial-market view of their collection. It aggregates listings and sales, identifies each card automatically with an LLM routing layer (Haiku for volume, Sonnet for ambiguous cases), and surfaces clean pricing on a fragmented market with no reliable reference.
I'm the product owner and architect: I direct the entire build through AI agents, own every structural decision (positioning, design, data sources, auth, monetisation), and run the ops myself. I also built and operate the upstream data pipeline that feeds it.
STACK
Python, FastAPI, HTMX, Tailwind, SQLite, Claude (Haiku/Sonnet), Hetzner
An MCP server that checks a candidate drug name against 70,000+ medicines across 8 EU and US markets, reserved WHO INN stems, and generic names, returning a risk-ranked verdict in seconds.
Three independent alert layers (brand, stem, INN) fused into one answer, with transparent, auditable scoring. Built on official open data (EMA, FDA, NHS, ANSM, AEMPS and more), runs entirely inside Claude in plain language.
STACK
Python, FastMCP, phonetic + trigram matching, official open-data pipelines