
Systems
AI Systems I Have Built
I am an academic who builds. Frontier models where the work demands it, small open models where they measure up, and the measurements published either way.
- Built, not just specifiedWorking systems, documented end to end
- Several running dailyIn real use rather than in a demo
- Agents, SLMs, RAG, applicationsThe capability areas covered
- Measured either wayIncluding the one that lost and was not shipped
These range from a fine-tuned classifier and a private search engine over my own teaching material to multi-agent systems with hard spending limits. Each page says what was hard, what I built, what the evidence shows and what I learned, including the one where my fine-tuned model lost and was not shipped. Client names follow my clients' wishes, and no confidential data appears.
A selection. These are the systems I can write about. Several were built for clients under confidentiality and appear here only in outline, or not at all, and the internal tooling I run day to day is not listed. What is here is enough to show how I build.
FlagshipPrototypeSLMs & fine-tuningAuthor-Query Triage: A Fine-Tuned 1.7B Model
A small local model beat a good prompt by 24.5 points on held-out queries.
- Fine-tuned accuracy
- 88.3% (83 of 94)
- Best prompt baseline
- 63.8%
- Qwen3-1.7B
- QLoRA
- PyTorch
- transformers
- Open →
FlagshipPrototypeAgents & automationHelm: A Marketing and E-Commerce Team in Software
73 Claude-based roles with hard spending limits, and an honest review of what failed.
- Agent roles
- 73 in 16 departments
- Action types
- 131
- Claude Code (headless)
- Claude Opus
- Claude Sonnet
- Claude Haiku
- Open →
FlagshipRunningAgents & automationli-post: LinkedIn Posts with a Review Panel
A scout, a writer in my voice, and reviewers who can block a post.
- Posts produced
- 18 (11 posted, 7 draft), 12 Sep to 3 Nov 2026
- Agents
- 4: one scout and three reviewers, two of whom can block
- Claude Code skill
- Claude Sonnet (scout and reviewers)
- Claude in Chrome
- Python
- Open →
FlagshipRunningRAG & knowledgeTeaching Materials RAG
Search across 86,527 passages of my own course material, fully local.
- Files inventoried
- 7,339 (29 GB)
- Files read
- 5,527
- Python
- LanceDB
- Ollama
- nomic-embed-text
- Open →
PrototypeAgents & automationCastLink AutoQuote
Reads a drawing from email, checks 49 rules, and drafts a quote for CEO approval.
- Quotation rules checked
- 49
- Rate cards used for costing
- 12
- Claude Code agents
- Gmail
- Python costing scripts
- Reconcile script
- Open →
SpecificationApplicationsFMCG-Sim: An Indian Business Simulation for the MBA Core
Six rounds of FMCG competition built to replace an imported simulation with an Indian one.
- Rounds per run
- 6, plus a practice round
- Decision modules
- 7
- Simulation engine
- Node
- React
- PostgreSQL
- Open →
PrototypeAgents & automationGoogle Ads Agent System
One command plans a Search campaign; a human always clicks Publish.
- Keywords analysed in the class demonstration
- 10,000+
- Ad groups built
- 22
- Claude Code skill
- Claude agents and review panels
- Claude in Chrome
- Google Keyword Planner
- Open →
ResearchAgents & automationInvest System: Quant Research with Agent Review
A rigorous method for stock selection, with a backtest that was not significant.
- Backtest gate result
- +1.98% per trade, p = 0.12, not significant
- Information coefficient
- +0.23 vs -0.10, positive in 7 of 7 years
- Python 3.11
- DuckDB
- Polars
- LightGBM
- Open →
PrototypeSLMs & fine-tuningManuscript-to-XML Structuring Pipeline
Rules first, a 20B open model for narrow questions, and a guard against lost text.
- Test articles building DTD-valid
- 411 of 411
- Table parts matched to final files
- 8,714 of 9,186 (94.9%)
- Python
- lxml
- python-docx
- gpt-oss-20b
- Open →
ResearchSLMs & fine-tuningSLM Lab and li-distill: Small-Model Fine-Tuning Labs
A fine-tuned 1.5B model scored 0.894, lost to stock Qwen3-8B, and was not shipped.
- Stock Qwen3-8B
- 0.943
- Fine-tuned Qwen2.5-1.5B
- 0.894 (not shipped)
- Qwen2.5-1.5B-Instruct
- Qwen3-1.7B
- Qwen3-4B-Instruct-2507
- Qwen3-8B
- Open →
RunningAgents & automationThe Forge Family: An Agent Operating System on Claude Code
Marketing and research command systems, desktop apps, and a study of AI brand governance.
- Forge Suite command systems
- 14 under one orchestrator
- Research suite
- 18 skills, 21 sub-agents
- Claude Code
- Tauri
- Rust
- React
- Open →
PrototypeApplicationsHandwritten Exam Grader
Handwriting to text to rubric-based grading suggestions, with a human in the loop.
- Streamlit
- Azure Document Intelligence
- Azure OpenAI
- Ollama (Llama 3.1 option)
- Open →
PrototypeAgents & automationResearch-Pilot
Three agents test whether a research idea deserves a top-journal attempt.
- Claude Code skill
- Claude agents
- Crossref API
- Google Scholar via Claude in Chrome
- Open →
RunningAgents & automationRR Mart Retail Cockpit
ERP exports and store WhatsApp messages become an audited morning brief.
- Stores
- 28
- Agent personas
- Roughly 50
- Claude Code agents
- ERP API
- WhatsApp Business messages
- Python
- Open →
SpecificationApplicationsSparkBox
A specification for turning raw staff ideas into structured proposals.
- Base44 (teaching version)
- React
- Tailwind
- shadcn/ui
- Open →
Nothing under that capability.