Back in my college days, those odd years between 2010 and 2014, I lived in a high rise apartment in the quiet and chill South Loop neighborhood of Chicago. From organizing hackathons to hosting couchsurfers to odd drunken Thanksgiving potluck / game nights, my apartment hosted a number of people. However, one thing was always frustrating for a lazy person like me: buzzing people up.
To solve this very first world problem, I decided to build some technology that would answer the door for me. If the visitor knew the password, they'd be allowed up, all without any interaction from me 🎉 Here's the general flow of the hack (shown below)
Since I built this hack in 2013 (and open sourced it in 2014), the world has moved along quite a bit in the way we design web apps. It doesn't hurt that I have a bit more experience building apps for scale as well.
There's only one thing that can be said about the original codebase:
We don't need a big stinking web app to manage an apartment portal. The original codebase was a Node.js app with a DocumentDB NoSQL backend and Angular frontend. I even used web sockets in that project for some reason!
That's it. I was the only user of the app: I didn't need a UI for other people to be able to create events and setup passwords and the time restrictions.
A lot of times, we build extravagant technology for the sake of flashiness or a myopic vision we have in our head. Going back and looking at this project, it's a good reminder for me (and hopefully you) to think smaller and build faster. Projects like these are fun and a great way to explore new tech, but reducing scope and focusing on the outcome is waay more important than building a flashy product.