DEV Community

Cover image for PORI (Phone Offline, Roam Instantly)
Bethwel Kiplagat
Bethwel Kiplagat

Posted on

PORI (Phone Offline, Roam Instantly)

What I Built
Every outdoor or hiking app has the same fundamental flaw: you have to stare at a screen to use it.

For the Hacktoberfest Touch Grass challenge, I built PORI (Phone Offline, Roam Instantly). PORI is a hyper-local, audio-first urban explorer that physically forces you to put your phone in your pocket.

You input a destination, put your headphones on, and click start. The app uses real-time reverse geocoding to identify exactly which street, park, or landmark you are standing near. It then feeds that context into a localized open-weight AI model to generate a custom, highly specific walking route.

The twist? Once the route starts, PORI triggers an OLED Blackout Mode, rendering a pure black screen and locking the device awake. You cannot look at a map. You simply listen to the AI guide you past local landmarks until you reach your destination.

Demo

(Note: To test this properly, allow Location permissions on your device so the app can detect your surrounding landmarks!)

How I Built It & Sponsor Integrations

I built PORI using modern open-weight models, high-performance database indexing, and lightweight native browser APIs (navigator.wakeLock). Here is how it meets multiple partner prize categories:

  • Best Use of Gemma: Utilized Google's open-weight gemma2-9b-it model via Groq for ultra-low latency. Gemma acts as a context-aware route planner: it takes raw local reverse-geocoded landmarks and translates them into a natural, highly accurate walking script formatted specifically for a voice actor.
  • Best Use of MongoDB Atlas: MongoDB Atlas serves as the core data and spatial layer. The application stores location nodes and executes high-performance geospatial $geoNear queries to compute proximity and local navigation distances.
  • Best Use of ElevenLabs: Integrated the eleven_flash_v2_5 model to give the navigation agent a voice. Because it is an outdoor walking app, audio generation streams nearly instantly so users are never left standing blindly on street corners waiting for instructions.
  • Best Use of Sentry: Integrated Sentry for agent tracing and exception tracking. Monitoring execution spans allowed me to quickly diagnose and fix edge cases where empty string responses from the LLM could crash the TTS engine, letting me implement a resilient fallback layer.

Why Open Innovation Matters

When you build navigation apps relying solely on closed-ecosystem maps, you are bound by their rigid routing APIs ("Walk 50m, turn left").

By leveraging open-weight models like Gemma, I was able to instruct the AI to act as a local tour guide rather than a strict calculator. It deduces logical routes, points out interesting local quirks, and formats text specifically for audio playback. Open models allow us to build deeply immersive, customizable outdoor experiences that proprietary map APIs simply cannot offer.

Top comments (0)