Sometimes the most valuable software isn't another AI model—it's the workflow around it.
The internet is full of AI quiz generators. Upload some content - click a button - a quiz appears.
So why did I build something that doesn't generate quizzes directly?
The Problem
Gemini (and other LLMs) are already very good at reading textbook pages.
But asking an LLM:
"Generate a quiz from this chapter."
rarely gives you production-ready output.
Some common issues:
- inconsistent formatting
- incomplete coverage of the chapter
- questions in random order
- difficult to import into another application
For a teacher, this means spending more time cleaning the output than actually teaching.
My Approach
Instead of building another AI wrapper, I built a workflow.
Textbook Images
│
▼
Optimized Prompt
│
▼
Gemini
│
▼
Structured Quiz Data
│
▼
CSV File
│
▼
RandomTyms Quiz Player
The AI does what it's good at:
- understanding content
- extracting knowledge
- generating questions
My application does what it is good at:
- enforcing structure
- creating a reusable quiz format
- powering an interactive quiz interface
Why CSV?
This is probably the first question developers ask.
Why not just return JSON?
Why involve CSV at all?
Because my users aren't developers. They're teachers.
CSV has some surprisingly practical advantages.
- Opens in Excel.
- Can be edited without technical knowledge.
- Easy to archive.
- Easy to share.
- Works offline.
- Can be imported into the quiz player. A quiz becomes a file that belongs to the teacher—not another conversation trapped inside an AI chat.
Prompt Engineering Is Part of the Product
One thing I learned while building this is that prompt engineering isn't just an implementation detail.
It's product design.
Instead of expecting teachers to write prompts like:
Generate 40 multiple-choice questions covering every important concept...
they simply copy a pre-built prompt.
That prompt tells the AI to:
- analyse every uploaded textbook page
- cover all major concepts
- include definitions and key facts
- produce output in a predictable structure
The complexity stays hidden. The workflow stays simple.
Why I Didn't Use an AI API
At first glance, that seems like extra work. But there were reasons behind it.
- No API billing.
- No token management.
- No rate limiting.
2. Users benefit from better models automatically
When Gemini improves, the workflow improves and I don't need to deploy a new backend.
3. Human review
Teachers naturally review the generated questions before importing them.
In education, that small review step is often a feature—not a bug.
Trade-offs
- This approach isn't perfect.
- There is a manual copy-paste step.
- That's friction.
But it's also where teachers can fix mistakes, remove unsuitable questions, or add their own.
For educational content, I think that's a worthwhile trade-off.
Not every workflow needs to be fully automated.




Top comments (0)