rpm.
~ / projects

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.

PythonAgentic AIWorkflow Engine

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

PythonFastAPIPydanticLangChainDeepAgentspytestOllamaOpenRouter
Read the full write-up →

openclaude

An OpenAI-compatible API over the local Claude CLI, so agent frameworks run on a Claude login, no API key.

TypeScriptLLM InfraOpenAI API

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

TypeScriptNode.jsExpressServer-Sent EventsClaude Code CLIpm2
Read the full write-up →

Second Brain OS

A local-first second brain that answers from a knowledge graph built out of your own documents, not the web.

PythonGraphRAGLocal-first

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.

Stack

PythonFastAPILangGraphLangSmithNeo4jQdrantMinIOOllamaFastEmbedGeminiDocker Compose
Read the full write-up →
All systems nominal© 2026 Ramprasad Mondal