~/progetti/outpaced/README.md

COOKIES_ADVICE PRIVACY_POLICY.

~/progetti/outpaced/README.md

Outpaced

{ fecha: “2026-05-03”, estado: “en desarrollo”, módulos_stack: 7 }

Monitoreo de dependencias sin fricciones para proyectos JavaScript y TypeScript

Outpaced es un SaaS público que ofrece visibilidad inmediata sobre el estado de las dependencias npm: pegas un package.json y en segundos obtienes un dashboard completo sobre actualizaciones, vulnerabilidades CVE, paquetes obsoletos y abandonados. Sin acceso al repositorio, sin configuración, sin pull requests automáticas.

El principio rector del producto es uno: del registro al momento de valor en menos de dos minutos. Un punto de control centralizado para quienes gestionan múltiples proyectos en paralelo y quieren saber de un vistazo cuántas dependencias críticas tienen, qué proyectos están más en riesgo y qué actualizar primero.

## El problema

El monitoreo de dependencias hoy está dominado por dos categorías de herramientas, ambas con límites claros para quienes solo buscan visibilidad:

·Bots de pull request (Dependabot, Renovate): requieren acceso al repo, configuración YAML por proyecto y producen PRs en lugar de un dashboard agregado
·Escáneres de seguridad enterprise (Snyk, Socket.dev, OWASP Dependency-Track): potentes pero pensados para equipos con necesidades de compliance, SBOM y reachability analysis

La brecha: nadie ofrece el flujo "pega package.json → mira el dashboard". Outpaced se posiciona como herramienta complementaria, enfocada en monitoreo y visibilidad, no en automatización.

## La solución

Un flujo de usuario deliberadamente lineal:

·Registro con email y contraseña
·Crea un Project, sin asistente, aterrizaje directo
·Pega el package.json y opcionalmente el lock file para análisis CVE preciso
·Análisis asíncrono en segundo plano
·Dashboard con el estado de cada paquete: versión actual, última disponible, tipo de actualización, CVE, deprecaciones, abandono
·Re-check manual hasta 3 veces al día y check automático nocturno
·Notificaciones por email cuando surgen nuevas alertas críticas

## Tipos de alerta

Cuatro categorías de señales distintas:

·Outdated — actualización disponible, severidad de info (patch) a critical (major)
·Deprecated — paquete marcado como obsoleto en npm
·Vulnerability — CVE de npm Audit y OSV con severidad basada en CVSS
·Abandoned — más de 2 años sin release combinado con caída de descargas; el doble criterio evita falsos positivos en paquetes maduros y estables

## Stack tecnológico

Las decisiones técnicas reflejan los requisitos del producto:

·Frontend: SvelteKit, TypeScript y Tailwind CSS, SSR para páginas públicas y SPA para el dashboard
·Backend: Go con stdlib y REST API, concurrencia idiomática con goroutines y channels
·Base de datos: PostgreSQL con relaciones estructuradas y JSONB cifrado en reposo
·Queue y caché: Redis + Asynq con colas separadas para análisis y email
·Auth: Better Auth con sesiones y JWT, lista para social login futuro
·Email transaccional vía Resend o Postmark
·Fuentes de datos: npm Registry, npm Audit y OSV (Google) para metadatos, CVE y futura expansión multi-ecosistema

## Arquitectura de dos binarios

Servidor HTTP y worker son dos binarios distintos que comparten el mismo paquete de dominio Go: mismo código, deploy y escalado independientes, mejor resiliencia operativa. Un crash del worker no tumba la API.

## Decisiones de diseño significativas

Cinco decisiones que caracterizan el producto:

·Parsing del lado cliente para privacy by design: package.json y lock file se parsean en el navegador, al servidor solo llega la estructura normalizada
·Cifrado en reposo por workspace: JSONB cifrado a nivel de columna con clave distinta por workspace
·Rate limit como decisión de producto: 3 checks manuales al día protegen la infraestructura y respetan las APIs públicas de npm
·Contrato API explícito en lugar de tipos compartidos: OpenAPI como fuente de verdad entre TypeScript y Go
·GDPR-first: borrar la cuenta equivale a eliminación inmediata e irreversible, sin periodo de retención

## Roadmap

Tres fases progresivas de valor:

·V1 — MVP "manifest paste": auth, projects, paste de package.json, análisis asíncrono, alert center global, rate limit con feedback UI, emails, checks nocturnos, badge para README
·V2 — Integración Git: OAuth GitHub, GitLab y Bitbucket, webhooks, soporte monorepo, workspaces multi-usuario
·V3 — Expansión de ecosistema y monetización: requirements.txt, go.mod, Gemfile, sugerencias de fix y PRs desde el producto, tiers de pago vía Stripe, notificaciones Slack y webhooks

## Lo que estoy aprendiendo

Lecciones operativas de un product scoping riguroso:

·Decir no a features "obvias" como PRs automáticos o integración con repo en V1 para proteger el time-to-value
·Diseñar fronteras claras entre server y worker desde el primer día
·Privacy como restricción de diseño y no como checkbox: el parsing del lado cliente guió decisiones de UX, formato API y límites de tamaño
·Roadmap V1/V2/V3 clara para no construir cosas que nadie necesita ahora

Outpaced es un producto europeo con sede en Italia, actualmente en desarrollo. Stay ahead of your dependencies.

// stack
[sveltekit”, go”, postgres”, redis”, saas”, devtools”, dependency-monitoring”, ]