Snacks2u
What it is
Every few months, Paperless Post has hack days called "Stampy Day" (Stampy is one of our internal mascots). For the last two sets of Stampy Days, I've been working on a project called Snacks2u.
Snacks2u is an internal product that allows our office management team to collect employee feedback on beer and snacks by presenting a curated list of provisions from our providers, and allowing employees to +1 or -1 as they see fit.
Dev cycles
As of August 2015, we've made it through three iterations, and are about ready for beta launch! Here's how we built Snacks2u, cycle by cycle:
Cycle 1 March 2015
- Build out the basic frontend
- Products are visible in list view, can be filtered by type (snack vs. beer)
- Integrate our primary provider's data
- They don't have an API, we have to scrape it
- Implement fetch functionality that scrapes provider for current inventory, allowing admins to create a new poll
- Build out basic authentication and two user states: admin and non-admin
- Restricted authentication to only Paperless Post employees
Cycle 2 May 2015
- Integrate a new provider's inventory
- Add a "publish" button to allow admins to select all items before making the list live
- Build an admin-only tool for managing users/granting admin access
- Implement batching whenever admins fetch new inventory
- Unclear how we'd use this, but you never know
- Add a new, fancier gif for the login screen
Cycle 3 August 2015
- Integrate Drizly
- Drizly graciously gave us access to their beta API!
- This is still in progress, as we're having some issues with said beta API.
- Built out fuzzy search for the admin page
- Implemented pagination
- Previously we were loading 700 items on one page, it wasn't a great user experience
- Added a loading indicator
- Style tweaks
What I do // why Stampy Day is great
Not surprisingly, my Stampy Day role is designing and prioritizing what we build, trying to break things (read: testing), helping unblock teammates, and building slide decks for our presentations (I've become an expert Google Image Search user over three sessions of supplying gifs of snack food).
It's not that different from my normal day-to-day, but there's something exhilarating about how fast we can build. With no code review, formal QA, or release process, iterations can happen in minutes. This inevitably leads to "oh my god I broke everything" moments, but it also leads to some pretty incredible "I can't believe that actually worked" moments.
The codebase might be a mess (I believe one of my devs used the word "shameful"), but in just six working days we built a functional, fully-featured product that integrates multiple external data sources. This dev style isn't something I'd evangelize for building products you want to hit production, but there's something to be said for this style on building prototypes. Stepping away from process and pixel-perfect layouts can lead to some extraordinary moments.