Automation · n8n
A content engine that grows the exercise bank by itself
Ten practice tools needed new exercises every day, without repeats and without anyone writing them by hand.
Animated recreation
The problem
Static exercise lists run out fast. A student who sees the same sentence twice stops trusting the tool, and writing thousands of items by hand does not scale.
What I built
- A single webhook for all 10 tools, routing by tool and lesson, with a cache per lesson.
- Self-growing bank: when there is no unseen content for a topic and level, the engine generates it with gpt-4o-mini.
- AI review before saving: a second pass checks each generated item, and only approved items are written to the database.
- Anti-repetition with a sliding window per tool and per student, stored as JSONB on the student profile.
- Audio with ElevenLabs, cached in storage by a hash of the text, so the same sentence is never paid for twice.
- Grew from 130 to more than 300 nodes as new tools came in.
Architecture
- 01
Tool request
Webhook protected by a secret header
- 02
Bank check
Unseen items for this student
- 03
AI generates
gpt-4o-mini, only when the bank is empty
- 04
AI reviewer
Approves or rejects each item
- 05
Save and deliver
Supabase JSONB, exercise plus cached audio
Results
- nodes in one production workflow
- 300+nodes in one production workflow
- tools served by a single webhook
- 10tools served by a single webhook
- tools with the self-growing bank, each with an AI reviewer before saving
- 7tools with the self-growing bank, each with an AI reviewer before saving
- nodes, growing as each new tool came in
- 130 → 300+nodes, growing as each new tool came in
Stack
- n8n
- OpenAI gpt-4o-mini
- ElevenLabs
- Supabase (Postgres JSONB, Storage)
My role
I designed the flow, wrote the prompts and the validation, and built every node and the database side. I run it in production and maintain it.
Why there is no public access
The workflow runs inside the paid platform and reads student progress, so it has no public endpoint. I can walk you through the real canvas on a call.
I can show it running live on a call.
I open the real system, with personal data protected, and answer anything you want to know about how it is built.
mirandamauro93@gmail.com