Reimagining Educando.app: From AI Generator to Intelligent Educational Repository
Why I killed the generation feature and rebuilt the product from scratch

The Original Product
Educando.app started as an AI activity generator for Brazilian teachers. Describe what you need — subject, grade, pedagogical objective — and get a ready-to-use activity generated by Gemini Flash in seconds.
It worked. The platform reached ~160 monthly active users driven entirely by organic Pinterest traffic. Zero paid acquisition. The freemium model ran on AbacatePay PIX credit packs (R$14,90 for 10 credits, R$34,90 for 25), with an all-in generation cost of around R$1,00 per activity.
Then a compromised Gemini API key triggered unauthorized usage, unexpected billing, and a forced suspension. A Google Cloud dispute was filed. The platform went offline.
While auditing the damage, I took a step back and re-evaluated the core product.
The Pivot
The generation model has a structural problem: every session starts from zero. Teachers describe what they need, wait for a generation, evaluate it, regenerate if needed. The feedback loop is slow, and the output quality is inconsistent because it depends entirely on how well the teacher prompts the system.
The insight was simple: the value was never in the generation — it was in the content. Teachers don't need an AI that generates activities on demand. They need a searchable, high-quality repository of activities they can trust and use immediately.
So the new version is exactly that.
What Changed
Goodbye: prompt-based generation The Gemini generation pipeline is gone. No more user-facing prompts, no more per-request API costs, no more compromised key exposure risk.
Goodbye: MercadoPago, Pinterest auto-posting Both removed. Cleaner codebase, fewer moving parts.
Hello: intelligent search powered by Tavily + GPT-5.4 nano The new core is a semantic search layer built on Tavily with a GPT-5.4 nano evaluation pipeline that scores and ranks results as JSON before they hit the frontend. Query telemetry is stored in Supabase to improve ranking over time.
Hello: rich content schema Each activity now has Title, Theme, Short/Long Description, BNCC codes (Brazilian national curriculum codes), and Type — structured fields that make filtering and semantic matching actually work.
Hello: Replicate + Qwen for image processing The qwen/qwen-image-2-pro pipeline on Replicate handles image processing for activity thumbnails and visual materials.
Hello: Cloudflare Turnstile + rate limiting Proper abuse prevention at the edge. No more FingerprintJS dependency — Turnstile at the CDN level combined with server-side rate limiting is cleaner and more reliable.
Architecture Decisions
No auth in v1. The Salvos (Saved) feature — the only user-state feature — is scoped to a future release that will include Supabase Auth with Google SSO. Shipping auth without a paywall to motivate it didn't make sense.
Tavily cache in Supabase. Search results are cached in the database to avoid redundant Tavily calls and reduce latency on repeated queries. The cache also feeds a query analytics table that will inform future content curation.
Stack is unchanged. Next.js, TypeScript, Supabase, Vercel. The infrastructure already worked — only the product logic changed.
What's Next
The premium tier is designed but not yet shipped: download/print behind a paywall, pricing TBD, Supabase Auth + Google SSO. The content repository needs to be seeded with enough high-quality activities before the paywall makes sense to turn on.
The security incident was the forcing function for a rebuild that needed to happen anyway. The original product was accumulating cost and complexity without proportional value. This version is leaner, more defensible, and solves the actual problem teachers have.




