Inspiration
What it does
The application lets users place a beacon, which can contain text and/or an image, at a coordinate nearby. They then select a radius for which the beacon can be seen within. Other users may then browse and rate the beacons they're within range of. The app automatically sorts the beacons based upon an algorithm keeping new popular posts near the top, but also giving beacons with a small geo-fence a chance to be seen.
How I built it
We started by setting up an http interface using retrofit. This allowed us to deserialize JSON (through a GSON converter). From there it was merely a task of learning the android sdk to create the application responsible for displaying all of the beacons and allowing users to create new beacons.
Challenges I ran into
We ran into some large problems related to the use of images. Retrofit2.0-beta had an interface claiming to support multipart messages, but that was a dirty lie. After spending an hour going through the incomplete documentation, we found a post mentioning the issue. So, we then builtup a custom request body and used okhttp to transfer images.
From there, we had to take into account the potentially low amounts of memory available. We wrote code to shift images from the backend database, to an in memory cache, to an on disk cache, which we cycle through while looking through a list of beacons.
Additionally, neither of us had much experience with developing Android apps. So, getting used to starting activities and the activity lifecycle took a bit of time to become familiar with. Also, making things line up nicely in the android studio resource renderer was a challenge on a whole other level.
Accomplishments that I'm proud of
We made a cool app.
What I learned
We probably shouldn't use beta libraries during hackathons.
What's next for Beacon
Maybe continuing to develop it. It's in a pretty good place right now, but we can always add more features.
Built With
- android
- okhtttp
- retrofit

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