Inspiration

Social media nowadays is acting. It should be friendship. It's fun to boost and question your ego every now and then, but we also need a place to just be ourselves and not watch everything we do / say.

We need to feel like we're just hanging out in a basement with our best friends. So we built Basement.

What it does

Basement is a mobile-based social network that lets you upload pictures for only your best friends to see. But, you only get to have 20 friends.

You don't have follows and followers; every friendship is mutual. Because, while groupchats are cool, they assume that everyone in the group likes each other equally.

And when you think about it, do you really have more than 20 close friends? Probably not.

How we built it

We're a duo, so we divided the work into front-end and back-end.

Jeremy built a rest API to handle AJAX requests using Python's Flask library. The API depended on MongoDB to store our user data. For managing and storing images, we used Cloudinary's image upload API.

On the front-end, I took advantage of Expo's easy starting point for react-native to help us build for both iOS and Android in little time. I managed state with Redux.

Challenges we ran into

This was my first time coding in react or react-native. I was also not familiar with Redux, so I didn't exactly sleep while learning it. I also don't have experience actually deploying an app anywhere, so it's tough only letting people demo from my phone. On that note, please come talk to me and let me demo. (fernando@wearpatos.com / 7346454666).

I had a lot of trouble integrating asynchronous requests with Redux's state manager at the beginning, but I ultimately figured it out (for the most part) with the help of redux-thunk.

Accomplishments that we're proud of

We made an awesome, fully-dynamic backend for a social media app that efficiently stores images and other data, manipulates it as needed and serves it back to many users at once.

Plus, we built our first mobile app in under two days, with only two people. It lets you actually have a real account that posts pictures, adds friends, and view their posts in real-time.

Not to mention the fact that we built a soon-to-be a billion-dollar company.

What we learned

Building a native app is far harder than web, but it also offers a whole new level of power. Web APIs are limiting. Browsers lag.

But if a front- and back-end can communicate well, we can be nimble and make something awesome.

What's next for Basement

Well, the two of us are working full-time on building a crypto trading platform, so who knows. But frankly, I've been wanting to build this for a while because I've always wanted to use it.

What's amazing about Basement is that, since you only can have 20 friends, if there are a total of 20 users who download it, the user experience isn't necessarily any different for you than if it has a billion downloads.

You only see your squad; it's the anti-FOMO.

This makes it really stand out from other social apps. Basement is all about you and your close friends, chilling at home, being yourselves. Because that's all we really need.

export default class PennApps extends Exhaustion
Share this project:

Updates