Versión cliente del informe de equipo: incluye la línea de tiempo día por día, las entregas por área funcional, los pendientes reales en Jira y la conclusión honesta de madurez del proyecto por la IA. Datos reales de Jira (SD-1170) + GitHub (predatoralgo) + lectura del código; nada inventado; agrupado por equipo, no por persona.
⏱️ Duración real: 19 días laborales. El período del 27 de mayo al 24 de junio de 2026 abarca 28 días corridos, de los cuales se descuentan sábados, domingos y 2 feriados nacionales de Bolivia (Corpus Christi, 4 de junio y Año Nuevo Andino, 21 de junio) → quedan 19 días laborales. El equipo tuvo actividad en 20 días — es decir, trabajó todos los días hábiles y además el feriado de Corpus Christi (15 commits el 4 de junio). No hubo días muertos dentro de la jornada hábil.
Cada día es un desplegable: el título resume qué se hizo; al abrirlo se ven los tickets y la actividad (cerrados · commits · PRs). Por defecto están colapsados. Fines de semana y feriados omitidos. En los días sin tickets cerrados se muestran las tareas en progreso y los commits.
En progreso: scaffold inicial del proyecto.
Commits del día (1): Initial commit.
Actividad: 0 done · 1 commit · 0 PRs
Tickets: SD-1172, SD-1185, SD-1173 · 3 done · 19 commits · 3 PRs
Tickets: SD-1200, SD-1183 · 2 done · 9 commits · 2 PRs
En progreso (referido en commits): SD-1202.
Commits del día (4): unificar fondos de secciones con grilla de decoración · quitar la sección Trading Journal de la landing · ignorar caché de tooling.
Actividad: 0 done · 4 commits · 1 PR
Tickets: SD-1184, SD-1198, SD-1214, SD-1216, SD-1202, SD-1218, SD-1224 · 7 done · 26 commits · 4 PRs
Tickets: SD-1212, SD-1227, SD-1260, SD-1232, SD-1243 · 5 done · 23 commits · 3 PRs
Tickets: SD-1230, SD-1244, SD-1268 · *(SD-1199 marcado "no se hará", reemplazado por SD-1244)* · 5 done · 15 commits · 3 PRs
En progreso (referido en commits): SD-1236 (página /about), SD-1264 (esquemas y cliente HTTP endurecido de TradingView).
Commits del día (2): construir la página /about (brand-story) · lib/tradingview schemas + expiración + cliente HTTP endurecido.
Actividad: 0 done · 2 commits · 0 PRs
Tickets: SD-1233, SD-1236, SD-1249, SD-1231, SD-1269, SD-1246, SD-1247, SD-1271 · 8 done · 33 commits · 6 PRs
Tickets: SD-1234, SD-1235, SD-1239, SD-1250, SD-1281, SD-1270, SD-1278, SD-1279, SD-1282, SD-1288, SD-1254, SD-1256, SD-1280 · 13 done · 38 commits · 9 PRs
Tickets: SD-1255, SD-1240, SD-1242, SD-1251 · 4 done · 27 commits · 7 PRs
Tickets: SD-1257, SD-1229, SD-1252, SD-1296, SD-1293, SD-1294, SD-1299, SD-1241 · 8 done · 38 commits · 9 PRs
Tickets: SD-1259, SD-1308, SD-1253 · 3 done · 29 commits · 4 PRs
Tickets: SD-1300, SD-1301, SD-1302, SD-1258, SD-1311, SD-1313, SD-1328 · 7 done · 29 commits · 8 PRs
Tickets: SD-1332, SD-1337, SD-1338, SD-1284, SD-1339, SD-1303, SD-1325, SD-1289 · 8 done · 29 commits · 6 PRs
Tickets: SD-1245, SD-1292, SD-1347, SD-1345 · 4 done · 20 commits · 3 PRs
Tickets: SD-1283, SD-1350, SD-1237, SD-1352, SD-1351, SD-1363, SD-1358, SD-1353, SD-1355, SD-1360, SD-1361, SD-1349, SD-1357, SD-1346, SD-1359 · 15 done · 40 commits · 10 PRs
Tickets: SD-1367, SD-1365, SD-1370, SD-1369, SD-1371, SD-1366, SD-1372, SD-1362, SD-1364 · 9 done · 26 commits · 6 PRs
session.customer venía null); email de soporte y gate de checklist pre-lanzamiento.Tickets: SD-1368, SD-1385, SD-1386, SD-1383, SD-1384, SD-1248 · 6 done · 9 commits · 3 PRs
Tickets: SD-1390, SD-1394 · 2 done · 5 commits · 2 PRs
Todo lo entregado (106 Done), agrupado por área.
| # | Área (scope) | Período activo | Qué se construyó |
|---|---|---|---|
| 1 | Pagos y checkout (Stripe) | 3 – 19 jun | Productos/precios Pro y Lifetime, checkout con campos personalizados, auto-renovación §7.4, pivot a suscripción directa (sin trial, reembolso 7 días), Customer Portal, cupones, go-live real |
| 2 | Automatización de acceso (webhook → TradingView + Telegram) | 9 – 24 jun | [AUTO-1..8]: cliente TradingView endurecido, estado en Redis, webhook grant/extend/revoke, cola de fallback + grant manual, cron de revocación/reconciliación, invite único de Telegram, tracking/expulsión de miembros, ops manuales |
| 3 | Landing y sitio | 2 – 23 jun | Home, /pricing, /about, /how-it-works, /education, /faq, navbar, footer, copy alineado al Bible, UX móvil, success page |
| 4 | Branding y diseño | 2 – 18 jun | Fondos oficiales, logo, tipografía y tokens de color, motivo "reticle" (glow/scanline), hero video optimizado |
| 5 | Legal y compliance | 10 – 24 jun | Disclaimer, billing, claims policy, cookie policy + banner de consentimiento, revisión meticulosa de páginas legales |
| 6 | Infraestructura y DevOps | 28 may – 23 jun | Dominio (Hostinger/Cloudflare/Vercel), email corporativo + DKIM/DMARC, Redis (Upstash), harness de tests, CI |
| 7 | Tooling IA / Claude Code | 28 may – 4 jun | Infra de agentes, comandos de PR, MCPs, GGA, OpenSpec — productividad interna |
| 8 | SEO y analítica | 10 – 18 jun | SEO completo, GA4 + eventos de conversión, tracking de join a Telegram |
| 9 | Dashboard de administración | 15 – 19 jun | Cola de grant manual (email + usuario TV), Diagnose, "Refresh payment" por fila, persistencia de tab |
Nota: 6 tickets transversales (lectura de documentación y creación de tareas del Bible, confirmación de comportamiento v2.3, CSP, gate de checklist pre-lanzamiento) no se asignan a una sola área. La automatización de acceso (filas 2) es el corazón técnico del producto: conecta el pago con el acceso real a TradingView y Telegram.
De los 111 tickets de la épica, 5 no están Done:
| Ticket | Qué es | Estado |
|---|---|---|
| SD-1171 | Crear los indicadores en TradingView | In Review |
| SD-1238 | [T-10] Revisión legal por asesor externo (pendiente de Rafael) | To Do |
| SD-1199 | Implementar pago Stripe (checkout de suscripción) — reemplazado por SD-1244 | Won't Do |
| SD-1289 | [T-14c] CSP con nonce obligatorio (pasar de Report-Only) | Won't Do |
| SD-1292 | [T-24 follow-up] Tests de webhook + cola de fallback + Playwright E2E adicionales | Won't Do |
Los pendientes reales son pocos: el principal gate de negocio es la revisión legal externa (depende del cliente/Rafael) y dejar publicados los indicadores en TradingView.
Esta sección fue generada por la IA (Claude). Es una valoración honesta e independiente —no un argumento de venta—, basada en los datos de Jira/GitHub y en la lectura del código real del repositorio y de su spec/"Bible" (
.docs/creation-tasks/SD-1212-…).
Veredicto: funcional, pero arquitectónicamente inmaduro (por diseño deliberado y documentado).
PredatorAlgo cumple su objetivo de MVP —vender acceso, otorgarlo automáticamente al pagar y revocarlo al
cancelar— y lo hace con piezas de buena calidad. Pero no es un producto con backend real, y eso marca un
techo claro de escalabilidad y mantenibilidad.
Lo que está sólido (funcional):
idempotencia (Redis), cola de fallback y cron de reconciliación; cobro real en vivo desde el 18 jun.
con tracking y expulsión automática — no es una maqueta.
lib/stripe, lib/redis,
lib/tradingview, lib/telegram), helpers tipados, tests Vitest y CI en cada PR.
Lo que lo hace inmaduro en arquitectura (con evidencia en el código):
Stripe (stripe.customers.list, tope de 100 clientes, sin paginación), y el estado de negocio (plan,
access_granted, usuario TV/Telegram) vive como metadata de texto en Stripe, sin esquema, migraciones
ni integridad referencial. La única persistencia propia es Redis (estado operacional).
de Cloudflare Access en el borde; no hay login, sesión, roles (RBAC) ni tabla de usuarios. Es un único
punto de fallo**: si esa política se desconfigura, todo el panel (datos de clientes, acciones de grant)
queda públicamente accesible.
iteración. Para soportarlo hay que construir la integración completa (webhook, idempotencia, mapeo de
acceso) desde cero.
Conclusión. Para algo rápido y de lanzamiento, usar Stripe como fuente de verdad está bien y fue
una decisión correcta y documentada en el Bible (que difiere Supabase/auth/NowPayments a V1.5/V2). Pero para
que el producto crezca —que funcione NowPayments, y que exista un **dashboard real con usuarios
autenticados y autorizados— hay que reestructurar este pseudo-backend (Stripe-como-DB) a un backend real**
(p. ej. Supabase/Postgres + capa de auth/autorización). En síntesis: **funcional para su MVP, pero inmaduro
en arquitectura (escalabilidad y mantenibilidad)**; el siguiente salto del producto exige esa reestructuración,
no más parches sobre Stripe.
_— Análisis generado por Claude (IA). Sincero e independiente; basado en datos reales de Jira/GitHub y en la lectura del código del proyecto. (ver el informe completo)_
_Fuentes: Jira épica SD-1170 y GitHub swissbull-group/predatoralgo + lectura del código, extraídos en vivo el 29 jun 2026. Informe por equipo (no por persona). Nada inventado._