Annotation Quality API
REST API that tracks data-labelling tasks, submissions and reviews and reports quality metrics such as approval and correction rates. The submission flow is a state machine (accepted, needs correction, rejected), metrics are computed in SQL, and the project ships with pytest tests, Docker and GitHub Actions CI.
Python, FastAPI, SQLAlchemy, PostgreSQL, Docker, pytest
Rhythm Coach
Browser tool for drummers: it plays a click and measures, in milliseconds, how far each hit lands from the beat. Works with a keyboard, touch or a USB MIDI pad, installs on a phone as an app and collects no personal data. Written with AI-assisted tooling; I defined the behaviour and tested it on real hardware.
TypeScript, Web Audio API, Web MIDI, PWA
avatar-builder
Small Python project that builds a personalised SVG avatar from a JSON config: validation with clear errors, fallback names across library versions, and 14 unit tests that run without extra packages. Written with AI-assisted tooling; structure and testing by me.
Python, JSON, unittest
Annotation Review Agent
Small LLM agent that reviews data-labelling submissions against written guidelines. It calls tools (guideline search and annotator statistics) and its answer is validated in code: schema, mandatory citations that must come from retrieved sections, PII masking and bounded retries. Includes an offline rule-based demo and 42 unit tests. Experimental: lexical retrieval only, no MCP server or real-model evaluation yet. Written with AI-assisted tooling; structure and guardrails by me.
Python, LLM tool use, BM25, unittest
Patent Agent
Patent management and search system with a RESTful API and an H2 database.
Java, Spring Boot, H2