I'm a self-taught builder in Ottawa making practical AI tooling for the document-heavy, regulated work that government contractors still do by hand. What I'm building now is a deterministic engine that reads an RFP or Statement of Work and pulls the binding "shall" and "must" language into a page-cited matrix, while separating out the evaluation criteria, definitions, and submission rules that look like requirements but aren't. The goal is that every row traces straight back to a quote on a specific page in the source. I optimize for "does it work on a real document" over "does it demo well." I haven't yet benchmarked it against a hand-built matrix — that's the validation I'd want before anyone trusts it on a live bid, and I'd rather say that plainly than oversell it. I also ship and maintain an MIT-licensed Python package on PyPI (pip install nano-empire-tollbooth) — so the work is installable, not vaporware. I'm not selling anything. I'm trying to learn what would make a tool like this genuinely trustworthy to a proposal team. If you've felt the pain of the first-pass read on an RFP, I'd value 10 minutes comparing notes.
I build deterministic AI infrastructure for the Ottawa GovCon sector. I focus entirely on the document-heavy, regulated workflows that capture teams are still agonizing over by hand. Right now, I am operating a local-first extraction engine that reads massive government RFPs and automatically pulls every binding 'shall' and 'must' into a page-cited compliance matrix. It filters out the non-binding noise and ensures every single row traces directly back to a source page. I optimize for 'does it work on a messy, real-world document' over 'does it demo well on a clean PDF.' (My open-source work is publicly vetted; you can pip install nano-empire-tollbooth to see how I build). I am currently benchmarking my machine's output against top-tier human proposal teams. If you know the pain of the first-pass RFP shred, I’d value 10 minutes to compare notes—or better yet, drop your messiest PDF in my inbox so we can stress-test the code.
Member Since
August 3, 2026
Last Active
23 days ago