How to Turn a Photo of Handwritten Meeting Notes Into a Proposal Draft

A phone-first workflow: snap a photo of handwritten notes in ChatGPT or Gemini, extract and clean the text, then generate a proposal draft. Optional: use NotebookLM to turn the same source into slides or an infographic.

Cover for How to Turn a Photo of Handwritten Meeting Notes Into a Proposal Draft

Problem and who this is for

You leave a meeting with handwritten notes and you need a proposal draft fast.

Most people do not want to scan, upload, convert, and bounce between tools. They want to take a photo on their phone, get clean text, and immediately turn it into something useful like a proposal, action items, or a one page brief.

This workflow is for office managers, executive assistants, coordinators, operations staff, clinic and school admins, and anyone who needs a clean, professional output from messy notes.

Prerequisites

  • A phone with either the ChatGPT app or the Google Gemini app
  • A clear photo of your notes (good light, minimal shadows)
  • Optional: NotebookLM if you want a slide deck or infographic generated from your source materials

If your notes include confidential or regulated information, only use tools your organization approves.

Numbered workflow steps

1) Take the photo inside your AI app

Open ChatGPT or Gemini, start a new chat, and use the camera to take a photo of the notes.

Practical tips that raise accuracy without adding steps:

  • Flatten the page and fill the frame.
  • Bright light, no glare.
  • One page per photo.

Both ChatGPT and Gemini support image input, including taking or uploading an image from your phone.

2) Extract the text and mark unclear spots instead of guessing

Your first goal is a clean transcript you can trust.

Copy and paste this prompt and replace the bracketed sections.

{
  "task": "Extract typed text from a photo of handwritten meeting notes",
  "input": {
    "image": "(attached in chat)",
    "context": "These are handwritten notes from a meeting. I need an accurate transcript before drafting anything."
  },
  "rules": [
    "Do not invent words that are not readable.",
    "If a word is unclear, write [UNCLEAR] and keep the surrounding text.",
    "Preserve all numbers, dates, names, email addresses, and URLs exactly.",
    "Keep the original order of points.",
    "Do not summarize yet."
  ],
  "output_format": {
    "type": "plain_text",
    "layout": "Short lines, one idea per line"
  }
}

If the model returns a few [UNCLEAR] items, that is a good outcome. It is safer than a confident guess.

3) Turn the transcript into a structured meeting recap you can verify in 60 seconds

Now ask for structure, still without adding facts.

{
  "task": "Convert the transcript into a structured meeting recap",
  "input": {
    "transcript": "PASTE THE TRANSCRIPT HERE"
  },
  "rules": [
    "Use only the transcript.",
    "Do not add missing details.",
    "If something seems implied but not stated, add it as [OPEN QUESTION]."
  ],
  "sections": [
    "Context",
    "Goal",
    "Key points",
    "Decisions",
    "Open questions",
    "Action items (owner if known, otherwise [OWNER NEEDED])"
  ],
  "output_format": {
    "type": "plain_text"
  }
}

Do a quick pass:

  • Fix any names or numbers.
  • If you remember a missing decision clearly, add it yourself as a new line and tag it as [ADDED FROM MEMORY].

4) Generate the proposal outline first

A proposal outline is faster to validate than a full draft.

{
  "task": "Create a proposal outline from a verified meeting recap",
  "input": {
    "meeting_recap": "PASTE YOUR VERIFIED RECAP HERE",
    "audience": "Example: COO, clinic director, vendor contact, school principal",
    "proposal_type": "internal" 
  },
  "rules": [
    "Do not introduce new facts.",
    "If a required detail is missing, insert [NEEDS INPUT] with a short note.",
    "Keep it practical and operational."
  ],
  "outline_sections": [
    "Executive summary",
    "Problem",
    "Proposed approach",
    "Scope (in and out)",
    "Timeline",
    "Risks and mitigations",
    "Decision needed"
  ],
  "output_format": {
    "type": "plain_text"
  }
}

5) Draft the proposal in one pass, then do a credibility pass

First draft:

{
  "task": "Write a 1 to 2 page proposal draft",
  "input": {
    "proposal_outline": "PASTE OUTLINE HERE"
  },
  "rules": [
    "Use plain English.",
    "No buzzwords.",
    "No invented pricing, dates, or commitments.",
    "Keep [NEEDS INPUT] placeholders as-is.",
    "End with a short 'Next steps' section." 
  ],
  "output_format": {
    "type": "plain_text"
  }
}

Credibility pass:

{
  "task": "Audit the proposal draft for risk and accuracy",
  "input": {
    "draft": "PASTE DRAFT HERE"
  },
  "checks": [
    "List every number, date, and proper name and confirm it appears in the recap or transcript.",
    "Flag any sentences that sound like promises or guarantees and label them [CONFIRM].",
    "List any [NEEDS INPUT] items as a checklist at the end."
  ],
  "output_format": {
    "type": "plain_text"
  }
}

At this point you can paste the final draft into Google Docs, Microsoft Word, or email.

Tool-specific instructions

ChatGPT (phone first)

ChatGPT supports taking or uploading an image and asking questions about it. Use it to extract the text and then generate the recap and proposal in the same chat.

Google Gemini (phone first)

Gemini supports uploading images and working directly from them. The same flow applies: photo, transcript, structured recap, then proposal.

NotebookLM (optional, for slides and infographics)

NotebookLM is worth using when you need output grounded in sources, and you want a slide deck or infographic without designing from scratch.

Simple approach:

  1. Create a notebook.
  2. Add your verified recap as a source (paste it in or upload a document).
  3. In NotebookLM Studio, generate a Slide Deck or an Infographic.

NotebookLM documentation includes dedicated instructions for generating slide decks and infographics.

Quality checks

Use these quick checks before you send anything out:

  1. Numbers and names: verify against the photo and your recap.
  2. Scope clarity: confirm what is included and excluded.
  3. Commitments: remove or mark anything that reads like a promise unless it is approved.
  4. Decision needed: the last section should say exactly what you want the reader to approve.

Common failure modes and fixes

The handwriting is hard to read and the transcript has too many [UNCLEAR] items. Fix: retake the photo in brighter light and closer to the page. If the page is dense, take two photos: top half and bottom half.

The model fills in missing details confidently. Fix: rerun Step 2 with the rule that unclear words must be labeled [UNCLEAR]. Do not accept guessed names, dates, or amounts.

The recap looks fine but the proposal is missing key items like timeline or scope. Fix: keep [NEEDS INPUT] placeholders and treat them as a checklist for the meeting owner.

You need slides for leadership. Fix: put only the verified recap and any supporting documents into NotebookLM, then generate a slide deck from sources.

Sources Checked

  • OpenAI: ChatGPT Overview, image input support (https://chatgpt.com/overview/) (accessed 2026-03-04)
  • Google: Gemini explore page, image upload examples (https://gemini.google/explore/) (accessed 2026-03-04)
  • Google Support: Generate a Slide Deck in NotebookLM (https://support.google.com/notebooklm/answer/16757456?hl=en) (accessed 2026-03-04)
  • Google Support: Generate an Infographic in NotebookLM (https://support.google.com/notebooklm/answer/16758265?hl=en) (accessed 2026-03-04)
  • Google Blog: 8 ways to make the most out of Slide Decks in NotebookLM (https://blog.google/innovation-and-ai/models-and-research/google-labs/8-ways-to-make-the-most-out-of-slide-decks-in-notebooklm/) (accessed 2026-03-04)

Quarterly Refresh Flag

Review on 2026-06-02 to confirm mobile image input behavior in ChatGPT and Gemini, and NotebookLM slide deck and infographic features and limits.