Notes from building Grafema.
Posts on graph-driven development, benchmarks, design decisions, and things that broke along the way.
-
Schema inference for code graphs: the missing piece of AI code understanding
Knowing that endpoint X is called is 30% of the context you need. Grafema's next layer: inferring data schemas from TypeScript interfaces, Zod validators, and runtime types.
Read -
Plugin architecture: how we made Grafema extensible (and why it matters)
An AI agent wrote a NestJS plugin for Grafema in 10 minutes. Here's how the plugin API works, why it's designed the way it is, and why extensibility beats hardcoded parsers.
Read -
Designing cross-boundary data flow tracking: from HTTP fetch() to backend handler
How Grafema traces frontend fetch() calls to backend route handlers across service boundaries. Design decisions, trade-offs, and why we chose hybrid AST over pure regex.
Read -
How an AI agent onboarded onto ToolJet in 25 minutes using Grafema
322 backend routes, 318 frontend requests, and the invisible links between them. A concrete walkthrough of an AI agent using Grafema to understand a 400k-line codebase.
Read