Proxima is an app for discovering and sharing the best points-of-interest near you. All locations in the app are crowdsourced by users. It’s a native iOS application written in Swift designed for both iPhone and iPad. It uses the Parse backend, which I host on Heroku and a MongoDB database hosted on Atlas. It began as my group's final project for CodePath's iOS course where we developed a minimum-viable-product to demo in a competition. Since then I’ve remade it into a production-ready app.
Users can explore the interactive map where shared locations are shown as pins. Developing this map to be efficient and scalable was a challenge. I created an algorithm that efficiently populates the map by only querying the database for locations near the visible region. When the user pans the map it determines if a new query is necessary. This reduces the number of requests hitting the database, reducing strain on the server. Alternatively users can explore nearby locations in the Feed, which shows a list of nearby locations sorted by distance.
Selecting a location on the Map or Feed displays details about that location, including its name, description, category, and an accompanying photo. When a user is geographically near a location, they are able to mark it as “visited”, awarding them points. All Proxima users may share points-of-interest they find via the Add Location screen. From here they can set the location’s metadata including it’s geographical location which can be set by dragging a pin into place.
The Leaderboard shows a list of all Proxima users, ranked based on their score. Points are earned for both sharing and visiting locations. Selecting a user on the leaderboard opens their profile. A user profile shows that user’s name, photo, score, and lists of locations they’ve shared and visited.
Don't take my word for it, try out proxima for yourself!