Ingest
Firecrawl pages, Supadata transcripts, PDFs, and direct text enter one source model.
Calibrating portfolio
000
AI learning platform · Async pipelines / 2026
Keeping slow, multi-provider generation reliable without blocking the product.

01 / The problem
Audio and content generation cross several slow external services. Running that work inside HTTP requests would create timeouts and brittle user experiences.
02 / System flow
Firecrawl pages, Supadata transcripts, PDFs, and direct text enter one source model.
OpenRouter and Gemini create typed, structured learning outputs.
BullMQ and Redis move podcast and conversational audio into background workers.
PostgreSQL tracks records, progress, credits, preferences, attempts, and ownership.
03 / Decisions that shaped the build
Scraped text, scripts, and audio URLs are saved after each stage so a retry can resume instead of repeating expensive work.
Reading level, tone, and depth are merged with each request rather than duplicated across output-specific UIs.
Users see persisted progress and actionable failure states while workers run independently.
04 / Reliability
05 / Reflection
“The project shifted from a set of AI buttons into a system: shared ingestion, reusable source context, durable jobs, and output-specific experiences.”Explore selected work