Flow Map by Milestone — TheFittClub
Updated 2026-09-10 against the implementation including T682 and Gala’s launch decision: prepare the public launch with a waiting list, without opening sales. This map does not certify a live deployment or an offer’s availability.
Canonical source: product
_docs/01-core/flow-map-by-milestone.md. The existingsync-vault-dashboard.ymlworkflow copies this file to vault100_Desarrollo/02_Flow_Map.md. Edit the source, not the mirror.
Commercial stages
The previous calendar for May–September 2026 is not evidence of today’s availability. Proposed routes, daily email lessons and purchase windows must not be read as implemented requirements.
| Stage | Visitor experience | Readiness |
|---|---|---|
| Preparation | Entry flows and communications are being checked before public launch. | Verified implementation and an explicit launch decision. |
| Public launch with waiting list | Learn about the method, take the auto-test, request an available guide and join the list. Sales are closed. Existing members retain their applicable access. | Each offered destination delivers what its text describes. |
| Sales opening | Purchase only offers that have actually opened, under confirmed conditions. | Commercial approval, correct offers and access, matching pages and communications. Payment infrastructure alone is insufficient. |
A free capsule, ambassador offer or limited purchase window needs confirmed availability. It does not become active because this map mentions it or a date passes. Milestone gates and product law remain in mvp-scope.md, production-readiness.md, thefittclub-product.md and the domain documents. This map does not replace them or assign work to historical tickets.
Implemented destinations for these flows
These paths come from app/config/route-config.ts. They identify implemented routes, not a promise that every environment or catalog resource is publicly available.
| Destination | Spanish | English |
|---|---|---|
| Home | /es | /en |
| Ritual Core | /es/ritual-core | /en/ritual-core |
| Method | /es/metodo | /en/method |
| Auto-test | /es/auto-test | /en/self-assessment |
| Guide collection | /es/guias | /en/guides |
| Guide detail / capture | /es/guias/:slug | /en/guides/:slug |
| Auto-test guide access | /es/tu-guia?t=<token> | /en/your-guide?t=<token> |
| General waiting-list form on home | /es#ritual-core-waitlist | /en#ritual-core-waitlist |
| Signup | /es/registro | /en/signup |
| Create / reset a password | /es/restablecer-contrasena | /en/reset-password |
| Lost-email access recovery | /es/recuperar-acceso | /en/recover-access |
| Verify email | /es/verificar-email | /en/verify-email |
| Marketing unsubscribe | /es/baja | /en/unsubscribe |
The result is a state of the auto-test page. Returning result links use ?r=<variant>&lid=<leadId> on that route, not a separate /auto-test/resultado. The current general waiting-list entry is the home section, not the old proposed /pioneras page.
Flow A — Auto-test → result and follow-up
- The visitor completes the localized test and contact form. Capture uses
POST /api/leadswithsource=auto-test. - The page shows the result and requests its transactional email. That email permits a return to the stored result and may include guide access when available.
- The auto-test guide route validates its token, obtains a fresh signed PDF link and redirects to the file.
- A new contact enters follow-up; an existing sequence keeps its state. The public next step remains consistent with closed sales.
The shared result email title is Tu recorrido en Ritual Core / Your Ritual Core plan. The auto-test estimates a program plan; it is not a diagnosis or a measured muscle-capacity assessment. Phase progression follows the method and domain sources. Guide contents and availability must be checked against their resources, not inferred from an email example.
Flow B — Guide → delivery and follow-up
- The visitor selects an available guide and submits its capture form with
source=guias. - When the PDF is available and can be signed, capture returns a time-limited link and starts email delivery asynchronously. Otherwise the response can contain no PDF link, and no delivery email is sent.
- The ordinary guide email links directly to the signed PDF, unlike the auto-test token route.
- The confirmation allows an explicit resend. Repeated capture normally avoids duplicating a successful delivery; explicit resend can bypass that guard.
- Follow-up explains how to keep or recover the guide and introduces the method in the current commercial context.
Do not promise a fixed link lifetime, catalog size or an unchecked PDF. Requesting a guide does not establish membership or purchased access.
Flow C — General waiting list
The home form captures source=waitlist and confirms the action on the page. It does not send an immediate transactional welcome email. The first scheduled follow-up describes what to expect; it is not a sales-opening announcement.
Enrollment does not promise a numbered position, purchase reservation, discount or launch date. A contact already in a sequence keeps that state; joining the list does not start a second parallel sequence or restart the first.
Flow D — Existing member → access
Zenler passwords are not imported. Imported users have verified email addresses, initially without a password. First access for such a user uses the password-reset flow to create one. Do not instruct her to reuse Zenler credentials.
If she cannot use the old email, the recovery form records a request for manual Back Office review. Submission does not itself recover or transfer the account. After approved recovery, the flow requests the password-creation email to the new address and a security notice to the old address without disclosing the new one. Receipt is not guaranteed: delivery can fail, and the password email is subject to the applicable suppression conditions.
Authentication, onboarding and member destinations follow actual account state and access. Password creation or email verification alone does not grant a purchase or change entitlement.
Email delivery and ownership
Resend is the implemented sending provider. The application owns automatic sequence state and scheduling; Resend Audience membership is not the sequence engine.
| Family | Behavior |
|---|---|
| Transactional | Follows a concrete account, support, recovery, testimonial, guide or result action. |
| Capture follow-up | Three scheduled messages for each source: guides, auto-test and waiting list. |
| Pregnancy list | Requested guide and one return-to-test reminder, each with its own eligibility. Separate from the general list. |
| Activity follow-up | Uses recorded activity and contact conditions. Receipt does not prove a purchase or phase availability. |
| Broadcast | Founder-authored campaign initiated in the Back Office, with its own recipient selection and queue. Changing it does not edit automatic emails. Its body is not automatically translated. |
| Internal notice | Operational message for the team, sent in Spanish under the T682 decision; English rendering remains available. |
The full inventory is vault _docs/guia-correos-del-sistema.md (internal, excluded from publication). Approved bodies live in product public/locales/{es,en}/email.json and email-alerts.json; do not copy them here.
Public references: Email Brief L9 for voice and commercial context, and automatic sequences for the timing matrix.
The first sequence wait starts at enrollment, later waits at the previous accepted send. A daily process selects due messages; these are not guaranteed receipt times. There is no open-based 48-hour resend. The selector does not exclude buyers or change copy automatically when sales open.
The system’s shared signature is Equipo TheFittClub / TheFittClub team, with a team voice as the editorial default. Account verification retains its approved Soy Gala / I'm Gala introduction in the body. Personally authored broadcasts may retain Gala’s voice. A team signature does not promise that Gala personally answers every message or that replies arrive the same morning.
Consistency when sales open
Home, method, FAQ, guide capture, results, emails and destinations must describe the same availability. Public-page work follows the product’s SEO/GEO guidance: useful content, appropriate search intent and verifiable claims.
Before announcing sales, confirm the actual offer and destination and review affected funnels in that context. Preserve existing access and keep security messages focused on their purpose. This boundary does not schedule a launch, send a campaign or create a new funnel.
Implementation references
app/config/route-config.tsandapp/components/landing/JoinSection.tsx: localized routes and waiting-list anchor.app/routes/($lang).auto-test.loader.server.tsandapp/services/leads.server.ts: results and transactional delivery.app/services/email-audiences.server.ts: enrollment and suppression.app/lib/domain/email-sequences.ts,app/services/email-sequences.server.tsandworkers/background/index.ts: timing, destinations and due sends.app/services/email-client.server.tsandapp/services/broadcasts.server.ts: provider and campaigns.app/services/auth.server.ts,drizzle/seeds/seed_legacy_users.tsand the recovery route: imported-account access and recovery.