Day brief — 2026-08-08 — ALS-2
1. LOAD — restricciones del día
| Eje | Decisión | Motivo (diversidad) |
|---|
| Complejidad | Nivel 1 | Tras SURCO (L2 agro multi-rol) se baja a L1 compacto: un rol autenticado + flujo público de solicitud. Craft no baja (D-P0-01). |
| Sector | Fitness comunitario / club de barrio | No usado en la serie (COMAL cocina, ATRIO museo, MERIDIANA clínica, SENDA mayores, FIRME legal, TROCHA logística, CORREA mascotas, SURCO agro). |
| Tipo de producto | Web club + solicitud de plaza + panel coach JWT | Cara pública + lead/request + inbox ops; no marketplace, no ERP, no flota. |
| Auth | JWT coach (rol COACH) | Directiva D-P1-05: panel no abierto; solicitud pública sin cuenta. |
| Craft mínimo | ≥ SURCO densificado en docs + Paper | L1 = menos módulos, no menos profundidad. |
| Cierre | §1.1 completo en una iteración | Docs + Paper + app + Neon + smoke; sin “próximos pasos del L1 del día”. |
| Puerto API | 3008 | Evitar colisión con SURCO (3007) y anteriores. |
Anti-patrones a evitar (top del catálogo)
| ID | Anti-patrón | Mitigación hoy |
|---|
| AP-thin-docs | Docs de 1–2 líneas | Suite 00–20 con tablas, AC y criterios de aceptación |
| AP-generic-ui | UI “SaaS genérico” / “básica porque L1” | Palette chalk × ink × lime; Syne + Work Sans |
| AP-no-auth | Panel sin login | JWT obligatorio en GET/PATCH requests |
| AP-marketplace-copy | Lógica de marketplace / checkout | No catálogo de pagos, no ratings, no matching multi-proveedor |
| AP-fake-research | Estadísticas inventadas como primarias | Solo hipótesis y supuestos etiquetados |
| AP-open-debt | Backlog de features del L1 del día | Vertical slice cerrado: home, join, success, login, inbox, detail |
| AP-canvas-chaos | Paper sin bandas § | §1 UX · §2 DS+Public · §3 Coach · §4 Mobile · §5 States |
| AP-agro-logistics-legal | Reutilizar dominio de días previos | Fitness club de barrio; ClassRequest + ClassType |
Barra de calidad actual (ratchet)
- Paper: bandas §1–§5, ≥8 artboards UX densos + DS + público + coach + mobile + states.
- Angular alineado a tokens (chalk/ink/lime; no default Tailwind genérico).
- API Nest + Prisma + Neon con seed demo usable (5 ClassRequest + coach).
- Smoke: POST público request + login coach + list + patch status;
ng build o serve OK.
- Docs en español, profundidad tipo portfolio (no stubs).
2. BRIEF — concepto del día
| Campo | Valor |
|---|
| Nombre | VOLTA |
| Eslogan | ”Tu plaza en la cancha.” |
| Una frase | Web del club de barrio para apuntarse a clases y panel JWT del coach que gestiona solicitudes de plaza. |
| Tipo | Web club + solicitud pública + inbox coach — Nivel 1 |
| Roles | Público (sin cuenta) · COACH (Nora Beltrán) |
| Dominio | User (COACH) + ClassRequest (NEW | CONTACTED | CONFIRMED | CANCELLED) + ClassType HIIT | YOGA | BASKET | KIDS | OPEN |
| Estilo | Chalk #F7F7F2 × Ink #0B0B0B × Lime #C6F23A × muted #5C5C58 × border #E2E2DC |
| Tipo | Syne (display) + Work Sans (UI) |
| Stack | Angular + NestJS + Prisma + Neon + Tailwind + JWT |
| Paper | https://app.paper.design/file/01KZG2VRQFF2QF0PRDB10D4AG7 |
| Neon | delicate-mountain-11765167 · API :3008 · Web :4200 |
| App | /Users/cristian/orca/volta-app/ · GitHub Criscode2022/volta-app (puede estar pendiente de push) |
Por qué L1 fitness (y no otra cosa)
- Diversidad de sector: la serie no había tocado club deportivo / fitness comunitario.
- Complejidad L1 justa: un rol autenticado, entidad core con máquina de estados, form público y panel ops — vertical slice denso sin multi-rol ni multi-tenant.
- Diferenciación vs CORREA: CORREA es marketplace B2C con reservas; VOLTA es lead de plaza del propio club (no matching de terceros).
- Diferenciación vs SURCO: SURCO es tool multi-rol de finca; VOLTA es web de club + inbox de solicitudes.
- Metáfora de marca: volta = vuelta / vuelta a la cancha; promesa de hueco real en el grupo, no de “app fitness genérica”.
Must-have del día (alcance L1)
| # | Entrega | Criterio done |
|---|
| 1 | Home marketing | Hero real, clases, horarios teaser, CTA apuntarme, footer demo |
| 2 | Formulario pública | POST /api/requests sin auth; validación campos |
| 3 | Success | Confirmación + código VO-… |
| 4 | Login JWT coach | coach@volta.club / password123 |
| 5 | Inbox + stats | Lista + summary; chips de estado |
| 6 | Detalle + PATCH status | NEW → CONTACTED → CONFIRMED / CANCELLED |
| 7 | Empty / error | Sin solicitudes; fallo de red en inbox |
| 8 | Paper §1–§5 | UX process + DS + público + coach + mobile + states |
| 9 | Docs 00–20 + README + executive | Portfolio ES, sin stubs |
Explicitamente fuera de alcance (no son deuda del día)
- Pagos / cuotas / Stripe
- Calendario de plazas en tiempo real / aforo live
- App nativa / wearables
- Multi-coach / multi-sede / multi-tenant
- Notificaciones email/SMS/WhatsApp automáticas
- Marketplace de entrenadores externos
- Perfil de socio completo / CRM pesado
3. Directivas activas aplicadas
| ID | Aplicación en VOLTA |
|---|
| D-P0-01 | L1 no reduce craft ni profundidad de docs |
| D-P0-02 | Hi-fi con media real (assets/hero.jpg), microcopy club |
| D-P0-03 | Angular + Nest + Neon + Tailwind + repo app |
| D-P0-04 | Canvas Paper en bandas §1–§5 con labels |
| D-P0-05 | Hero fotorrealista en case y app |
| D-P0-06 | Cierre §1.1 sin backlog del alcance L1 |
| D-P1-01 | ≥8 artboards UX en Paper (stakeholders → datos) |
| D-P1-02 | Tokens chalk/ink/lime en Angular |
| D-P1-03 | apps/api + apps/web independientes |
| D-P1-05 | JWT en GET/PATCH requests coach |
| D-P1-06 | Smoke public POST + login + list + patch |
4. Cuentas demo
| Rol | Nombre | Email | Password |
|---|
| COACH | Nora Beltrán | coach@volta.club | password123 |
Seed de referencia: 5 ClassRequest con códigos VO-0808-01…05 (HIIT NEW, YOGA CONTACTED, BASKET NEW, KIDS CONFIRMED, OPEN CANCELLED).
Supuestos (no investigación primaria)
- Clubs de barrio coordinan listas de espera y plazas por WhatsApp y papel en el mostrador.
- El coach necesita un inbox ordenado, no un ERP de socios.
- El visitante quiere pedir plaza sin crear cuenta ni app.
5. Criterio de cierre del día
Estado del brief: listo para EXECUTE y entrega de caso.