Inspiration

Nature really is just like an RPG; you just haven’t seen it that way until now. The park down the street is an unexplored zone, and the crane at the pond is a rare encounter. With Quest you can feel the excitement of your online games in real life, it's a board full of quests every morning, also a reason to walk somewhere new, and a collection to complete.

What it does

Quest is a fantasy RPG where the quests happen in real life. You don’t create or accept quests, every adventurer gets a personal Questboard of six paper notices (3 Easy, 2 Medium, 1 Hard). You complete each one by going out and doing it, then taking a photo as proof, where an AI judge checks that the photo actually matches the quest before any XP is awarded.

Core Features:

  1. Individual Quests
  2. 3 Quest Types
  3. Interactive Map
  4. Player Progression
  5. Player Guilds

How we built it

Database + Backend: SpacetimeDB (TypeScript module, hosted on Maincloud) Authentication: SpacetimeAuth (Google sign-in) Image Recognition: Gemini API Places & Search: OpenStreetMap (Overpass API) + Open-Meteo Map: MapLibre GL Frontend: React 18 + TypeScript + Vite

Challenges we ran into

Our biggest challenge was making the AI judge reliable, Gemini sometimes returned errors or cut its answer short before giving a verdict, so we added a backup model and made the app handle broken replies. We also realized our quest wording didn’t match what the AI checks for, there were quest saying “note one detail” that made no sense at all when the proof was a photo, so we rewrote every quest as a clear photo task. Another was keeping the game fair, since XP is the whole point, we couldn’t trust anything the client sent, so every completion, reward, cooldown and reroll is checked on the server against the signed-in player, and nobody can claim the same reward twice. SpacetimeDB was new to us, and learning to put all of our game logic directly inside the database took time.

Accomplishments that we’re proud of

  • Building a working app from scratch in 24 hours
  • An AI judge that makes real-world quests verifiable with just a photo
  • Quests generated from real places around you, anywhere in the world
  • Multiplayer features: guilds, friends and parties
  • Seeing our vision become reality

What we learned

Coming in with a hackathon already behind us, we learned how to aim bigger and still ship on time. We started from the idea that nature is just like an RPG, then split it into complete gameplay flows (the Questboard, photo proof, progression, the map, then guilds and parties) and finished each one before starting the next, that kept the app working at every stage, even as it grew. On the technical side, we learned to treat the database as the game server, SpacetimeDB let us put all of our game rules directly inside the database, so real-time features like parties and guilds came naturally.

What’s next for Quest

  • Achievements
    • Badges for milestones, such as Park Ranger (complete quests at 10 parks), Naturalist (photograph 25 species) or Master Artisan (finish 20 Crafting quests).
  • View friends' collections
    • See your friends' Bestiary captures and Quest Journals, and compare levels and titles.
  • Seasonal events
    • Limited-time global quests that change with the seasons, such as spring wildflowers, fall migration or winter crafting, with exclusive titles.
  • Guild wars
    • Guilds compete for weekly XP in their region, with a leaderboard for the top guilds.
  • Party challenges
    • Challenge your friends or party, for example "Photograph 5 different birds by Sunday", with bonus XP for the winner.
  • Mobile app
    • A native app for faster camera access, location-based quests on the go, and notifications when a new quest is ready.

Built With

Share this project:

Updates

Submission history