Not tools I used. Systems I built and shipped.
Trademark Portfolio Audit Engine
A pipeline that analyses any company's trademark portfolio and surfaces unprotected marks, expired marks, renewal deadlines and geographic gaps. Raw registry data in, a ready-to-send sales brief out, in minutes per company.
Built to run across the whole target account list, every year, without anyone touching it.
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 dozens of jurisdictions, answers constrained to a sourced knowledge base) 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 a multi-jurisdiction legal knowledge base every quarter, unattended, overnight, then notifies itself when done.
A small team moving like a large one, made literal: keeping the base current costs almost nothing.
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 and lexical, fused with RRF), evaluated against a labelled test set, with the architecture decisions and the failures documented.
Stack
Python, Postgres + pgvector, Mistral embeddings, FastMCP, Docker
A web platform that tracks and values European football cards across Topps and Panini, giving collectors a financial-market view of their collection. Listings and sales aggregated, every card identified by an LLM routing layer.
I'm the product owner and architect: I direct the build through AI agents, own every structural decision, and run the ops and the upstream data pipeline myself.
Stack
Python, FastAPI, HTMX, Tailwind, SQLite, Claude (Haiku/Sonnet), Hetzner
An MCP server that checks a candidate drug name against tens of thousands of medicines across 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 auditable answer. Built on official open data, runs entirely inside Claude in plain language.
Stack
Python, FastMCP, phonetic + trigram matching, official open-data pipelines