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.
Sports·Reto 15×365
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.
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:
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.
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 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.
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.
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.
Each challenge has its price, its library and its ranking. Opening a new challenge means publishing it from the panel, not building another platform.
Reference images of the delivered product. The data shown is illustrative and does not correspond to real client or operational information.




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.
We defined two apps on one database and each rule as a documented architecture decision, so that odd behavior would always be intentional.
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.
Content does not travel with the code: the creator publishes challenges and videos from the panel, first in staging and then in production.
Installing as a phone app, automated emails and retention metrics are next on the list.