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

  1. 01

    Tool request

    Webhook protected by a secret header

  2. 02

    Bank check

    Unseen items for this student

  3. 03

    AI generates

    gpt-4o-mini, only when the bank is empty

  4. 04

    AI reviewer

    Approves or rejects each item

  5. 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

Next projectSpeakUp, live voice conversation