Sobre el proyecto

Spectrum es un warehouse de análisis de producto autoalojado diseñado como alternativa open-source a plataformas comerciales como Amplitude y Mixpanel. El proyecto demuestra cómo una arquitectura estrictamente basada en PostgreSQL puede manejar ingestión de eventos, sessionización, análisis de funnels, retención de cohortes, atribución de ingresos y pruebas A/B, sin requerir brokers de mensajes externos ni frameworks de big data. El sistema ingesta eventos crudos de clickstream a través de un endpoint FastAPI, los procesa mediante una pipeline ELT idempotente usando `FOR UPDATE SKIP LOCKED` para batch claims, y computa construcciones analíticas puramente en SQL — incluyendo límites de sesiones de 30 minutos vía window functions y funnels de conversión semanales a través de dimensiones a nivel de cuenta. Las vistas materializadas sirven métricas preagregadas para dashboards de Grafana mientras el security a nivel de fila aísla los datos por inquilino. Los patrones arquitectónicos clave incluyen un diseño de tres esquemas que separa las capas de staging, warehouse y analytics; tablas fact particionadas por rango mensual con partition pruning; índices BRIN en timestamps cronológicos de eventos; una cola de mensajes rechazados para payloads malformados; y ejecución concurrente y segura de la pipeline que tolera instancias simultáneas del runner sin procesamiento duplicado. El proyecto incluye migraciones Alembic, exposición de métricas Prometheus, pruebas de integración que validan tasas exactas de funnel y aislamiento de retención, y un script de benchmark que demuestra las aceleraciones por partition pruning. El despliegue se basa en contenedores Podman que orquestan PostgreSQL, el servidor API y Grafana, con un único comando `make demo` que provisiona todo, genera actividad simulada de usuarios, ejecuta la pipeline de transformación e inicia la capa de visualización.