Charge a battery with your body. Race the blackout to Stage Zero.
A webcam game for the whole family. Kids play it. Parents queue for it. The prize claim is a Check My Address.
No app. No sign-up to play. Nothing but a skeleton ever leaves the phone.
zeroheroes.qa.stagezero.co.zaScan. Stand up. Play it now.
Want the stall view?
Open this link once in the browser that will play the stall, ideally a laptop with a webcam on a big screen. It enrols that browser as Tyger Valley · Stall 1 and stays enrolled: from then on the plain address is the stall, with its own board, the promoter panel (Ctrl+Alt+P, or Control+Option+P on a Mac) and the queue that survives dead wifi.
zeroheroes.qa.stagezero.co.za/?enrol=Ndea8eCjf3hGRFWbrtL61rsBdpUgOAcy34QsN2Gv-YgWhy a game
Our funnel starts with an address. A game gets us to it without a form in sight.
Stage Zero sells solar plus backup on subscription, and the reason people buy now is a smaller electricity bill, not only surviving load shedding. Every sale still begins with Check My Address. On Black Friday a mall is full of families who will never fill that in at a stall. They will queue for their kid to be a hero.
The kid gets the blackout. The parent, at the proudest moment, gets the bill.
The kid is the magnetAttract mode on a big screen
A skeleton dances on the TV. A seven-year-old stops. The parent stops.
The queue is the sales floor30 seconds a run, a family at a time
Predictable timing means a promoter knows exactly how long they have with each parent.
The board is the hookRank shown before anyone signs up
"That would rank #23 in South Africa. Claim your spot." A player who sees their rank goes again.
The prize claim is the address checkName, number, install address
Signing up feels like claiming a prize, not filling in a lead form. It is the lead form.
How a run plays
Thirty seconds. One body in frame at a time. Every move charges the battery.
- S40–25%
Stand in front of the camera
Pose tracking runs in the browser. The skeleton appears the moment a body does. No download, no account.
- S325–50%
Move. Big moves count more.
Arms score highest, then head, then legs. The battery drains constantly, so standing still slides you back down the ladder.
- S250–75%
Tag in the family
Up to three chargers take turns. A three-second handoff pauses the clock and the drain, so the tag-in costs nothing and the crowd gets its moment.
- S175–99%
Do not let it hit BLACKOUT
If the battery empties, the screen goes dark with a flicker. Not "you failed". Just the blackout everyone in the room recognises.
- S0100%
Stage Zero
A true 100% and the team wins. Then the rank tease, the sign-up, and a one-tap WhatsApp challenge to a friend.
Two places it runs
One codebase. A stall that wins prizes and a phone that spreads it.
The split is deliberate. A supervised stall can hand out a skill prize. An unsupervised phone can never take one, so there is no reason to cheat and nothing to police.
StallMall activation on a big TV
- Screen
- Laptop, TV, webcam. Landscape, supervised by a promoter
- Board
- Per venue, hourly and daily, carries the skill prizes
- Needs
- A venue key enrolled once per browser. Nothing else
- Offline
- Mall wifi dies, the stall keeps playing. Runs queue on the device and sync later
Every parent who completes the address check leaves with the two-months-free voucher, framed as two months of a lower bill rather than a discount on backup.
HomeAny phone, any time
- Screen
- Portrait, one handed, unsupervised
- Board
- National. Bragging rights plus a lucky draw
- Needs
- Nothing. Play is free and unlimited, no sign-up, ever
- Spreads
- Challenge a friend mints a short link. The friend races your ghost before the game has even finished loading
Every signed-up home player enters the draw, finished or not. Score never matters, so spoofing it buys nothing.
Seen on the live site
The same game on a stall TV and on a phone, on the live QA site.
Screenshots taken on 3 September 2026, browser chrome cropped. Nothing staged: a laptop enrolled as the Tyger Valley demo stall, and an Android phone.
The stall · 1920×1080
The phone · 390×844
What we are aiming for
Black Friday pilot targets, 27 November 2026.
These are the numbers in the PRD. A lead is a parent's name, a contact number and the address where they would install.
Runs per stallOne family every two minutes, including the tag-ins.
Runs that become leadsStall runs where the parent completes the address check.
Challenge links per home runEvery third run at home sends a WhatsApp challenge.
Challenge links playedA quarter of friends who get the link open it and race the ghost.
Cost per lead vs existing channels. Add the current cost per lead for paid social, search and field activations, and the stall's all-in cost (staff, merch, prizes, space) divided by the 40% target. Placeholder. We deliberately did not invent these figures.
Why this is real, not a deck
Built, tested, and running in the Stage Zero cluster today.
Pull the network cable. Keep playing.
The stall never depends on mall wifi. Runs queue on the device, the local board keeps updating, and everything syncs when the network returns. We do this live in the demo.
No camera frame ever leaves the device
Pose tracking runs in the browser. What gets sent is a time and a skeleton "ghost" of a few kilobytes. That is the POPIA answer and the look of the game at once.
Reviewable by eye
Every top time carries its ghost. A suspicious record on a prize board is a replay a promoter can watch in seconds.
Leads stay on our own Postgres
In-cluster, same domain, no third party. Public boards show team names only. Export is a deliberate job done by a person, not an endpoint.
Calibrated to make you move
Two children finished the first version in under seven seconds. It has since been tuned so Stage Zero takes the whole body, and the boards are split so an unsupervised phone can never take a skill prize.
Zero toolchain, zero app store
Plain HTML, CSS and JavaScript served from one origin. Nothing to install at the stall or at home. A promoter needs a browser and a webcam.