1. Three notebooks and a camera roll → one searchable revision base
Your notes are in three different notebooks, a photo gallery full of blackboard snaps, a couple of PDFs the teacher shared on WhatsApp, and a Word file from a friend. Two nights before the test you are scrolling the gallery trying to remember which photo had the derivation on it.
Trigger: WhatsApp / Telegram / Email (send a photo, PDF or note to your own agent)
How the workflow runs
- Trigger
Send it in as it happens. A WhatsApp, Telegram or Email trigger accepts whatever you send after class — a blackboard photo, a scanned page, the teacher's PDF, a typed line. No filing, no folder discipline; you forward it and move on.
- Agent
Read it and label it. An Agent node runs OCR/extraction on the image or PDF, then tags it against your syllabus: subject, chapter, topic, and whether it's a definition, a derivation, a worked example or a question. Anything it can't read confidently is flagged rather than guessed.
- Condition
Legible and placeable?. A Condition node branches: a clean, confidently-tagged item goes straight into your Knowledge base; a blurry photo or an item it can't place on the syllabus comes back to you with one specific question ('which chapter is this from?').
- Knowledge
File into your own Knowledge base. A Knowledge node stores the extracted text with its syllabus tags, so every later answer can be grounded in YOUR material — your teacher's wording, your board's notation — instead of a generic internet answer.
- Output
Weekly 'what's still missing' note. An Output node sends you a short weekly message on WhatsApp: chapters with no notes at all, chapters with only questions and no worked examples, and the pages that came back unreadable and need re-shooting.
Channels & connectors
- Telegram
- Knowledge base
- Sarvam (Indian languages)
Outcome
Everything you were going to revise from lives in one place, tagged to the actual syllabus, and you find out which chapters have gaps while there's still time to fix them.
Why it helps
The mechanism is simple: capture at the moment it happens (a forward, not a filing session) plus extraction and syllabus tagging, so search works on content rather than on you remembering which notebook. The weekly gap note surfaces missing chapters early instead of on the night before.
Build spec
2 agents — 1 extraction/tagging agent (runs once per item you send) + 1 weekly gap-summary agent. The legibility gate and the Knowledge write are workflow nodes. · Pattern: Ingest-per-item → Condition (legibility/placement gate) → Knowledge; scheduled weekly summary pass
System prompt (paste-ready)
You are a study-notes librarian for ONE student. Given an incoming item (image, PDF page, or text), extract the readable content and tag it against the syllabus in Knowledge: {subject, chapter, topic, kind (DEFINITION|DERIVATION|WORKED_EXAMPLE|QUESTION|DIAGRAM|OTHER), confidence}. Transcribe only what is actually legible — never complete a half-visible formula, never fill in a cut-off line. If the image is unclear or you cannot place it on the syllabus, return {needs_input: true, question} with ONE specific question. You organise material; you do not answer it here.Agent roles & model tiers
Extractor / tagger (per item) — Economy tier — runs on every photo and page you ever send, so this model choice is the whole cost story
Transcribe only what is legible and tag it to the syllabus. Confidence score on every tag. Never invent the unreadable part of a formula or a cut-off sentence — flag it for a re-shoot instead.
Weekly gap summariser (once a week) — Standard tier — needs to reason over syllabus coverage
Compare the syllabus in Knowledge against what has actually been filed. Report chapters with zero notes, chapters with questions but no worked examples, and items flagged unreadable. State only what the data shows — no guesses about how well the student knows a chapter.
MCP connectors
- School / coaching LMS or class group (shared PDFs) — inbound via Webhook, or read via a Tool (MCP) node; there is no first-party LMS connector
- WhatsApp / Telegram / Email — the capture channel
Built-in tools
- knowledge_search (your syllabus outline, so tagging is grounded in the real chapter list)
- document extraction / OCR (photos of blackboards and scanned pages)
- user-defined tool `note_confidence_band` (SpEL): input.ocrConfidence > 0.9 ? 'FILE' : (input.ocrConfidence > 0.6 ? 'FILE_WITH_FLAG' : 'RESHOOT') — you set your own thresholds for how blurry is too blurry, and change them later without a developer or a redeploy
Guardrails
- ACADEMIC INTEGRITY: this workflow only organises YOUR material. It transcribes and tags; it does not answer questions, write solutions, or produce anything submittable — that boundary holds across every recipe in this pack
- Transcription is literal — an illegible formula or a cut-off line is flagged for a re-shoot, never completed from guesswork
- Grounding: chapter/topic tags come only from the syllabus you loaded into Knowledge. If an item doesn't map to anything in your syllabus, it asks rather than inventing a chapter
- Items stay in your own private Knowledge base; nothing is published or shared anywhere by this workflow
Cost strategy
This is the recipe that runs most often, so keep the extractor on the economy tier — one cheap call per photo or page, and nothing else per item. The only standard-tier call is the single weekly gap summary. A student photographing a few boards a day lands in 'a handful of economy calls a day plus one reasoning call a week' territory; there is no premium-tier work anywhere in this workflow, and none is needed.
Output & delivery
Each item you forward gets one economy-tier extraction pass → the Condition node either files it into your Knowledge base with syllabus tags or bounces it back with one specific question → once a week an Output node sends a short WhatsApp note listing the chapters with no notes, the chapters with no worked examples, and the pages that need re-shooting.