Inspiration
As college students, we all have very busy yet volatile schedules. We have so much free time, yet also so much to do. It can be hard to meet up with other students in that 30 minute window between physics recitation and data structures, and posting something on GroupMe or Facebook messenger can lead to jumbled, often late replies that make it difficult to meet quickly or to pinpoint who is down to do what.
What it does
dwn2 (pronounced "Down to") allows users to quickly create an event saying what they are down to do, the location, and a timer countdown between 5-30 minutes for those invited to be able to respond "Down" or "Not Down." Once the timer expires, the invite is lost forever. This countdown creates a sense of urgency that makes invitees more inclined to respond than, say, a lone GroupMe message harking to play frisbee (cause hey, maybe they'll still be playing in 2 hours or so). This whole process is as swift and casual as a group chat, yet also nearly as organized as a calendar event. It is that perfect in-between for making spontaneous plans with others in the immediate future.
How I built it
We wrote an iOS app written in Swift using Xcode as the primary IDE. For the back end, we used Microsoft Azure Mobile Services to store information about events and users, using the REST API as a means of interacting with the data. We also authenticate users of dwn2 through Facebook thanks to resources provided by Azure.
Challenges I ran into
We were relying heavily on using push notifications as a means of communication between devices, but it turns out that we would need a $99 Apple Developer account in order to enable such functionality. So that was a bummer, especially since we only found out halfway through that using push notifications wouldn't be possible. This caused a rethinking of our workflow, which I would say is a significant factor in why we unfortunately did not have time to implement the full functionality of our app before the deadline. It was also our first time using a remote hosting service such as Azure, so we had to figure out how to delegate tasks between the back end and front end. We decided that the front end should handle most of the logic, while the back end should stay simple and focus on serving data one piece at a time. Oh, and we were having trouble setting up our domain (dwn2.net) possibly due to the waiting time associated with establishing a DNS link with the github repo, and since we didn't want to risk it/didn't have time we are just hosting the website on my personal github page for now. Please do take a look at it.
Accomplishments that I'm proud of
I'm proud that we were able to grasp these new technologies so quickly and see our vision turn into reality bit by bit (ha). For many of us, this was our first time making a mobile application of any sort, so it was an amazing learning experience. We really believe that dwn2 could be a great tool for college students, if not everyone, and we're pumped to see where this app goes.
What I learned
We learned that making an app that performs its minimum viable functionality is a lot harder than it seems at first. We have a newfound appreciation for the elegance and versatility of most apps we use today, since even the simplest thing can turn into a nightmare when it comes to actual implementation. We also obviously learned how to use new technologies, and working as a team felt more invigorating than ever.
What's next for dwn2
There's a lot more that we want to add to dwn2. For one thing, we need to improve our Friends list functionality and allow users to add friends based on their Facebook friend list (right now we had to go along with just allowing users to choose from the entire list of users registered with the app). Also, the UI could definitely use some improvements to make it more elegant, and push notifications are a huge thing that the app needs (some of the code for it has already been written, but we just aren't Apple developers ¯_(ツ)_/¯). Another cool idea would be to create a points system where users would score points and get rewards for actually showing up to the events they say they're down for (possibly verified by location services), thereby encouraging more honest RSVPs.
Log in or sign up for Devpost to join the conversation.