Compete ยท Journal ยท Trace ยท Form

Bowl your real game. Beat a simulated rival.

VirtualLanes is a phone-first bowling companion. Tap in the frames you actually bowl and race a simulated opponent who reacts to the same lanes as you โ€” then journal what you saw, decided and adjusted, so your lane read gets sharper every session. One game, one history.

Local-first PWA. Your games stay on your phone โ€” no accounts, no cloud, works offline.

Four modes, one history

๐ŸŽณ Bowl-off

Bowl your real frames and compete against a chosen rival, frame by frame. Tap the pins you knock down; the rival bowls the same breaking-down lanes.

๐Ÿ“– Journal

Record your real shots โ€” what you saw, what you decided, what happened. Annotate any frame of a live game to sharpen your lane read.

๐ŸŽฅ Trace soon

Film a shot and auto-track the ball โ€” laydown, breakpoint, pocket entry and speed, with a top-down path of every throw.

๐Ÿƒ Form soon

Film your approach โ€” on-device pose tracking reads your swing plane, posture and footwork, step by step. Nothing leaves your phone.

Built for league night

๐Ÿง  A real simulation engine

Rivals aren't random numbers โ€” rev rate and ball speed drive results, oil breaks down as the game goes on, and ball changes matter.

๐Ÿ† Rivals with personality

Build a roster of opponents, each with their own style and scout report. Pick your poison before every bowl-off โ€” or go solo for stats.

๐ŸŽณ Your arsenal

Track your balls, switch mid-game with one tap, and see how each one performs across patterns and centres.

๐ŸŸ๏ธ Your centres

Save the houses you bowl at and their patterns, so every game is logged against the conditions you actually faced.

๐Ÿ“Š Stats that matter

Average, strike %, spare and makable %, and breakdowns by pattern, ball and centre โ€” across every mode, in one shared history.

๐Ÿ”’ Private by design

No accounts, no uploads, no analytics. Everything lives on your device, and you can export a backup file anytime.

Get it on your phone

๐Ÿ“ฑ Install the PWA

Open the app in your phone's browser, then add it to your home screen โ€” it opens full-screen and works offline after the first load.

Open virtual-lanes.pages.dev

iPhone (Safari): Share โ†’ Add to Home Screen. Android (Chrome): menu (โ‹ฎ) โ†’ Install app.

๐Ÿ› ๏ธ Host it yourself

It's a static SvelteKit build โ€” deploy it to any static host, or just run it locally.

git clone https://github.com/michael-borck/virtual-lanes
cd virtual-lanes
pnpm install
pnpm build   # static site in ./build

No backend, no database โ€” the build output is the whole app.