Training content often exists as video/audio, but organizations also need a way to assign quizzes, track results and keep demo/API usage under control.
› What I Built
I built MargInQuiz as a quiz platform with Astro frontend and Cloudflare Worker API: media upload, audio extraction, Whisper transcription, LLM quiz generation, admin/driver authentication, assignments and result tracking.
› Core Capabilities
Video/audio upload with local or browser-side extraction.
Whisper transcription and LLM quiz generation.
Admin dashboard for quizzes, users/drivers, assignments and results.
Driver/user area for pending quizzes and personal history.
Cloudflare Worker API with D1 database, KV cache, JWT auth and provider-switchable AI secrets.
Cooldowns and quota controls for public/demo reliability.
› Technical Decisions
01
Split frontend and Worker API to keep UI, auth and AI processing modular.
02
Use D1 for quizzes, users, assignments and results, with KV for cache where useful.
03
Keep AI providers configurable through environment/secrets instead of code changes.
04
Expose progress and limits because transcription/generation can be slow and costly.
05
Protect admin and driver flows with JWT rather than simple client-side state.
› What This Demonstrates
End-to-end AI product implementation: media processing, transcription, LLM generation, Cloudflare Workers/D1/KV, auth, role-specific dashboards and operational usage controls.
Conteudo de formacao existe muitas vezes em video/audio, mas tambem e preciso atribuir quizzes, acompanhar resultados e controlar uso de APIs/demo.
› O que foi Construído
Construí o MargInQuiz como plataforma de quizzes com frontend Astro e Cloudflare Worker API: upload de media, extracao de audio, Whisper, geracao por LLM, autenticacao admin/driver, atribuicoes e resultados.
› Capacidades Centrais
Upload de video/audio com extracao local ou no browser.
Transcricao Whisper e geracao de quiz por LLM.
Dashboard admin para quizzes, utilizadores/motoristas, atribuicoes e resultados.
Area de utilizador/driver para quizzes pendentes e historico.
Worker API com D1, KV, JWT auth e providers IA configuraveis por secrets.
Cooldowns e controlos de quota para fiabilidade publica/demo.
› Decisões Técnicas
01
Separar frontend e Worker API para modularidade entre UI, auth e IA.
02
Usar D1 para quizzes, utilizadores, atribuicoes e resultados, com KV para cache.
03
Manter providers IA configuraveis por ambiente/secrets, sem mudar codigo.
04
Mostrar progresso e limites porque transcricao/geracao podem ser lentas e caras.
05
Proteger fluxos admin/driver com JWT em vez de estado apenas no cliente.
› O que isto Demonstra
Produto IA end-to-end: media, transcricao, geracao LLM, Cloudflare Workers/D1/KV, auth, dashboards por role e controlos operacionais.
› Limitações & Próximos Passos
Adicionar output multilingue.
Suportar export SCORM/LMS e reporting mais rico.
› Acesso Demo
utilizador:demo
palavra-passe:demo
Demonstração limitada para proteger a quota da API.