Inspiration
You know those games where the city is split into zones and you claim them by running through? They have one annoying problem. Between tall buildings, phone GPS jumps around by 10 m or more. My zones are 50 m wide, so one bad jump drops you into the wrong zone and your claim is gone. That's what I wanted to fix.
What it does
AURA-NET is a working prototype. It runs a simulated run across a 12 × 8 grid of 50 m sectors.
- Shows the raw GPS dots next to the smoothed track, so you can actually see the drift getting removed
- Claims sectors as the runner crosses them, and logs every claim and contest
- You can expand into a sector, reinforce it, or hit it with a fake rival strike to test it
- Two themes, neon and blue. Both run on the same simulation, so switching doesn't reset anything
How I built it
- Spatial hash grid. Finding your sector is one line of maths:
floor(x / 50), floor(y / 50). It never has to search through every zone. - Kalman filter. It guesses where the runner should be from their speed, then mixes in the new GPS fix. If the signal is bad, it trusts the fix less. In my simulation the error goes from about 3.5 m to 2.2 m in open sky, and from about 13 m to 5.5 m in the urban canyon.
- Vector terrain. The ground is just a height formula. The contour lines are traced with marching squares and drawn as SVG. No map tiles.
- One engine, two screens. The simulation is one reducer in
src/engine.jswith no React in it. Both themes draw the same state.
Built with React 19, Vite, Tailwind CSS and lucide-react. There's no backend yet.
Scalability (plan, not built yet)
- The sector lookup costs the same for 96 sectors or a whole city.
- Only save claimed sectors, keyed by sector. Most of a city never gets visited.
- Keep the filter on the phone. The phone only pings the server when the runner enters a new sector, about one message per 50 m.
- One grid per city, plus a server-side speed check to stop cheating.
Business model (plan, prices not tested)
- Who pays: running clubs. They want their members to keep showing up every week.
- What they get: a private league with its own map area, weekly seasons and a leaderboard.
- Price: free for runners. About ₹999 a month per club for up to 50 members.
- Later: a paid runner tier with extra stats (about ₹99 a month) and local shops sponsoring sectors.
- Costs: low per runner, because there are no map tiles to pay for and the filter runs on the phone.
- First step: one free season with running clubs in Bhopal, to see if they'd actually pay.
How I used AI
I wrote the brief, picked the design references, and chose the themes, features and panel names. The code was generated with Claude from that brief.
What is simulated
The GPS feed is fake: a known path with random noise added. The rival is a simple rule, not a real player. There's no server and no paying customer yet.
What I learned
- What a Kalman filter actually does: predict first, then correct
- Why looking up a grid cell beats searching every zone
- How to keep the simulation separate from the screens that draw it
- How to ship something: commits, a public repo, a README
What's next
- Read real GPS from a phone
- Swap the simulated rival for real players
- Do the verification check on a server
- Run a free pilot season with one club
Built With
- javascript
- react
- svg
- tailwindcss
- vite
Log in or sign up for Devpost to join the conversation.