Projects
Things I've built and shipped. Each one expands with the problem, the approach, and what happened after it hit production.
Agentic Intent Workflow
Turns a clinical note request into a typed, validated workflow of agent, deterministic and human-review tasks.
▶
Agentic Intent Workflow
Turns a clinical note request into a typed, validated workflow of agent, deterministic and human-review tasks.
Problem
Handing a clinical note to an LLM and asking for structured output gives you an answer with no way to tell which parts were grounded in the document, which were inferred, and which needed a human.
Approach
Split the pipeline into structured intention capture, typed workflow generation, deterministic graph validation, then bounded execution across agent, retrieval and human-review tasks, so every step is inspectable.
Outcome
Early implementation. Intention capture runs end to end on complete cases with a passing smoke test; the typed DAG executor is the next milestone.
Stack
openclaude
An OpenAI-compatible API over the local Claude CLI, so agent frameworks run on a Claude login, no API key.
▶
openclaude
An OpenAI-compatible API over the local Claude CLI, so agent frameworks run on a Claude login, no API key.
Problem
Agent frameworks like LangChain, LangGraph and Deep Agents all speak the OpenAI chat-completions protocol, so using Claude through them means a separate Anthropic API key and a billing account, even when you already pay for Claude.
Approach
A thin server that exposes /v1/chat/completions and translates it to the already-authenticated `claude` CLI, spawning it per request and mapping its json and stream-json output back to OpenAI's response and SSE shapes.
Outcome
Any OpenAI-compatible client can point at localhost and use an existing Claude login, with streaming, file attachments and per-request reasoning effort.
Stack
Second Brain OS
A local-first second brain that answers from a knowledge graph built out of your own documents, not the web.
▶
Second Brain OS
A local-first second brain that answers from a knowledge graph built out of your own documents, not the web.
Problem
A chatbot answering from generic web knowledge cannot tell you what to focus on next, because it knows nothing about your CV, your notes, or what you have actually built.
Approach
Ingest your own documents into a knowledge graph plus a hybrid vector index, then answer questions from graph-derived context only, through a traced retrieve-reason-respond pipeline that runs locally.
Outcome
v0 is a working vertical slice - upload a PDF and query it end to end - exercising every piece of the intended architecture rather than the full long-term vision.