Retrieval
Hybrid search, not just vectors
I didn't want the knowledge base guessing. It combines vector similarity, graph traversal, and full-text search, so each question gets the retrieval method suited to it, not a one-size-fits-all lookup.
Hello, I’m
Open to work now · fractional and part-time immediately, full-time from January 2027
I take LLM agents from demo to production.
Hands-on engineer with a decade of product and delivery behind it. The flagship is solo-built, shipped, and running a real business every day, and I spent two years embedded with Australian state government agencies — police through primary industries — running the requirements and building what came out of them. Ask the agent below about my work — it’s one I built.

Ten years leading projects and people. Five years writing the code myself. I speak both languages fluently — technical enough to build it, senior enough to run it, and to stand in front of a client and explain why it’s the right call.
Consider me a product manager with a lot of hands-on experience.
Try it
This isn’t a chatbot glued on top. It’s the same kind of multi-agent system I design and put in front of clients — answering from what I’ve actually written about my work, grounded, cited, and honest when it doesn’t know.
Ask a question on the left, or try one of the examples above — I’ll answer for real, using what I’ve actually written about my work.
Grounded in my actual notes — if something isn’t covered, I’d rather say so than guess.
Not sure what to ask?
Agent orchestration and routing
One coordinator, nine specialists, one audit trail.
Retrieval design
Vector, graph and full-text search sitting side by side.
Human-in-the-loop control flow
The business analyst agent runs multi-round elicitation, pausing mid-workflow with suspend/resume.
Safety and governance
Approval graduation, and Lex — the compliance agent that reviews advice against AFSL rules and never auto-approves.
Code written in a team
Two years of commits in a shared open-source codebase.
The system on show
business-mono
Plainly: it’s the software that runs a small business’s operations — client records, research, content, compliance review, project management — as a set of LLM agents with a human at the edge of every decision that matters. The business it runs happens to be a bitcoin one; nothing about the system depends on that.
Picture a hub-and-spoke team: one coordinator agent, Simon, routes work to a roster of specialists, all reading and writing to the same database. Running it is less like maintaining code and more like running a team — nine specialists, one point of accountability. I designed the architecture, I explain the trade-offs to clients, and I’m the one who answers for every decision below.
The repository is public, so none of this has to be taken on trust.
github.com/avunculargroup/business-mono ↗Retrieval
I didn't want the knowledge base guessing. It combines vector similarity, graph traversal, and full-text search, so each question gets the retrieval method suited to it, not a one-size-fits-all lookup.
Control flow
The requirements agent can stop mid-workflow to ask a clarifying question, then pick up right where it left off. Real work rarely happens in one uninterrupted pass, so I didn't build it that way.
Safety
Actions graduate from human-confirmed, to batch-approved, to autonomous — but never all the way for the things that matter. Emails, published content, anything touching a client's money stays in a human's hands.
Governance
Every piece of advice-framed writing gets reviewed against the actual regulations, logs its verdict, and re-checks itself the moment the copy changes. No shortcuts.
How I work
The tech I use has changed several times over. These haven’t.
I pay as much attention to what people aren't saying as to what they are. Most people already know the right decision — what they need is a room safe enough to say it out loud. It's why elicitation and human-in-the-loop keep turning up in the systems I build: the same instinct, written down as architecture.
Making the call isn't the hard part. Standing behind it in public when it turns out badly is, and it's worth doing: it's how a team learns, and it sets the norm that being honest costs you nothing here. Easy to say. Genuinely hard to do.
Stack
Track record
A move from product and project management into engineering, and now into agentic systems — the product instinct came first, the code followed.
We co-founded this one — Carolyn Crawford leads the commercial and training side, I own the technology end to end. I architected and built business-mono, a multi-agent operations platform in TypeScript on Mastra, Next.js 15 and Supabase with pgvector, and it runs the business daily.
Two years embedded with Australian state government agencies — police through primary industries — running requirements with them and tailoring WebEOC, their incident management platform, into applications that fit how they actually work. Front-end build inside a legacy codebase, plus mentoring and a code-review process I set up.
Full-stack work across a monorepo of microservices and a React Native app — I contributed to Tupaia, a health-data platform, and Tamanu, an EMR used across the Pacific.
Twelve weeks, full-time, learning to actually build things — JavaScript, Node, React, Postgres. The turning point.
Pandemic response. The constraint was almost never technical — it was getting senior people with different operational realities to agree on one course of action, quickly, while government direction changed underneath us.
Led the build and launch of FlexiDirect, a SaaS platform — pricing, roadmap, and the whole cross-functional mess of shipping something real. I also grew the project management office from one person (me) to six.
A decade in project coordination and student admin. Not glamorous, but it's where I learned how organisations actually work.
Get in touch
Open to work now · fractional and part-time immediately, full-time from January 2027
Melbourne, Australia