DistillBoard — Autopilot
{{ status }}
• sections: {{ sections }}
• tokens: {{ tokenTally }}
Error: {{ (lastErrorMessage||'').slice(0,80) }}
Retrying in {{ Math.ceil(retryRemainingMs/1000) }}s ({{ retryAttempt+1 }}/{{ retryMax }}) — {{ (lastErrorMessage||'').slice(0,80) }}
Retrying in {{ Math.ceil(retryRemainingMs/1000) }} seconds, attempt {{ retryAttempt+1 }} of {{ retryMax }}.
Edit the prompt anytime; applies next turn.
Source & Settings
Step 1 — Gemini API Key
Stored locally in your browser.
Step 2 — Model
Step 3 — Upload Book
{{ fileInfo || 'No file selected' }}
Step 4 — Prompt
Advanced (Prompt & Options)
Run options
End marker regex
Budget: tokens
Budget: time (sec)
No chunking. The book file is uploaded once for the first turn; subsequent turns send only "Next" and rely on conversation history. If the file URI becomes invalid, the app re-uploads the file and rewrites history to the new URI. Exact request & response are logged in Trace.
Live Document
Output will appear here…
Section {{ i+1 }}: {{ getTitleFromMd(meta.text) }} tokens: {{ Number(meta.candidatesTokenCount) }}
Export
About & How-To
Tech Stack
  • Petite‑Vue for UI reactivity
  • Google Gemini SDK (@google/genai)
  • Marked for Markdown → HTML, jsPDF for PDF export
Recreate this with GPT‑5 (or latest)
1) Build a simple HTML app with Petite‑Vue and a file input. 2) Capture the book file and prompt, then call the OpenAI Responses API with your chosen model (e.g., GPT‑5 when available) and attach the file each turn. 3) Stream responses into a live document and keep a trace log for debugging. Persist API key, model, and prompt in localStorage.