Want to share helpful information exclusive to your community? Region allows users to "drop" documents at their current location which can only be viewed by users also at that same location.
What it does
Region allows users to drop documents at their current location, allowing anyone that visits that location, and only that location, to view what was dropped.
Drop a restaurant review, your restaurant's menu, warning of potholes. Create scavenger hunts, report lost and found, or drop job postings. Do you need to disseminate information to a large crowd, such as a classroom? Just drop it at your location, and everyone around you can get it. Are you at a festival and want to find someone to hang out with? Just drop a shout and meet up with others looking for fun.
How I built it
- React Native for iOS and Android
- API built with Elixir/Phoenix
- GraphQL for client/server communication
- data stored in PostgreSQL
Challenges I ran into
- Calculating user's "geofence" based on current location and determining and displaying documents within that geofence
- Overcoming React Native's often cryptic errors
Accomplishments that I'm proud of
Accurate calculation of a user's geofence and displaying only documents within that geofence
What I learned
It is difficult to accurately calculate a user's geofence as they move. The app is at the mercy of the device's GPS accuracy. Geofencing is more accurate at greater radiuses.
What's next for Region
- user accounts
- location radius configurability
- document configurability (e.g. permissions, date, expiration, other metadata)
- attach pictures and other media to documents
- direct messaging