Inspiration
Backpackers and travelers often venture into areas with limited or no connectivity. Whether hiking in remote locations or exploring new countries, there are so many services that become much less accessible. Access to maps, emergency services and contacts, and even basic utilities like knowing how the distance to the city center are crucial to staying safe. This app is designed to ensure that users have essential tools available offline, with real-time data fetched when possible via low-connectivity options. As adventurers ourselves, the combination of safety and travel sparked the idea for our team to build an app that can function in both connected and disconnected environments.
What it does
Spotty is an offline-first location app tailored for backpackers and travelers. Users can begin by selecting a destination point for their journey. It provides key features like offline location retrieval, SOS alerts, and SMS messaging to emergency contacts. The app leverages Nokia’s Network as Code API to retrieve real-time location data when there’s network availability and store it offline when connectivity is limited. Users can view nearby water sources using EPA data (especially close to their checkpoints), receive notifications regarding their current connectivity, and confirm their location relative to the nearest city center.
How we built it
We built Spotty using:
- React Native and Expo for the mobile front-end development, enabling a cross-platform solution for both iOS and Android.
- Nokia’s Network as Code API to retrieve real-time location data even in low-connectivity scenarios.
- US EPA Dataset Gateway API to locate nearby water sources and pure water spots for travelers.
- WebSockets to provide live updates when connectivity is available, ensuring real-time synchronization between the user’s location and backend services.
- Offline support with custom hooks that handle map downloads and caching to ensure that core features like maps and SOS remain functional without network access.
Challenges we ran into
One of the main challenges was verifying our integration with Nokia’s API and the server for proper handling of the data being passed through. Working with multiple APIs, especially with differing data formats from Nokia and the EPA, required custom data parsing and error handling. Another challenge was managing the caching of map and location data for use when offline, ensuring minimal data usage while still providing useful information to the user.
Accomplishments that we're proud of
It was really exciting to be able to work with T-Mobile and Nokia. Even though some features were more difficult to implement, demonstrating the possibilities of this technology is incredibly energizing.
What we learned
We learned that API sandbox environments can be limiting for developing but it was intriguing to brainstorm ways to leverage that and use what we had. We also learned about the intricacies of working with multiple APIs.
What's next for Spotty
Being able to dynamically download data when needed is important to move forward. It would be exciting to see Spotty used as part of a larger system managing multiple devices.
Built With
- nokia-location
- react-native
- typescript
Log in or sign up for Devpost to join the conversation.