Calibrating portfolio

000

Selected work

AI learning platform · Async pipelines / 2026

Explainer AI

Keeping slow, multi-provider generation reliable without blocking the product.

RoleSole designer & developer
FocusBackground workers · Multi-source ingestion · Accessible learning tools
StackReact, Express, PostgreSQL, Prisma, BullMQ, Redis, OpenRouter, Gemini, Supabase
Explainer AI landing page for turning source material into learning formats

01 / The problem

Complexity should live in the system,not in the experience.

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

From input to a reliable outcome.

01Source adapters

Ingest

Firecrawl pages, Supadata transcripts, PDFs, and direct text enter one source model.

02Model providers

Generate

OpenRouter and Gemini create typed, structured learning outputs.

03Job system

Orchestrate

BullMQ and Redis move podcast and conversational audio into background workers.

04Product state

Persist

PostgreSQL tracks records, progress, credits, preferences, attempts, and ownership.

03 / Decisions that shaped the build

01Engineering choice

Checkpoint the pipeline

Scraped text, scripts, and audio URLs are saved after each stage so a retry can resume instead of repeating expensive work.

02Engineering choice

Treat preferences as prompt inputs

Reading level, tone, and depth are merged with each request rather than duplicated across output-specific UIs.

03Engineering choice

Structured state over opaque jobs

Users see persisted progress and actionable failure states while workers run independently.

04 / Reliability

Designed for imperfect conditions.

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