Inspiration

As students on a massive campus like Georgia Tech, we constantly found ourselves saying, "Oh, I was just at the Student Center, I completely forgot to pick up my package!" The mental load of remembering location-specific tasks is a real problem. Forgetting to grab a book from the library or return an Amazon package when you walk right past the pickup spot is frustrating and inefficient. We wanted to build an app that does the remembering for you, letting your location trigger your to-do list.

What it does

GeoRemind is an intelligent, location-aware task manager that sends you a notification at the exact moment you can complete a task. A user creates a reminder, like "Pick up Amazon package," and attaches it to a specific location, like the "John Lewis Student Center." Our app's background service then continuously and efficiently monitors the user's location. When they walk within a 100-meter radius of the Student Center, a notification instantly pops up on their phone, reminding them to grab their package. We also built a proof-of-concept feature that can "scan" a user's Gmail for package delivery notifications to create these reminders automatically.

How we built it

We chose a modern, cross-platform stack to build our prototype quickly and effectively.

Frontend: The mobile app was built with Flutter, allowing us to target iOS, Android, and Web from a single Dart codebase.

Backend & Database: We used Firebase as our backend-as-a-service. Firestore serves as our real-time NoSQL database for storing user reminders, and we used Firebase Authentication for handling user accounts.

APIs & Services: We integrated the Google Maps Platform API to display maps and provide location search, and the Gmail API for our email-scanning feature.

Core Logic: We used the geolocator package for live GPS tracking and the flutter_local_notifications package to deliver native OS-level notifications.

Collaboration: We used Git and GitHub for version control, managed directly within VS Code.

Challenges we ran into

Working as a team under the pressure of a 36-hour hackathon was a challenge in itself. We also dove deep into the complexities of native mobile configuration, debugging issues with CocoaPods, iOS permissions in Info.plist, and the Xcode build process. Our most significant strategic challenge was realizing the full OAuth 2.0 flow for the Gmail API was too risky for a live demo. We made the smart pivot to simulate the email scan, which allowed us to present a reliable and impressive demo of the concept without getting stuck on complex authentication protocols.

Accomplishments that we're proud of

We are incredibly proud of building a functional, full-stack, cross-platform application in a single weekend. Implementing the continuous background location listener that efficiently checks for geofences without draining the battery was a major technical win. We're also proud of the cooldown logic we built to prevent notification spam, which shows our focus on user experience. Most of all, we're proud of how we collaborated as a team, overcame Git and native build issues, and made a smart strategic decision to ensure we had a polished and complete demo.

What we learned

This hackathon was a massive learning experience. Beyond mastering our tech stack, we learned invaluable lessons about project management and prioritizing features under a tight deadline. We got hands-on experience with the entire mobile development lifecycle, from setting up the native environment to implementing complex logic and collaborating on a shared codebase.

What's next for GeoRemind

We're just scratching the surface of what GeoRemind can be. Our next steps would be:

Full Gmail Integration: Complete the full, live OAuth 2.0 implementation for the email scanner.

Calendar Integration: Scan the user's calendar for events with locations to automatically create reminders for appointments.

Time-Based Conditions: Allow users to add a time component, like "Remind me to go to the library after 5 PM when I'm nearby."

Snooze & Smart Suggestions: Add a "snooze" feature to notifications and use AI to suggest common reminders based on the user's habits.

True Background Execution: Implement more robust background services to allow geofence checks even when the app is terminated.

Share this project:

Updates