Distill
A visual AI pipeline I built for myself
A canvas where sources connect to AI transforms, and everything updates when inputs change.
Type
Solo side project
Timeline
Jan–Feb 2026
Stack
Next.js, React Flow, Vercel AI SDK
The Problem
My thinking is messy by nature. I fall into research rabbit holes. Hundreds of LLM conversations, notes scattered across Notion, Figma files with dozens of variations. That chaos is actually how I explore. It works.
Where it breaks is convergence. When I need to turn all of that into something (a brief, a pitch, an outline), the process is painful. Copy-paste from five sources, re-read everything, compose manually. The material is all there, but there’s no way to structure it and keep it connected.
LLMs help, but conversations drift. The context window fills up with tangents, and if a source changes, you start over. What’s missing isn’t memory. It’s a way to organize the chaos into something that reacts when your inputs evolve.
The Vision
My thinking isn’t linear. I’ll start with one thread, branch into three, circle back, merge ideas from different sources. A list can’t hold that shape. A chat thread definitely can’t.
I wanted a canvas. Drop your sources as nodes. Connect them to AI transforms: summarize, extract, reformat, compare. Chain transforms together. When you update a source, everything downstream re-runs automatically.
Figma meets visual programming for documents.
Source → Transform → Output. That’s it. Works for a quick one-off or a multi-step pipeline you come back to.
The Build
This was my first real project with Claude Code. I went from Pro to Max 5 to Max 20 in the same day. Hooked immediately. The speed of iteration changed everything: an idea in the morning, a working implementation by afternoon, a completely different approach the next day. No dependencies, no coordination, just build.
But fast doesn’t mean smooth. I hit every trap that comes with AI-assisted development.
What I killed
The first version put everything in drawers. Click a node, see its details in a side panel. It felt natural at first, but it broke the spatial metaphor. The canvas is the interface, and pulling attention away from it defeats the purpose. I ripped it all out and put everything back on the canvas.



Then there was the feature creep. Claude Code makes features feel free to build, so I kept adding things: complex node types, advanced operations, features that looked impressive but nobody needed, including me. I had to learn that cheap to build isn’t cheap to maintain, and step back to the essentials: three node types, one canvas, one flow.
The pivot was about taste. Resisting the “it’s free with Claude Code” trap. Building less, but building right.
The Details
Auto-run engine
Edit a source and watch everything downstream update. Debounce → topological sort → parallel cascade. No manual re-runs.
The designer's role is shifting from pixel-pusher to system thinker. When AI can generate interfaces, the value moves upstream.
What matters now:
- Framing the right problem
- Designing the system, not the screen
- Crafting interactions that feel intentional
Cmd+K command palette
Fuzzy search, keyboard-first. Add nodes, run transforms, navigate without touching the mouse.
Smart paste
Paste a URL, markdown, table, image, or Notion link. Distill auto-detects the type and creates the right node.
Transform recipes
Pre-built transforms for common operations: summarize, extract key points, rewrite for a different audience, compare sources.
Full Circle
I used Distill to build this portfolio. Notes, links, inspiration, all fed into the canvas, transformed into outlines, then into prompts for Claude Code. One source of truth, multiple outputs. A living document that stays up to date as the thinking evolves.
I’ve learned that building with AI still means I’m the one deciding what matters. Claude Code writes the code, I shape what comes back. Most of the work is still editing and cutting.
Built an entire tool with AI. Can confirm.
Still kinda hard to build good software, tbh.
It’s faster! And more fun.
But still hard.
The last 10% is still the last 90%.
Everyone’s vibe coding now, and the building part has never been easier. What hasn’t changed is knowing when to stop adding things and when to throw something away. That’s still the hard part.