Inspiration
The idea for BeaconBuddy came from a real-life encounter that left a lasting impression on me.
I once met a deaf person who was lost in an unfamiliar part of town. He was trying to use WhatsApp to send his live location to someone who was coming to help him — but the person on the other end kept getting confused and ended up lost too. The shared location pin wasn’t enough. There was no way to describe the nearby landmarks, street signs, or his surroundings in a way that made sense — especially without the ability to speak or type clearly.
That moment stayed with me.
It made me realize that for many people — especially those who are deaf, mute, injured, anxious, or simply disoriented — just sending a GPS location is not enough. Context matters. A human-friendly, descriptive way of saying “here’s where I am” could make all the difference in stressful situations.
That’s what inspired me to build BeaconBuddy: A tool that doesn’t just share your coordinates, but speaks for you — literally — by generating an AI-powered description of your location, converting it into audio, and sharing everything through a simple WhatsApp message.
What it does
BeaconBuddy is a real-time location sharing app that does more than just drop a pin:
Gets your GPS coordinates in real-time using the browser’s location API.
Uses Google Genkit + Gemini to generate an AI-powered description of your surroundings.
Converts the description into audio using a text-to-speech model.
Generates a unique URL you can share via WhatsApp.
Sends your map location, the text description, and the audio file to your trusted contact — all from one interface.
This makes BeaconBuddy useful for lost individuals, travelers, or anyone who struggles with verbal communication.
How we built it
The app is built with a full-stack modern web development toolchain:
Frontend:
Next.js with App Router for routing and performance
React components and Tailwind CSS for responsive design
ShadCN UI for consistent and accessible UI components
Lucide Icons for clean iconography
AI Integration:
Google Genkit flows calling Gemini to turn GPS coordinates into natural-language descriptions
A second Genkit flow for text-to-speech to generate audio
Maps & Sharing:
Google Maps JavaScript API for visual location sharing
Custom WhatsApp integration to format messages with the location link, description, and audio file
Environment Configuration:
.env.local for API keys
Local development with npm run dev and genkit:dev for AI flows
Challenges we ran into
AI flow coordination: Managing two Genkit flows (text + speech) asynchronously while keeping the UX smooth was more complex than expected.
WhatsApp limitations: WhatsApp doesn’t allow sending audio directly through a pre-filled message. I had to generate and host a downloadable audio file instead.
Google Maps API issues: I hit a BillingNotEnabledMapError and had to configure billing properly in the Google Cloud Console.
Cross-device consistency: GPS accuracy and permissions behaved differently across devices and browsers. I had to test thoroughly to maintain consistency.
Accomplishments that we're proud of
Building an AI-powered geolocation tool from scratch as a solo developer.
Successfully chaining generative AI and TTS into a real-time web experience.
Creating a solution that’s not just technically sound but also deeply empathetic — especially for non-verbal users or those in distress.
Getting it to run smoothly on both desktop and mobile without needing a native app.
What we learned
How to build and deploy Genkit flows using Google AI Studio
Deepened my understanding of Google Maps APIs, including billing, permissions, and rendering
Strengthened my skills in React, Next.js, and TypeScript
Gained insights into user empathy and accessibility design
Learned how to manage third-party integrations and real-time location data responsibly
What's next for BeaconBuddy
Multilingual AI Descriptions: Allow users to choose their preferred language.
Offline SOS Mode: Cache GPS, description, and audio while offline, and send when connected.
Emergency Timer: Auto-send a distress message if the user hasn’t responded within a set time.
Progressive Web App (PWA): Let users install BeaconBuddy on their devices.
End-to-End Encryption: Add optional encryption for private sharing of location/audio data.
Built With
- app
- gemini
- javascript
- maps
- model
- next.js
- node.js
- react
- reactgoogle
- router)react
- typescript



Log in or sign up for Devpost to join the conversation.