[01/08] balancetilt +0.0°drag to tip · click a pan to add weight
Toronto · Called to the Ontario Bar, 2026
I turn legal tasks into systems AI agents can run.
Ontario lawyer and AI builder. I built Canadian legal research for AI agents, an agent harness that nearly doubled all-pass rates on Harvey's Legal Agent Benchmark, and an open model that reads how courts treat the cases they cite.
Canadian legal research for AI agents. An MCP server that gives Claude and ChatGPT 1.7 million Canadian cases and statutes with paragraph pinpoints, a 16-million-link citation graph, a built-in citator, and a checker for invented citations.
$delphi check_document memo.txtR v Oakes, [1986] 1 SCR 103 PASSCanada (MCI) v Vavilov, 2019 SCC 65 PASSDoe v Roe, 2031 ONCA 999 FLAG - does not resolve to any decision>2 verified · 1 flagged
An agent harness for Harvey's Legal Agent Benchmark. A criteria-blind loop that must read every source document, with fresh-context reviewers rechecking figures, dates and citations. It brought open-source models up to the level of closed frontier models.
An open 9B decision model for case law. Fine-tuned d3-flash (Qwen3.5-9B backbone) to classify Canadian court decisions for citator work, such as how a court treats a case it cites.
accuracy · decisions newer than training dataoveralllev #######################.96.4% jev 1.13 #######################. 95.2%treatment of a cited caselev ######################..90.8% jev 1.13 ###################..... 80.7%
The first native Linux install on the ASUS Googlebook 14. A full Omarchy desktop boots from the encrypted internal drive on the factory firmware, with no replacement firmware and no UEFI conversion. I turned it into a reproducible image builder with staged install and recovery tools.
Break a legal task into decisions, rules, exceptions, and the points where a person has to decide.
BLG: turned recurring litigation drafting into repeatable automated workflows.
02 define_good
Write the examples, criteria and test cases an agent is judged against.
Mithril Harness: generation stays blind to the criteria; separate reviewers check the output against the sources.
03 find_failures
Run realistic scenarios, find where the agent breaks, and fix the cause.
Delphi: a checker that catches invented citations before anyone relies on them.
04 prototype
Get from idea to a working prototype, then hand engineers something real.
Lev: from training run to released weights, code and report.
Tools
Claude Code
Codex
MCP servers
RAG
LLM evaluation
LoRA fine-tuning
PyTorch
vLLM
Python
JavaScript
Ruby
06 / Experience§ law2023 – present
Where I've worked
Borden Ladner Gervais LLP
Articling Student, Summer Law Student
Summer 2024, 2025 – 2026
Researched and wrote on AI governance and compliance (Canada's AIDA, the EU AI Act). Drafted pleadings, memoranda and court orders in civil procedure, class actions and health law, and built repeatable automated workflows for that drafting. Argued motions and appeared before arbitration panels.
ZeroDraft AI (simplegrants.ai)
Junior Developer & Compliance Officer, Co-founder
Sept 2024 – present
Compliance procedures for an AI startup in the regulated grants and tax-credit space. LLM workflows behind production grant-matching and grant-writing features. Conferences, procurement and go-to-market.
Community Legal Education Ontario
Summer Law Student
Summer 2023
Access-to-justice research; briefing notes, reports and policy papers.
University of Toronto, Faculty of Law · JD, after 1L at Osgoode Hall2025
University of Toronto · History, Dean's List2018 – 2022
07 / Contact§ = </>Toronto
Have a legal workflow that keeps breaking? I'd like to see it.