This post is my submission for DEV Education Track: Build Multi-Agent Systems with ADK.
I built an Autonomous Multi-Agent Handwritten Notes Generator.
Students and educators often need clean, visual study guides that resemble real handwritten notes, but manually summarizing technical subjects and formatting them takes hours.
This system solves that by combining autonomous web research, structured note extraction, and headless browser rendering. You enter any topic or question, and a coordinated team of AI agents researches the concept, formats it into a notebook layout using Google handwriting fonts (Caveat
), and captures a high-resolution .png
notebook page screenshot.
Deployment & Repository Links:
An autonomous multi-agent system built with LangGraph, Tavily, and Playwright that researches complex topics and renders handwritten-style student study notes into PNG screenshots.
An autonomous multi-agent workflow built using LangGraph, LangChain, Tavily Search, and Playwright. The system researches complex technical concepts and dynamically compiles the findings into styled, handwritten-notebook PNG screenshots.
[ User Input / Prompt ] β βΌ [ Researcher Node ] ββ (Tavily Web Search & Summarization) β βΌ [ Note Renderer Node ] ββ (HTML/CSS + Google Caveat Font + Playwright Screenshot) β βΌ [ Critic Node ] ββ (Validation Check: Is Output Complete?) β Approved? βββΊ No βββΊ [ Researcher Node ] β Yes βΌ [ PNG Screenshot Saved ]
Live Application: https://multi-agent-handwritten-notes-uyc8am8kwydzwgjufxo3tp.streamlit.app/
The system uses a stateful multi-agent graph with discrete responsibilities:
Researcher Agent ( researcher_node):
0.0
for deterministic, accurate factual extraction.Note Renderer Agent ( note_renderer_node):
.png
screenshot.Critic Agent ( critic_node):
APPROVED
. If validation fails, it routes back for reflection.
[ User Prompt ]
β
βΌ
[ Researcher Agent ] βββΊ (Tavily Search + Summarization)
β
βΌ
[ Note Renderer Agent ] βββΊ (HTML/CSS + Playwright Screenshot)
β
βΌ
[ Critic Agent ] βββΊ Approved? βββΊ [ Output PNG Saved ]
β β
ββββββββ No βββββββββ
packages.txt
with Chromium) alongside standard Python requirements.