Para la sesion 100, Deblo.ai habia crecido de una demo de chat de una sola pagina a una plataforma educativa completa con 24+ tablas de base de datos, 18 modulos de rutas API, 60+ componentes frontend, una app movil React Native, streaming SSE con 20+ tipos de eventos, tareas de generacion en segundo plano, llamadas de voz, y un sistema de pagos que abarca seis paises. Asi es como se ve esa arquitectura desde dentro.
El backend: FastAPI hasta el fondo
Elegimos FastAPI por una razon: asincronia. Una plataforma de educacion IA es fundamentalmente un sistema limitado por E/S. Cada solicitud de chat involucra al menos una llamada HTTP a un proveedor de LLM, a menudo seguida de ejecuciones de herramientas que cada una involucra sus propias llamadas de red.
La estructura de la aplicacion es deliberadamente plana. Sin clases base abstractas. Sin framework de inyeccion de dependencias. Sin "arquitectura limpia" hexagonal de puertos y adaptadores. Cada archivo de ruta importa directamente los servicios que necesita.
La base de datos: 24 tablas, una columna JSONB que importa
La columna messages en Conversation es JSONB. Cada mensaje en una conversacion vive en un solo array JSON en la fila de la conversacion. Sin tabla messages. Sin joins. Esta fue una compensacion deliberada optimizada para el patron de acceso mas comun: cargar el historial completo de la conversacion para enviarlo al LLM como contexto.
El frontend: SvelteKit 2 + Runes Svelte 5
60+ componentes organizados por funcionalidad: chat, layout, creditos, admin, auth. Gestion de estado con stores writables de Svelte con persistencia localStorage.
El protocolo SSE: 20+ tipos de eventos
content, reasoning, tool_start, tool_progress, tool_end, quiz, true_false_quiz, file, credits, bonus_credits, error, done, annotations, draft_email, exercise_result, notification.
La app movil: Monorepo Expo React Native
Paquetes compartidos: @deblo/api, @deblo/stores (Zustand), @deblo/streaming (parseo SSE), @deblo/i18n.
Docker Compose: cuatro servicios
Frontend, backend, PostgreSQL (pgvector/pgvector:pg17), Redis.
La capa de servicios: 40+ modulos
llm.py, tool_executor.py, tools.py, credits.py, background_generation.py, file_generator.py, web_tools.py, sandbox.py, quiz.py, memory.py, payment.py, payment_poller.py, y mas.
El triple de autenticacion
WhatsApp OTP, Google OAuth, codigos de acceso -- tres caminos que convergen en el mismo modelo User y formato JWT.
Esta es la Parte 2 de una serie de 12 partes sobre la construccion de Deblo.ai.