category: prose

transcription:
WHITEBOARD OCR → FEW SAMPLE TEST

I have rediscovered whiteboarding!
BUT!
It's mounted at a really awkward height
AND
I have barely written by hand in years
So
my writing is hard to decipher

description:
# Diagram Description

A wall-mounted black-framed whiteboard photographed at a slight angle. A small black pen/eraser tray is attached to the lower-right corner. The writing is entirely handwritten text in black marker — no diagram shapes, arrows, or figures.

The content is a short handwritten note laid out as a title followed by a free-form paragraph. The title "WHITEBOARD OCR → FEW SAMPLE TEST" sits across the top, underlined, with a right-pointing arrow between "OCR" and "FEW SAMPLE TEST".

Below the title is a multi-line note written in a casual, cursive-leaning hand. Interjections ("BUT!", "AND", "So") are written on their own short lines between the main sentences, acting as connective beats. The overall tone is a self-deprecating preamble about the author's handwriting being difficult to read — effectively serving as the first test sample for the OCR experiment.


category: list

transcription:
SOME QUESTIONS

Can you train a vision model / multimodal model on
a few reference images w/ manual transcriptions / ground
truths?
What about abbreviations like w/ for with?

description:
# Diagram Description

A wall-mounted black-framed whiteboard shot from a slight low angle, with a pen tray visible at the bottom-right corner. The surface is otherwise blank — no drawn shapes, sketches, or diagrammatic elements. All content is handwritten text in black marker.

At the top-left is the underlined heading "SOME QUESTIONS". Beneath it are two handwritten questions written as flowing prose rather than as a bulleted list. The first spans three lines and asks whether a vision/multimodal model can be trained on a handful of reference images paired with manual transcriptions / ground truths. The second, on the fourth line, asks how the system should handle shorthand abbreviations, using "w/" (for "with") as the example.

The image functions as a meta-note about the OCR project itself: the whiteboard is both the subject and the medium of the question.


transcription:
SOME QUESTIONS

• Can you train a vision model / multimodal model on
  a few reference images w/ manual transcriptions / ground
  truths?
• What about abbreviations like w/ for with?
• Could I get AI to create a custom TTF font & if so
  how much training data?

description:
# Diagram Description

The same wall-mounted black-framed whiteboard as the previous frames, with the pen tray in the lower-right corner. No drawn shapes or figures — the content is entirely handwritten text in black marker, arranged as a titled bulleted list.

The heading "SOME QUESTIONS" is underlined at the top-left. Three bullet points follow, each marked with a solid dot on the left margin:

1. A multi-line question about training a vision or multimodal model on a few reference images paired with manual transcriptions / ground truths.
2. A shorter question about handling abbreviations such as "w/" for "with".
3. A two-line question asking whether AI could generate a custom TTF font from the author's handwriting, and how much training data that would require.

Compared to frame 02, this is an expanded version of the same note — bullets have been added and a third question appended. It reads as an in-progress brainstorming list on the feasibility of few-shot handwriting OCR.


description:
# Diagram Description

A near-duplicate of frame 03 — same black-framed wall-mounted whiteboard, same pen tray at the lower-right, same handwritten bullet list under the underlined heading "SOME QUESTIONS". There are no drawn shapes, arrows, or sketches; the image is pure handwritten text in black marker.

The three bullets cover: (1) training a vision/multimodal model on a few reference images with manual transcriptions/ground truths, (2) handling abbreviations like "w/" for "with", and (3) whether AI could generate a custom TTF font from the author's handwriting and how much training data that would need.

The photograph is taken from a slightly different angle and distance than frame 03 — likely a second capture of the same whiteboard state, useful as an additional sample of the same ground-truth text under different lighting/perspective conditions.


transcription:
Why / Applications

○ Whiteboard workflows:
    ↳ Whiteboard → cleaned up tech diagram
      (nano banana). needs to be able to parse a
      "OCR" raw text. Objective: ↑ accuracy &
      ↓ pseudotext
    ↳ Whiteboard → text / todo list / SOL etc.

description:
# Diagram Description

The wall-mounted black-framed whiteboard again, pen tray at the lower-right. The content is a mix of handwritten text and simple flow-style arrows — still no drawn shapes, but the arrows give it a light diagrammatic structure.

At the top-left is the underlined heading "Why / Applications". Below it is a single top-level bullet ("○ Whiteboard workflows:") with two indented sub-branches marked by hooked down-right arrows ("↳"), each describing a pipeline:

1. **Whiteboard → cleaned-up tech diagram** (parenthetical note: "nano banana"). Annotation states the system needs to parse an "OCR" raw text pass, with objectives written as up/down arrows: ↑ accuracy and ↓ pseudotext (i.e. maximize accuracy, minimize hallucinated/garbled output).
2. **Whiteboard → text / todo list / SQL etc.** — a second pipeline that converts whiteboard contents into structured textual artifacts such as todo lists or SQL.

The image documents two intended downstream use cases for the OCR model: diagram cleanup and structured-text extraction.


category: diagram

transcription:
Few Shot Learning - 1

        Apples
       ↗
      /
( FRUITS ) → Oranges
      \→ Bananas
       ↘
        Lemons
Kiwis ←
     ↙
Melons

description:
# Diagram Description

A black-framed wall-mounted whiteboard with a pen tray in the lower-right corner. The drawing is a simple radial mind-map / spoke diagram rendered in black marker.

- **Title** (top-left, underlined): "Few Shot Learning - 1".
- **Central node**: the word "FRUITS" enclosed in a hand-drawn oval, positioned roughly in the middle-right of the board.
- **Outgoing arrows**: from the central oval, five curved arrows radiate outward to individual fruit labels placed around it:
  - Upper-right: **Apples**
  - Right: **Oranges**
  - Lower-right: **Bananas**
  - Lower-center: **Lemons**
  - Left / lower-left: **Kiwis** and **Melons** (two arrows pointing leftward and down-left).

The arrows fan out in a classic "hub and spokes" pattern. No boxes or other structural elements — just the central labeled oval and the satellite labels. The diagram is clearly a teaching/demo example for a "fruits" concept, useful as a visual sample for the few-shot OCR training set.


category: table

transcription:
Few Shot Learning - 2

WORLD CAPITALS

CITY          | COUNTRY
--------------+---------
Dublin        | Ireland
Amman         | Jordan
Washington DC | USA

description:
# Diagram Description

Black-framed whiteboard, close crop of the upper-left portion. The content is a simple hand-drawn two-column table in black marker.

- **Title** (top-left, underlined): "Few Shot Learning - 2".
- **Sub-heading** below the title: "WORLD CAPITALS" (all caps).
- **Table structure**: drawn with a single vertical line (column separator) and a single horizontal line (header underline). No outer border.
  - **Column headers** (underlined): "CITY" on the left, "COUNTRY" on the right.
  - **Rows** (three, no row separators):
    1. Dublin — Ireland
    2. Amman — Jordan
    3. Washington DC — USA

The diagram demonstrates a tabular layout for the OCR test set — a deliberate shift from prose/bulleted formats to a structured grid, so the model can be evaluated on parsing hand-drawn table geometry in addition to raw text.


category: flowchart

transcription:
Few Shot Learning - 3

        Zoom Meeting Prep SOP

        Is my hair a mess?
           /           \
          Y             N
          ↓             ↓
      ┌─────────┐   ┌──────────┐
      │COMB HAIR│   │CHILL OUT!│
      └─────────┘   └──────────┘

description:
# Diagram Description

Black-framed whiteboard, upper-left crop. The drawing is a simple hand-drawn decision flowchart in black marker, illustrating a binary yes/no branch.

- **Title** (top-left, underlined): "Few Shot Learning - 3".
- **Sub-heading**: "Zoom Meeting Prep SOP".
- **Decision node**: the question "Is my hair a mess?" written as free text (no surrounding shape).
- **Branching**: two arrows fan down from the question — one to the left labelled **Y** (yes), one to the right labelled **N** (no).
- **Outcome nodes**: each branch terminates in a hand-drawn rectangular box containing an action:
  - **Y → [ COMB HAIR ]**
  - **N → [ CHILL OUT! ]**

This is the simplest possible flowchart: one decision, two outcomes. It adds boxed nodes and branching arrows to the OCR sample set, complementing the prose, bullet-list, mind-map, and table layouts used in earlier frames.


transcription:
Few Shot Learning - 3

What about variability in how we write letters?
  ↳ Sometimes I dot i's. Sometimes I don't.
  ↳ Informal / missing punctuation?
  ↳ "Code switching" & misspellings?
  ↳ Sometimes I write 'b' like balloon & sometimes
    balloon (why? IDK!)

description:
# Diagram Description

Black-framed wall-mounted whiteboard, pen tray in the lower-right corner. All content is handwritten text in black marker — no drawn shapes or figures, only small down-right hook arrows ("↳") used as sub-bullet markers.

- **Title** (top-left, underlined): "Few Shot Learning - 3".
- **Opening question** on the first line: "What about variability in how we write letters?"
- **Indented sub-points**, each introduced by a "↳" arrow:
  1. "Sometimes I dot i's. Sometimes I don't."
  2. "Informal / missing punctuation?"
  3. "'Code switching' & misspellings?"
  4. A two-line observation that the author sometimes writes the letter **'b'** one way and sometimes differently ("balloon" vs "balloon"), ending with a parenthetical "(why? IDK!)".

The note catalogues sources of intra-writer variability that the few-shot OCR system will need to handle — letter-form drift, inconsistent punctuation, informal register, and shorthand/misspellings. It is a meta-note about the difficulty of the OCR task rather than a structured diagram.


transcription:
Few Shot Learning - 3

What about txt like speech?
  ↓

LLMs R cool         →  LLMs are cool!
   or incorrect uppercase
LLMs R cool         →  LLMs are cool

description:
# Diagram Description

Black-framed whiteboard, upper-left crop taken at an angle. All content is handwritten text in black marker, laid out as two input-to-output transformation examples connected by arrows.

- **Title** (top-left, underlined): "Few Shot Learning - 3".
- **Prompt line**: "What about txt like speech?" with a single down arrow underneath, acting as a visual "so, consider:" pointer.
- **Transformation examples**, each a before → after pair:
  1. **"LLMs R cool"** → **"LLMs are cool!"** (expanding the text-speak "R" to "are" and adding an exclamation mark).
  2. Between the two examples is a connecting note: **"or incorrect uppercase"**.
  3. **"LLMs R cool"** (with the "M" underlined to flag an uppercase issue) → **"LLMs are cool"** (with the "M" underlined in the output as well).

The image illustrates how the OCR / post-processing layer should normalise "txt-speak" and correct casing — two failure modes the author wants the few-shot model to handle. It uses arrows to make the input→output mapping explicit, giving it a light diagrammatic structure.


transcription:
PERSONALISED AI → BASIC IDEA

Use-case: Human wants to create a task-specific AI agent
& frontload context

Tactic: Create AI agent to "interview" you → transcribe
        (could be voice → voice!) → extract content → vector DB

[bot] ──> [ What's your fav food? ]
           [ PIZZA! ]  :)
  ↓
CREATE MEMORY
┌───────────────┐
│ Daniel's fav  │
│ food = PIZZA  │
└───────────────┘
        ↓
      ( VECTOR DB )

description:
# Diagram Description

Wide shot of the black-framed whiteboard with a hand-drawn concept diagram in black marker. The layout combines headed text, prose annotations, and a small pictographic flow at the bottom.

- **Title** (top, underlined): "PERSONALISED AI → BASIC IDEA".
- **Use-case line**: describes a human wanting to create a task-specific AI agent and "frontload context".
- **Tactic line** (prose with inline arrows): "Create AI agent to 'interview' you → transcribe → extract content → vector DB", with a parenthetical note that the interview "could be voice → voice!".
- **Pictographic flow** (bottom half):
  - A small **bot face icon** (square head with smiley) connected by arrows to two **speech-bubble rectangles**: the first says "What's your fav food?", the second (reply) says "PIZZA!", with a small smiley emoticon beside it.
  - An arrow labelled **CREATE MEMORY** drops down from the bot to a rectangular memory record: **"Daniel's fav food = PIZZA"**.
  - A final downward arrow leads from the memory record into a drawn cylinder (database symbol) labelled **VECTOR DB**.

The diagram depicts an end-to-end pipeline: interview → transcribe → extract structured memory → persist to a vector store, illustrated with a conversational exchange.


transcription:
(could be voice → voice!) → Extract content → V[ector DB]

[bot] ──> [ What's your fav food? ]
           [ PIZZA! ]  :)
  ↓
CREATE MEMORY
┌───────────────┐
│ Daniel's fav  │
│ food = PIZZA  │
└───────────────┘
        ↓
     ( VECTOR DB )

description:
# Diagram Description

A close-up of the lower portion of the same "Personalised AI — Basic Idea" whiteboard shown in frame 11. The top edge of the crop clips the tactic line ("(could be voice → voice!) → Extract content → V[ector DB]"), so only the tail of that text is visible. The focus is the pictographic flow.

- **Bot icon**: a small square face with a smiley, representing the AI agent.
- **Speech bubbles** (two stacked rectangles to the right of the bot):
  - Question: "What's your fav food?"
  - Answer: "PIZZA!" with a circular smiley emoticon beside it.
- **"CREATE MEMORY"** label with a downward arrow from the bot.
- **Memory record** — a rectangular box containing "Daniel's fav food = PIZZA".
- **Vector DB** — a downward arrow from the memory box leads into a hand-drawn cylinder labelled "VECTOR DB".

This frame is essentially a zoom-in of the bottom half of frame 11, useful as a second OCR sample of the same drawn pipeline at higher detail.


transcription:
PERSONALISED AI — WORKFLOW 2

(user) Hey bot! Let's build out my food & drink
       context store!

(bot)  Sure! Let me see what gaps we have...
       ↓
       READ → (vector DB) → (bot) Hmm. nothing about
                                   beer preferences!

(bot) What beer do you prefer?
(user) Super bitter IPAs          CREATE →
                        ┌─────────────────────┐
                  (bot) │ User's fav beer =   │
                        │ bitter IPA          │
                        └─────────────────────┘

description:
# Diagram Description

Black-framed whiteboard showing a hand-drawn conversational workflow diagram in black marker. Pen tray visible at the lower-right corner.

- **Title** (top, underlined): "PERSONALISED AI — WORKFLOW 2".
- **Characters**: two small drawn head icons are used throughout as speaker avatars — a round smiling face represents the **user**, a square head with a neutral/slightly-worried face represents the **bot**.
- **Dialogue flow** (top half):
  - User avatar: "Hey bot! Let's build out my food & drink context store!"
  - Bot avatar: "Sure! Let me see what gaps we have..."
  - A downward arrow labelled **READ** leads from the bot to a small drawn cylinder (**vector DB**), then an arrow curves back up to the bot, who replies: "Hmm. nothing about beer preferences!"
- **Second exchange** (bottom half):
  - Bot: "What beer do you prefer?"
  - User: "Super bitter IPAs"
  - An arrow labelled **CREATE** points to a boxed memory record containing **"User's fav beer = bitter IPA"** (with the bot avatar on the left of the box).

The diagram depicts the "context-gap-detection" loop of a personalised AI: read the vector DB → identify missing fields → ask the user → write the new memory back.


transcription:
PERSONALISED AI — LATENT VALUE AREAS

            (user)              (bot)
            USER                LLM'S
            PROMPTS             OUTPUTS
              │                   │
              ↓                   ↓
         PROMPT           →   CONVO (1)
         HISTORY  (2)         STORE
              ↓                 │   ↘
              ↓                 ↓    WIKI
         PROMPT              DOWNSTREAM
         LIB → USER          OUTPUTS
               CONTEXT        ↙   ↓   ↘
                          PODCASTS  CPD  DOCS

description:
# Diagram Description

Black-framed whiteboard with a hand-drawn branching tree / flow diagram in black marker. Pen tray at the lower-right. The diagram is split into two major trunks originating from two drawn head icons at the top.

- **Title** (top, underlined): "PERSONALISED AI — LATENT VALUE AREAS".
- **Two source nodes at the top** (drawn as cartoon head icons):
  - Left: a round smiley face labelled **USER** with downstream label **PROMPTS**.
  - Right: a square head labelled **LLM'S** with downstream label **OUTPUTS**.
- **Left branch (from USER → PROMPTS)**:
  - Arrow down to **PROMPT HISTORY** (tagged with a circled "2").
  - From there, an arrow down to **PROMPT LIB** and a second arrow to **USER CONTEXT**.
- **Right branch (from LLM'S OUTPUTS)**:
  - Arrow to **CONVO STORE** (tagged with a circled "1").
  - From CONVO STORE two arrows fan out: one to **WIKI** (upper-right), one down to **DOWNSTREAM OUTPUTS**.
  - **DOWNSTREAM OUTPUTS** fans into three leaves: **PODCASTS**, **CPD**, and **DOCS**.

The diagram maps out under-exploited reservoirs of personal context generated during AI use — prompt history on the user side, conversation logs and their derivatives on the model-output side — and proposes downstream artifacts (libraries, wikis, podcasts, CPD records, docs) that can be built from each stream.


transcription:
(bot) LLM'S OUTPUTS  →  CONVO (1)
                         STORE
                          │   ↘
                          ↓    WIKI
                      DOWNSTREAM
                      OUTPUTS
                       ↙   ↓   ↘
                  PODCASTS CPD DOCS

description:
# Diagram Description

A close-up crop of the right-hand branch of the "Personalised AI — Latent Value Areas" diagram from frame 14. The title and left-side branch are out of frame; only the LLM-outputs sub-tree is visible.

- **Top-left**: a drawn bot head icon labelled **LLM'S OUTPUTS**, with a left-edge fragment of the user branch ("...XT" — presumably "USER CONTEXT") clipped at the margin.
- An arrow from LLM'S OUTPUTS leads right to **CONVO STORE**, tagged with a circled "1".
- From CONVO STORE two arrows fan out:
  - Up-right to **WIKI**.
  - Down to **DOWNSTREAM OUTPUTS**.
- **DOWNSTREAM OUTPUTS** fans into three leaves with arrows:
  - **PODCASTS** (lower-left)
  - **CPD** (centre)
  - **DOCS** (right)

This is a higher-detail view of the right half of frame 14 — useful as an additional OCR sample of the same sub-tree at larger scale.


transcription:
(user)                    (bot)
USER                      LLM'S
PROMPTS                   OUT[PUTS]
   │
   ↓
PROMPT           ────┐
HISTORY  (2)         │
   │                 ↓
   ↓              USER
PROMPT LIB        CONTEXT

description:
# Diagram Description

A close-up crop of the left-hand branch of the "Personalised AI — Latent Value Areas" diagram from frame 14. The title is out of frame; only the user-prompts sub-tree is visible, with the right-side LLM branch partially clipped at the right edge.

- **Top**: a drawn smiley square head icon labelled **USER**, with label **PROMPTS** below.
- **Right-edge fragment**: the square bot head icon labelled **LLM'S** with partial **OUT...** (PUTS) label, clipped.
- Arrow from USER/PROMPTS curves down to **PROMPT HISTORY**, tagged with a circled "2".
- From PROMPT HISTORY, two arrows:
  - Down to **PROMPT LIB**.
  - Right-then-down to **USER CONTEXT**.

This is a higher-detail view of the left half of frame 14 — useful as an additional OCR sample of the same sub-tree at larger scale.


transcription:
Other Common Whiteboard Imperfections

  o  Use X or strikethrough

        Here's      cool  ~~ideas~~
               ✗           ideas
           are
          some

description:
# Diagram Description

Black-framed whiteboard with handwritten notes in black marker illustrating common editing/imperfection conventions on a whiteboard.

- **Heading** (top, not underlined): "Other Common Whiteboard Imperfections".
- **Bullet** (single "o" marker): "Use X or strikethrough".
- **Example sentence** below shows a live mid-edit: "Here's [X over 'a'] cool ~~ideas~~ ideas" where the word "a" has an X struck through it, "ideas" (the first instance) is struck through with a line, and a replacement "ideas" is written to the right.
- Below the main line, two caret-inserted words — **are** and **some** — are squeezed in to signal an intended rewrite: "Here's some cool ideas" → "Here are some cool ideas".

The board demonstrates the kind of scribble-style corrections (X-out letters, strikethrough words, caret insertions) that an OCR system needs to handle when interpreting hand-edited whiteboard content.


transcription:
Task: Whiteboard → Calendar

My Week Plan

        SUN    MON    TUES    WEDS    THURS    FRI    SAT
        ─────────────────────────────────────────────────
                      ACCOUNTANT

0900

1200                                    DAY
                                        OFF
1500  DOCTOR

1800

2100

0000

description:
# Diagram Description

Black-framed whiteboard depicting a hand-drawn weekly calendar/timetable grid, framed as an OCR-to-calendar conversion task. Pen tray visible at the lower-right corner.

- **Title** (top): "Task: Whiteboard → Calendar".
- **Sub-title**: "My Week Plan".
- **Column headers** (underlined horizontal line beneath): **SUN, MON, TUES, WEDS, THURS, FRI, SAT** — days of the week across the top.
- **Row labels** (left column, time slots, 24-hour format): **0900, 1200, 1500, 1800, 2100, 0000**.
- **Entries** populated in the grid:
  - **TUES** column, top: **ACCOUNTANT** (likely a morning appointment).
  - **SUN** at 1500: **DOCTOR**.
  - **THURS** around 1200: **DAY OFF**.

The diagram frames a realistic capture scenario: a user writes a weekly plan on a whiteboard, and the OCR pipeline should parse the grid into structured calendar events (day, time, label).


category: mixed

transcription:
Task: Whiteboard → Mixed Elements.

Whiteboard → Handwriting          │   Questions
    ↳ Gather samples              │   ─────────
    ↳ Determine priorities        │   Existing datasets?
    ↳ Send to David               │   Separate fine tunes for
                                  │   handwriting creation vs.
                                  │   reading?

description:
# Diagram Description

Black-framed whiteboard split into two columns by a vertical divider line, sketched in black marker. Pen tray visible at the lower-right. The board captures a task breakdown plus an open-questions panel.

- **Title** (top): "Task: Whiteboard → Mixed Elements." — framing this as an OCR task about boards that contain a mix of handwriting, diagrams, and structure.
- **Left column** — headed "Whiteboard → Handwriting", with three nested sub-bullets drawn as ↳ arrows:
  - **Gather samples**
  - **Determine priorities**
  - **Send to David**
- **Right column** — headed (underlined) "Questions":
  - "Existing datasets?"
  - "Separate fine tunes for handwriting creation vs. reading?"

The diagram presents a working plan for building the handwriting/OCR dataset (this very repo) alongside unresolved research questions about dataset availability and whether generation and recognition should be modelled as separate fine-tunes.


transcription:
Geopol Predictions: Current Model          A_x = Agent X
                                           Sequential
                                           SA_x = Subagent
A_1 → Job
      Actuation &
      Mgmt                RSS   EXA AI
                            ↘   ↙
                             Google
                             News
        ↘
         A_2   SITREP Gen
               Grounding                       ┌──────┐
                                               │ LLM  │
         ↘                             → SA_1 ←│COUNCIL│
          A_3   Prediction                     └──────┘
                MGR               → SA_2
          Pass SITREP, define
          task, structured output

          A_4  Analysis, Charts, Comparison w/
               Run X-1

          A_5  Generate Report (Typst)
    ↓
  CONCAT   →   PDF

description:
# Diagram Description

Black-framed whiteboard with a dense hand-drawn multi-agent pipeline diagram in black marker. Pen tray visible at the lower-right corner.

- **Title** (top-left): "Geopol Predictions: Current Model".
- **Legend** (top-right): "A_x = Agent X", "Sequential", "SA_x = Subagent".
- **Agent chain** (left side, top-to-bottom):
  - **A_1 — Job Actuation & Mgmt**: the entry-point agent.
  - **A_2 — SITREP Gen / Grounding**: generates a situation report, grounded in external feeds. Upstream inputs drawn above: **RSS** and **EXA AI** both feeding into **Google News**, which flows into A_2.
  - **A_3 — Prediction MGR**: "Pass SITREP, define task, structured output". Fans out to two subagents: **SA_1** (routed through/via an **LLM COUNCIL** boxed node on the right) and **SA_2**.
  - **A_4 — Analysis, Charts, Comparison w/ Run X-1**: diff-vs-prior-run analysis stage.
  - **A_5 — Generate Report (Typst)**: renders the final report using Typst.
- **Output path** (bottom): a curving arrow from the agent chain down to **CONCAT** → **PDF** — concatenation into the final PDF deliverable.

The diagram maps the current architecture of a geopolitical-predictions agent pipeline: ingest news feeds → generate SITREP → dispatch prediction tasks to an LLM council of subagents → analyse against previous run → typeset and concatenate into a PDF report.


transcription:
Whiteboard → Dev Spec → Agent Dev

Whiteboard(s)  ─────────→  Gemini API

Gemini ─→ Cleaned Tech Diagrams (image 2 image)
       ↘ Narrative of Agent Model (image 2 txt)

Agent 2: Convert these things → Dev Spec
    ↳ Plan def w/ human
    ↳ Generate tasks, define subagents,
      checkpoints etc

description:
# Diagram Description

Black-framed whiteboard with a hand-drawn pipeline sketch in black marker. Pen tray visible at the lower-right corner. The board maps a two-stage agent workflow that turns whiteboard photos into a structured development specification.

- **Title** (top): "Whiteboard → Dev Spec → Agent Dev".
- **Stage 1 — ingestion**: "Whiteboard(s) ───→ Gemini API" — raw whiteboard images fed to the Gemini API.
- **Stage 1 outputs** (from Gemini, two branches):
  - **Cleaned Tech Diagrams** (labelled *image 2 image*) — the vision model produces a cleaned/rendered diagram from the photo.
  - **Narrative of Agent Model** (labelled *image 2 txt*) — the vision model produces a prose description of the depicted agent architecture.
- **Stage 2 — synthesis (Agent 2)**: "Convert these things → Dev Spec", with two nested sub-bullets drawn as ↳ arrows:
  - **Plan def w/ human** — the agent co-defines the plan with a human in the loop.
  - **Generate tasks, define subagents, checkpoints etc** — produces the concrete task list, subagent roster, and milestone checkpoints.

The diagram describes a whiteboard-to-code meta-pipeline: photograph a system design on a whiteboard, let Gemini produce both a cleaned diagram and a narrative, then have a second agent synthesise those artifacts into an executable development specification.