The short version: this game has no accounts you can be tracked by, no advertising, no cookies, and loads nothing from any domain but this one. It counts how many people played and what happened in the game, and nothing about who you are. Nothing here is sold or shared.
Last updated 27 July 2026
Everything you do can be played without ever contacting a server. The game saves your progress in
your browser's local storage, on your device only, under keys beginning lw_. That covers
your best runs and streak, the device you ride, your settings (sound, steering, tilt sensitivity,
theme), your unlocked looks and mission progress, your in-game wallet, and the last rider count the
menu was shown, which is a public number and is kept only so the menu can print it before the network
answers.
None of that is sent anywhere unless you choose to post a score, claim a name, or race a friend. Clearing your browser's site data for this site erases all of it, permanently, without asking us.
The name you typed, your score, the device you rode, whether you arrived, the distance and time left, the day's seed, the date, and a compressed trace of your inputs. The trace is what lets the server re-simulate the run and confirm the score is real rather than typed into a console. That is the entire reason it exists.
Your chosen handle, and the SHA-256 hash of a random secret your device generates. The secret itself never leaves your device and is never stored by the server, so there is nothing to reset and nothing that can be stolen from us and reused. There is no email address, no password, no phone number, and no third-party sign-in. Copying that secret to another device is how you sign in on it. If you follow other players, the follow edges and your invite code are stored too.
Class Race is the classroom version: a host puts a six-character code on the projector and everyone in the room joins it. The server keeps the code, the seed both rounds are run on, the host's key, and, for each rider, the name you type and the outcome of each round you finish (arrived, late or crashed, plus the distance and the time you had left). It is stored so the room can watch a live board and see the two rounds compared at the end, and that is all it is for. Type whatever you want in that box: nothing checks it against you, and no account is created. There is no trace, no input recording, and none of it ever reaches the public leaderboard, which is a separate table on purpose. A whole session, riders and results together, is deleted 30 days after it was created.
Your position and your chosen name are relayed to the other players in your room, in memory, for as long as the race is running. Nothing about a race is written to a database.
Your invite link is an open door: anyone who has it can add you as a friend, which lets them see your daily scores on the friends board, and that stays true until you replace the link. If you have shared it too widely, open your account sheet and tap New invite link. The old link stops working at once; friends you have already added are unaffected.
The live site loads Vercel Web Analytics, served from this site's own domain at
/_vercel/insights/script.js. It counts page views and four events the game sends: a run
started, a run ended, a run shared, and a shared run opened. What rides along with them is about the
game and never about you: which mode, which ride, whether you arrived or crashed, and how far you got
rounded to the nearest 50 metres. Runs the attract loop plays at an unattended menu are excluded.
It sets no cookies and stores nothing on your device. Vercel counts visitors from a hash that is thrown away daily rather than from an identifier that follows you, and it cannot see you on any other site. Block it and the game plays exactly the same; nothing here depends on it.
One other request leaves the page unasked: the menu reads how many people rode today's route so it can print that line before you ride. It is a read, it carries nothing about you, and the answer is the same public number everyone gets.
When your browser makes a request, the hosting platform sees your IP address, as it must for any website to reply to you. The game uses it in memory, briefly, to rate limit abuse of the leaderboard and to stop one machine flooding the board. It is not written to the database and is not attached to your scores, your handle, or anything else that identifies you.
Three services, all acting only as infrastructure:
Each has its own privacy policy for the data it processes as a host. No data is sold, rented, or shared with anyone else.
Retention. A score row is kept for as long as a board can show it. The input trace attached to it is not: a scheduled job strips every trace older than 14 days, because a trace exists to re-verify or dispute a run and a run stops being disputable once its day is long past. Rows that no board will ever show again, the crashes and the late arrivals, are deleted outright after 90 days. A class race session, including every name typed into it and every round result, is deleted whole after 30 days. There is no separate archive, no backup you cannot reach, and nothing at all is kept about a deleted account.
This game is intended for people aged 13 and over. It is not directed at children under 13 and it does not knowingly store information from them. If you believe a child under 13 has posted a score, email the address below and it will be deleted.
UC San Diego, UCSD, Triton and the university's marks belong to the Regents of the University of California. They are used here only to describe the real place this project is about, which is ordinary descriptive use. No endorsement, sponsorship, or affiliation is claimed or implied. The navy and gold used throughout are the university's published brand colours, credited on purpose, and their use here is a design homage rather than any claim to them.
For deletions, corrections, or anything else about this page: yashgoel0304@gmail.com.