Inspiration

Navigation apps get you somewhere as fast as possible, alone, staring at a blue line. We wanted the opposite: a reason to take the walk, notice the buildings you pass every day, and come back to them. Games like Pokémon GO and Pikmin Bloom showed that people will walk for a creature collection, so we asked: what if your pets were your navigation?

What it does

HuskiesPaws turns walking around campus into a pet-collecting adventure built on real places.

  • A squad of pets that navigates for you. Your Scout explores and finds a real nearby landmark (from Wikipedia and OpenStreetMap), walks out to it on the map and comes back with a postcard: a real photo and a real fact, with the source linked. Your Pathfinder plans a walking route there, and your Storyteller reads the landmark's history aloud in a narrator's voice.
  • Your trail blooms. Every step leaves flowers on the map; walking earns XP to climb from Bronze to Crystal leagues, each unlocking a new flower trail.
  • Eggs hatch from walking only. Meadow, Forest and Crystal eggs hatch after 300 m, 600 m or 1 km; longer eggs hatch rarer pets. Six species, four classes, four rarities, and a hatch reveal. Rare pets are more likely while the ISS is passing overhead, using live orbital data.
  • Claim real landmarks. Every real landmark near you is a food bag on the map. Walk within 60 m and leave a pet to guard it, or challenge a rival's guard in a 3D head-bashing battle with HP bars. Guards heal slowly, and each landmark you hold boosts your walking XP.
  • AR squad view. Point your phone at the floor and your squad appears in 3D. Turn away and they stay put in the room, then run over to where you're looking.
  • Leaderboards for your town, state and country, and an iMessage agent that lets you play by text, using your squad's names.

How we built it

  • Phone app: Expo SDK 57 / React Native, running in Expo Go. Maps with react-native-maps (tilted, with 3D buildings), camera capture with expo-camera, step counting with the pedometer.
  • 3D and AR: React Three Fiber and three.js on expo-gl. Pets are built from rounded blocks with cel shading and a painted face decal (generated in code). AR uses the phone's motion sensors to move the 3D camera with the phone.
  • Server: a dependency-free Node API that holds every secret and serves voice, leaderboards and turf (claims, battles, HP). Bot rivals guard eight real Cornell landmarks so there's always someone to fight.
  • Shared game logic in plain JavaScript, used by the app, the server and the iMessage agent, with tests for every rule (leagues, eggs, rarity odds, claims).
  • Real data: Wikipedia geosearch and summaries for places and facts, OpenStreetMap/Nominatim and OSRM for regions and walking routes, wheretheiss.at for the ISS.
  • Voice: ElevenLabs text-to-speech for stories (from the server, never from the phone); on-device speech for everything else.
  • iMessage: a Photon Spectrum agent sharing the same game logic.
  • We built it with AI coding tools (Cursor, Claude Code and Codex), and logged key prompts in CURSOR_LOG.md.

Challenges we ran into

  • "Freezes" that weren't freezes. Landmarks seemed to lock the app. We added a heartbeat log and found the JavaScript thread was fine: the landmark screen was reopening itself, because iOS re-selected the map marker after we refreshed it. A one-line guard fixed it.
  • 3D on a phone's JavaScript thread. On Expo every graphics call shares the thread that handles taps. We capped rendering at 30 fps, preloaded the 3D code and replaced a dozen face meshes with one painted texture, doubling the frame rate.
  • Real places are dense. Campus landmarks sit 20–30 m apart, so one spot could claim several. We spaced landmarks 130 m apart and set a 60 m claim range, so you're only ever in range of one.
  • Two people, two coding agents, one repo. We split the work by layer (backend vs. presentation) and merged many times a night. Some merges silently undid each other, which taught us to run tests and lint on every merge.
  • Infrastructure surprises: Expo's shared ngrok tunnel was full (we switched to a Cloudflare tunnel), and we hit API credit and key-permission limits mid-demo.

Accomplishments that we're proud of

  • A full loop that works on a real phone: explore → walk → hatch → claim → battle, on real campus landmarks.
  • 3D battles and an AR squad view running inside Expo Go, with no custom native build.
  • Facts that come only from real sources: our pets never make up a fact about a place, and every postcard links to its source.

What we learned

  • Measure before fixing: one heartbeat log saved hours of guessing about performance.
  • Design for the demo floor: a demo mode with simulated walks, offline fallbacks for every online feature, and secrets kept only on the server.
  • Game balance is mostly geometry: claim range vs. landmark spacing decided whether turf felt fair.

What's next for HuskiesPaws

  • Deploying the server for everyone, with shared turf across players.
  • Real AR anchoring (ARKit/ARCore) so pets stand on detected floors.
  • iMessage alerts when an egg is about to hatch or your landmark is under attack.
  • Accessibility routing (ramps, elevators) as part of the Pathfinder.

Built With

Share this project:

Updates

Submission history