Inspiration
As members of a friend group full of people with packed schedules, it can be hard to find time to all get together. Try to make a plan a week in advance and your message gets lost in the group chat, organize something day-of and everyone’s already busy. Here, we introduce down!
What it does
Users join down! in friend groups, filling in their schedules and letting people know when they’re down! Want to stay in this weekend and watch a movie? Put it in the calendar and see who’s down! Just got to the library and want to let your friends know? Add the event and see who’s down! to join.
From weekly social events to spur of the moment studying, down! lets you coordinate with friends to see the most of each other. With event-specific chats, you can ask what people are wearing to dinner without clogging the main group chat for your friends who can’t make it. Users can let the gang know when I’m here! for easy coordination.
Poke your friends when you notice them on instagram when they’re at the library to get them back on track.
The hyper-social among us can join multiple friend groups and easily toggle between them to make sure they’re on top of what everyone’s up to (or should we say down! for).
How we built it
We built our app with a mix of typescript and java script, splitting into frontend, backend, and database roles. The frontend was managed with Expo React, using it on a range of mobile devices for testing and development. Node.js and Express API were used for our backend. MongoDB Atlas was used as a database and helped with testing as well as storing our data.
Challenges we ran into
As beginner programmers, there were a lot of walls we came up against throughout our time coding this project. To be honest we struggled a lot with using github. Remembering to make branches (or even knowing they were an option) was a major struggle for our team. At one point we spent two full hours figuring out how to first commit from a branch, and then merge a thousand line files (turns out it was a package-lock.json and we could just remake the file from our previously merged package.json T-T). We had a hard time implementing notifications, doing a lot of last minute troubleshooting until we realized that the notifications were working but they were just disabled while inside the app. A simple switch of a boolean variable let us deliver notifications even while using the app.
Accomplishments that we're proud of
Setting up the messaging system was a big moment for us. Sending chats back and forth from our devices using our platform you could almost feel the magic in the air. For a long time we could only have users in a single friend group, needing to leave one to join another. Once we got the group switching working it really felt like the app was coming together.
What we learned
We learned so much from this hack-tastic experience. When this started we were asking questions like, "What's an API?" or "How do I install HomeBrew?" We can proudly say now that we not only know what an API is but we actually implemented one ourselves, (and thankfully we all have HomeBrew!) There's only so much you can learn in the classroom, sometimes you just have to do it, and we'd like to say that we did.
What's next for Down!
We want to add in location tracking features to prompt users to let their friends know when they're at frequented locations such as the library or a favourite café. A full calendar interface instead of just the events would help with displaying overlapping events and a better visualisation of the time spread. Also having features unique to different event categories, like when you're studying friends can see if you're using "social" category apps on your phone and poke you to get back on track. We probably dreamed up a hundred different features in our planning phase that we had to let go of for time. There's definitely more coming down! the pipeline...

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