Praneet Dhoolia
A blog on AI systems
Posts on what I build and what I learn building it.
-
Building a City Digital Twin
I set out to model a city, and started where most people start - with the whole thing. This series is what the literature, the real data, and my own experiments did to that ambition, and what is left standing that is actually worth building.
- Part 1 My mental model of a city: what held up, what didn't
- Part 2 “Let's simulate everything” experiments: what worked & what didn't
- Part 3 Exploring the official NSW Digital Twin portal
- Part 4 Brisbane 2032 egress from Victoria Park: hands on experiments with SUMO
- Part 5 A synthetic Newcastle: a city that moves, checked against the real one
- Part 6 Inside the Newcastle twin: how a synthetic city is built, run and checked
- Part 7 Two cities, one framework: Mumbai, and the agents that built it
- Part 8 The City, Twice: a proposal, and how it was made
-
Building a Software Engineering Agent with LangGraph
Sending a whole codebase with every request does not scale. This agent onboards a repository the way a new engineer would - summarising every file in parallel, then every package - and then uses that hierarchy like a table of contents: consult the outline, open only the chapters that matter, resolve the issue there.
-
Building a Universal Assistant with LangGraph and MCP
Once every capability speaks Model Context Protocol, you stop writing a bespoke graph node per integration - one router, one MCP-agent node and one tool-invocation node are enough. A summary of the langgraph-mcp project.
-
Building a Retrieval Agent with LangGraph
Five parts taking LangGraph's RAG template all the way to a deployed, chat-facing assistant: crawling sites into a Milvus index, step-thru debugging the graph, shipping it to LangGraph Cloud, wiring up a chat client, and then fixing what real use exposed.