Back
// the_technical_file

The case files.

Tools I built to get from raw data to a story worth telling — agents, automation, and analysis. Each one shipped; each one taught me something the docs didn't.

FILE 001

Ask Siri — Live Voice Agent

Next.js · TypeScript · ElevenLabs Conversational AI · 2026

A password-gated ElevenLabs Conversational AI agent, built on a clone of my own voice, that only ever answers from an uploaded knowledge base - resume, project write-ups, FAQ, personal life. If retrieval turns up nothing, it says so instead of guessing. Passwords carry a resumable, server-tracked ten-minute budget synced via sendBeacon on tab close, a client-side silence watchdog ends idle calls independently of any dashboard setting, and two agent tools (log_unanswered, send_contact) escalate real gaps straight to my inbox. Red-teamed against a fixed question set before it ever shipped.

FILE 002

On-Demand Voicemail Generator

TypeScript · Next.js · Claude Opus 5 · ElevenLabs · 2026

A bilingual (EN/FR) tool that turns a prospect's name, title, and company into a playable voicemail - in a cloned voice - in about ten seconds, drafted by Claude and synthesized by ElevenLabs. The same three-stage pipeline (draft → synthesize → deliver) runs from a live form mid-call or in batches over a CSV, and it forks at the one point that matters: playback is instant and gate-free, but sending it to someone else always stops for an explicit confirmation showing exactly who, what, and how large first. Built as a tested Python CLI, then ported to Next.js API routes so it could run live on the site instead of needing its own server.

FILE 003

Account Dossier Agent

Python · Anthropic API / Ollama · SQLite · SEC EDGAR · GDELT · 2026

A multi-agent pipeline that turns a company's site, blog, job board, SEC filings, and news coverage into a cited research dossier - then drafts outreach that's only allowed to reference what the dossier actually verified. Every claim carries a verbatim quote checked programmatically against its source; if the model can't quote it exactly, the claim gets rejected, not silently invented. Corroboration is tiered - site content and ATS job data trust first, SEC filings second, GDELT news third - so a single stray headline never gets treated as verified fact.

FILE 004

Lead Qualification Agent

Python · SQL · Local LLM (Ollama) · SEC EDGAR API · 2026

A lead-qualification pipeline built to solve the problem I run into at Tipalti every week: inbound funnels drown reps in volume, and the real buyers go stale while triage takes days. It resolves messy company names against real filings data, scores leads against an auditable SQL model a RevOps lead could read and retune without touching code, and reserves the LLM for the one job only it's suited for - reading intent out of an ambiguous message. On synthetic test data: 99.7% company-resolution accuracy, 99.1% precision and 100% recall on high-priority leads, and a clean 10/10 against adversarial prompt-injection attempts.

FILE 005

Executive Agent

Python · LLM · Agentic workflow · 2026

An agentic assistant that reads across the messy inputs of a working day - email, calendar, notes, documents - and produces a single prioritized brief: what needs a decision, what can wait, and what to say. Built around a plan-and-review loop so the agent proposes, and a human approves, before anything leaves the room.

FILE 006

Downloads Butler

PowerShell · Ollama · Open source · 2026

A five-stage pipeline - scan, analyze, report, approve, execute - that inventories files with SHA-256 hashing, flags duplicates and stale installers with a deterministic rules engine plus an optional local-LLM pass, then presents an HTML approval page. Approved actions run through a quarantine system with a full restore path, so no file is ever destructively deleted. Built and adversarially tested against path-traversal and protected-file edge cases.

FILE 007

ATIP Automation

Work in progress

Tooling that takes the grind out of Access to Information requests - drafting, filing, and tracking.

This one's still under construction. Contact me for more info.

More experiments live on GitHub, including the ones that didn't make the cut.