Sports·Reto 15×365

A 365-day challenge cannot be run by hand. We built a system that runs it on its own.

How Reto 15×365 went from a program idea to a platform that validates every workout, keeps the streak and the ranking, charges the subscription and opens access without anyone stepping in.

Client
Reto 15×365
Industry
Sports
Size
365 videos per challenge · several challenges in parallel · one business, one admin
Counterpart
Management · Desafío Virtus
Duration
6 weeks of build · in production since September 2026
Service type
Custom software: installable web app for participants and admin panel, integrated with the Bold payment gateway, video streaming and transactional email
365sequential videos per challenge, one per day
30 daysof access per payment; once expired, it cuts off by itself
0payments activated by hand: the gateway's signed notice opens access

The problem

Reto 15×365 is a program by Desafío Virtus: fifteen minutes of exercise a day, every day, for a year, following a different video each day. The promise is to build the habit, and the habit holds on three things: the person knows what is due today, sees their streak, and competes with everyone else.

Running that by hand does not scale. Sending the day's video, checking who trained, keeping each person's streak, computing points and ranking, charging every month and cutting access for whoever did not renew: with dozens of participants it is already a full-time job, and with hundreds it is impossible.

The platform had to solve, from day one:

  • Validating daily completion without relying on each participant's word.
  • Keeping a streak with clear rules: it resets on a miss, but the previous day can be recovered.
  • Charging the monthly subscription in pesos, with PSE and Bancolombia, and opening access at the moment of payment, even at eleven at night.
  • Giving the creator a panel to publish challenges and videos, review photos, see who stopped training and what was paid, without touching code.

What we built

We built two applications on a single database: the installable web app for participants and the admin panel. Each challenge has its 365-video program, its price and its ranking; a person can be in several challenges at once and each subscription expires on its own.

  1. 01
    Today's workout with validation: the day's video streams in the app, the person confirms with the video's keyword and uploads an evidence photo. A photo rejected from the panel takes its point back.
  2. 02
    Streak, points and ranking: the streak counts consecutive days and resets on a miss, with a window to recover the previous day. Points come from a configurable rule catalog and the per-challenge ranking breaks ties by points, streak and seniority.
  3. 03
    Gateway billing and automatic access: the order opens on the server with the challenge's price, the charge happens on top of the app and the gateway's signed notice activates the 30 days of access. An hourly job asks the gateway about payments whose notice never arrived.
  4. 04
    Admin panel: overview of active people, today's workouts and the month's revenue; a queue of photos to review; people on track, at risk and inactive; subscriptions with each payment's real status; pop-up campaigns for the community.
  5. 05
    Account, consent and email: sign-up with email or Google, versioned consent that is asked again when the terms change, phone numbers in international format and transactional email from the program's own domain.

Everything runs on a database with row-level access rules, edge functions for the gateway and scheduled jobs for reconciliation. The platform has been deployed to production with the gateway's live keys since September 2026, ready to open to the public; participant and retention figures will come with launch.

The result

01

Access opens with the payment, not with a person

The gateway's signed notice activates the subscription instantly. Only payments that came from outside, or whose notice arrived broken, wait for approval in the panel.

02

Completion has evidence

Video, keyword and photo. The creator reviews photos from a queue and a rejected photo reverts the point; the streak and the ranking no longer run on trust.

03

The creator sees her business without asking for reports

Active, at-risk and inactive people, the month's revenue and failed charges are in the panel the same day. Whoever signed up and never bought shows up too.

04

Several challenges, one operation

Each challenge has its price, its library and its ranking. Opening a new challenge means publishing it from the panel, not building another platform.

The system from the inside

Reference images of the delivered product. The data shown is illustrative and does not correspond to real client or operational information.

The Forabi Method

  1. 01
    Free consultation

    We wrote the business rules before drawing a screen: what counts as done, when the streak breaks, how ties are broken and what happens when the subscription expires.

  2. 02
    Design

    We defined two apps on one database and each rule as a documented architecture decision, so that odd behavior would always be intentional.

  3. 03
    Build

    Six weeks of short cycles: account and payment, the inside of the challenge with video, keyword and photo, streak and ranking, and the five screens the panel is run with.

  4. 04
    Adoption

    Content does not travel with the code: the creator publishes challenges and videos from the panel, first in staging and then in production.

  5. 05
    Ongoing support

    Installing as a phone app, automated emails and retention metrics are next on the list.

Is your operation growing faster than your tools can measure it?

Book your free consultation
Reto 15×365 · Case study · forabi.ai