Skip to content

zenfinity/irlrpgmap

Repository files navigation

irlrpgmap

A personal map that reveals the world as you explore it — like fog of war in an RPG, but for real life.

Log places you've been and watch your map come alive. The more you've explored a neighborhood, the more the fog lifts.

irlrpgmap screenshot

irlrpgmap.live


How it works

Your data lives in an encrypted vault file on your device — no account, no server-side personal data. Open your vault to load your map; save it when you're done.

Use the Wuz Here button to add places you've been:

  • GPS — one tap to mark your current location
  • Photo — select photos from your camera roll; GPS and timestamps are read from EXIF metadata locally, clustered into places, and logged (nothing is uploaded)
  • Search — find any place by name and pick the date you visited
  • Import — bulk import your Google Maps Timeline export (JSON) for historical data

In the World view, each neighborhood you've visited appears as a soft fog reveal — brighter the more you've explored it. Click a neighborhood to enter the Area view, where the real neighborhood boundary becomes a dungeon wall and your visited spots clear the fog inside it.

Quests 📜

Create quests with a list of tasks to complete around the world. Tasks can be tied to a location — when you use Wuz Here nearby (within 100m), the task auto-completes. Share quests with friends as a link or a file; the full quest is encoded in the URL so it works without any server or session.


Stack

  • SvelteKit + Svelte 5 — frontend and server
  • Mapbox GL JS — map rendering and fog of war overlay
  • Neon — serverless Postgres with PostGIS for neighborhood geometry (public data only)
  • WebCrypto API — AES-GCM-256 vault encryption with PBKDF2 key derivation, entirely client-side
  • Custom CSS — Dusk theme (light/dark), DOS terminal aesthetic, Barlow + Press Start 2P
  • Vercel — hosting

Roadmap

  • Granular familiarity levels (explored, searched, heard of)
  • Map sharing
  • Support for additional location history formats

Local development

npm install
npm run dev

Requires a .env file with:

DATABASE_URL=...
VITE_MAPBOX_TOKEN=...
GH_TOKEN=...

Built with Claude Code by Anthropic.

About

Discovery as a state of mind, a map to reflect it

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors