Pointless Weekend 2016
Of all of Viget’s many traditions, our internal hackathon Pointless Weekend may be my personal favorite. Every year, a scrappy team from each of our offices bands together to ideate and build something spectacular in just 48 hours. In past years, we’ve built a bell choir for your phone, a high-stakes baby betting app, a GIF-filled party game, and we’ve even explored a galaxy far, far away.
This year, our HQ and Durham teams grouped up to tackle an idea inspired by event-planner-extraordinaire Khanh. Meanwhile, Eli and Albert in Boulder snuck off to work on a very secretive internet-connected hardware venture.
On Thursday night, we kicked things off with a brainstorming session to identify the direction for the weekend. After vetting a wide variety of ideas, we settled on Khanh’s day-of event planning app idea.
Khanh organizes our company off-sites each quarter and is responsible for coordinating flights, carpools, meals and meeting schedules for over 60 people each time. While she knows the master plan, each attendee only needs to see his or her personal schedule for the day. She wanted a way to create a master schedule, but share custom schedules with each participant at the click of a button.
Based on that concept, we started to build a data model that allowed us to capture key concepts: events, people, schedule, groups. As we built that model, we were careful to identify concepts that were valuable, but too ambitious for our 48 hour timeframe (e.g., locations, vehicles).
Once we had defined the data model and relationships between each component, Ryan and Nate started spinning up an app in Elixir. Meanwhile, Josh, Becca, Katherine and I started on wireframes and feature definition.
Our core app concept allows admins to create individual events and tag them with people or groups of people. Once those events are created, the admin can quickly generate a custom URL for each participant that only shows them their custom timeline of events!
By Saturday, we had a solid back-end in place along with wireframes to guide our build-out, and Megan jumped in to get things looking great. By that afternoon we were putting the (mostly) finishing touches on our newly penned ‘Orchestrate’ app and are planning for Khanh to put it to the test as she plans our next Third Third Thursday event!
Connected Four is an internet-connected version of the classic game Connect Four. The concept: build an extension of the Connect Four board to measure where you place your piece, send that information over the internet to your opponent’s board far, far away and drop a piece into the same column on their board as you did on yours.
Connecting two board games and orchestrating piece movement over the internet sounded like a tough but solvable challenge for our weekend. We could have done this entirely with software, but we thought it would be fun to keep the physicality of Connect Four (pieces make a great sound as they rattle down the board) while letting two players compete even if they are far away from each other.
We started by buying two Connect Four boards for reference, and sketching out mechanisms for moving pieces to different columns of the board without any human intervention.
Once we had figured out a hardware design direction, we started building our puck dropping assembly. We settled on a moveable bucket configuration, which used a timing belt and pulleys from the Temper-o-meter with a 3D printed puck bucket.
Although we had originally planned on mounting this directly on the Connect Four board, that connection proved too weak and we built a backplane for mounting the conveyor and other electronics.
A servo flips the entire conveyor forward, tipping the puck into the right column.
As we did for the Temper-o-meter, we built a self-calibrating switch into our conveyor mechanism so that the servo can reliably reset it’s position after moving.
A line of photoresistors detects when a puck is dropped in (with some smart debouncing and thresholds set to avoid triggering it when someone’s hand hovers over the board).
Unfortunately, we only had time to build one copy of our Connected Four machine; we hope to finish a complete set one day, but until then our demo version lives in our Boulder office:
You can find our code for controlling game state and servos from a Particle here.
As usual, Pointless Weekend proved to be a great experience, allowing team members who otherwise might not rub elbows often to work together in a fast-paced, highly collaborative environment. Both projects let us learn new skills and gain valuable experience in exciting technologies.
If Pointless Weekend sounds like your kind of jam, be sure to check out our current openings!