Lead Engineer at Zykrr — building products end to end, and the AI agents that are starting to sit inside them.
Most of what I ship on my own time is LangGraph in TypeScript: agents with explicit state machines, tool calls that hit real APIs, and loops that stop for a reason rather than when a token budget runs out. I care about the parts people skip — routing you can test, revision caps, grounded stopping conditions, tracing.
The other half of my attention is distributed systems. Leading a team made the gap obvious: writing a service is the easy part, and deciding how several of them fail together is the part I want to be good at. So I'm working through Designing Data-Intensive Applications and pushing what it teaches into real projects — ds-job is where that lands.
- Currently building — multi-agent systems: Reflexion loops, RAG pipelines, tool-using assistants
- Currently learning — system design and distributed systems (DDIA, Kleppmann) · LLM evaluation & observability (Langfuse, OpenTelemetry)
- Ask me about — LangGraph state machines, RAG, tool calling, TypeScript, Node, Postgres/ClickHouse
- Also on — LeetCode · InterviewBit
- Reach me — LinkedIn · anubhavbisht98@gmail.com
AI agents — LangGraph state machines in TypeScript, each one a different pattern.
| Project | Pattern it demonstrates |
|---|---|
| research-agent | Reflexion. One model drafts an answer, critiques its own draft, searches for what it admitted was missing, and rewrites — until every claim rests on a source or the revision budget runs out. LangGraph · OpenAI · Tavily · Bun |
| customer-support-chatbot-agent | Multi-agent routing. A front desk triages each question and hands it to the specialist that owns it; the learning specialist answers from course docs via RAG, not model memory. LangGraph · Groq · Pinecone · Nomic |
| calendar-agent | Tool calling against a live API. "Move Friday's meeting to 3pm and invite priya@" — and it does, on the real Google Calendar. LangGraph · Google Calendar API |
| linkedin-writer-post | Writer/critic loop. A writer drafts, a critic scores against a shared rubric, and the draft goes back until it passes or the budget runs out. LangGraph · Groq |
| doc-based-internal-chat-using-rag | RAG with a fallback. Ingests a PDF, embeds it, answers grounded in that document — and falls through to live web search for real-time questions. RAG · Express · Tailwind |
| graph-vs-agent | Why the abstraction exists. The same chatbot three ways: a prebuilt createAgent(), a hand-written StateGraph, and a graph with no LLM at all — to isolate graph mechanics from the AI. |
Backend & distributed systems
ds-job — a distributed job engine
Not an agent, and deliberately so. A job engine has to survive the things a chat loop never faces: work that outlives the request that created it, executors that die mid-run, and a scheduler that must not hand the same job to two workers.
Built as an Nx monorepo of four NestJS services, split along the failure boundaries:
| Service | Owns |
|---|---|
auth |
Identity and tokens — the only service that talks to the user directly |
jobs |
The job registry and scheduling. Decides what runs and when |
executor |
Runs the work. Isolated so a crashing job takes down one worker, not the scheduler |
products |
The domain service the jobs act on |
Talking over @nestjs/microservices, persisted with Prisma on PostgreSQL, each
service owning its own schema so none of them reaches into another's tables.
TypeScript · NestJS · Nx · Prisma · PostgreSQL
| Also | |
|---|---|
| expense-agent | Terminal finance assistant. Tool calling written from scratch, including retries around Groq's intermittent tool_use_failed. Bun · Groq |
Also poking at: tdd · os_concurrency · learning-low-level-design · invoking-llm
Languages
AI / Agents
Runtime & Web
Data
Cloud, CI & Infra