33 Incredible Projects From BuzzFeed Hack Week
Last week, BuzzFeed's tech team hacked on projects from all corners of the United States and across the world. We had a great time and produced some awesome work! #hackweek15
Teams Hacking Away!
Here are some of the tech folks in BuzzFeed hacking away
1. Buzz Maps
The goal of the project was to design and build a way for editors to create custom maps. Editors can add pinpoints, tooltips, even timeline layers on top of the maps to fit the context of the post. Ideally, it was intended for Breaking News and Longform, but the map creator could eventually lend itself to Life/travel posts, etc.
By Jane Kelly, Ben Weinryb-Grohsgal, Ailin Fang, CK, and Emily Brick
2. 'Ron Quixote'
We worked on 'Ron Quixote', a random quote generator seeded with quotes from Don Quixote and Ron Swanson. It makes use of the NLTK (Natural Language ToolKit) and alternately Markov chains to generate quotes from the base quotes. Check it out!
By Polina Giralt and Benjamin Stockwell
3. Mapping NYC Water Fountains
By Peter Karp
4. AppScale Private Cloud
Our Hack Week project was to create an AppScale private cloud to test app backend development for self-orchestrating cloud services and to decouple apps from their serving ecosystem.
One of the biggest problems with developing apps at BuzzFeed is managing a sprawling application and operational infrastructure.
It's like saying "One of the hardest things about driving a car is building the roads for you to drive on."
In this analogy:
Applications are like software vehicles we use to deliver features to our users.
Hardware platforms are the roads that the vehicles run on to get to their destination.
What we would prefer is a cloud platform that self orchestrates. That knows how to marshal its own resources. That's able to auto enlist and decommission servers and appliances as needed. Yet still allows us to define the low-level components without changing the code of an application because the API wouldn't change.
What we did was show that you could develop multiple applications with divergent purposes and deploy them to the same "Smart Cloud" and have them work quite well.
By Liz Liao, Ben Stockwell, Greg Damiani, Dang Vang, Curtis Thompson, Nick Bauman
By Richard Chu
6. Screen Cannon
Node.js application that uses phantomjs to take screenshots of a specified URL, viewport, and user agent then uploads the resulting image to S3. Screen canon can take fullpage screenshots, crop to the viewport, or crop to a CSS selector.
By Nick Hedberg and Peter Jirak
7. Raise a Meme
Raise a Meme is a virtual pet game where you raise a meme from birth to cultural phenomenon. Feed your meme, discipline it, clean its poop, and collect favs to evolve it into one of eight perfect memes! Buy items like a "Social Media Intern" to boost its stats and raise the meme of your dreams.
By Michael Hansen, Sam Thurman and Nicole Leffel
8. BuzzFeed App Navigation Updates
Change BuzzFeed app navigation to do the following:
When user scrolls to the bottom of a buzz article, they see related articles.
In current app, when user gets to the end of a buzz article, they have to navigate back to the home screen and then use the hamburger menu to find the category of their interest
When user swipes horizontally, the buzz articles related to the current article they are reading (same content category) instead of all different types of articles
In current app, when user swipes horizontally, they see buzz articles from across all of BuzzFeed's content categories
By John Andrews
NewsBuzzLife is a project exploring the interplay between BuzzFeed's three major editorial divisions—News, Buzz, and Life—through a headline generator that juxtaposes title phrases and subject matter drawn from each. Inspired by a number of existing headline generators, I wrote a program to produce new headlines based on recent articles published by different editorial divisions and created bots to post the output to Twitter and Tumblr. A Twitter bot posts headline/thumbnail combinations, while a Tumblr bot uses the Python Imaging Library to produce images of Christopher Wool-style word paintings.
By Will Herrmann
Cerebra is an internal employee hub for all things BuzzFeed. Cerebra is great for new hires and old hires because it has a wealth of information, links, and links to information such as things relating to our BuzzFeed editorial, data, ad tools, as well as HR and IT information. Cerebra also has a dashboard that gives you company-wide announcements, as well as what's Trending on BuzzFeed.
By Allison Chefec, Cap Watkins, Polina Giralt, Matt Semanyshyn, Chris Chan, Adrienne Fishman, Andrew Yang, Dao Nguyen
11. BuzzHub Chrome Extension
The BuzzHub chrome extension gives BuzzFeed employees quick access to their most used tools. The extension is customizable to suit a specific employee's needs.
By Cap Watkins, Adrienne Fishman
12. Pound 101
Goal: Provide an interactive long-form that explained what Pound is in a very simplified way, understandable by everyone.
Detail: We went further in the tree analogy and tried to use animations and transitions to clarify and simplify some complex concepts around the Pound systems.
Next Step: Finalize transitions, tweak the animations and make it even more fancy. Add 2 more sections to 1. explain the different types of trees and 2. explain specific Pound lingo.
By Jac, Patrick, Edgar, Cam and Stephane
13. Ad$ Monitor
Goal: Cool-looking monitoring of our ad performance.
Detail: Provide top-level numbers around BuzzFeed ads, broken down by platforms and type. It automatically rotates through several slides and can be display on a screen or used as a screensaver. It's based on BuzzFeed centralized ad delivery data-store (ProSoda).
Next Step: Confirm data calculations and plug more data sources. Put in on a TV!
By Catherine, Gio, Rebecca and Stephane
GifGallery is a search engine for GIFs that allows individuals to search through GIFs using natural language. It uses machine learning techniques to help tag the GIFs intelligently. GifGallery is also eventually going to allow individuals to look through GIFs from all the BuzzFeed articles.
By Abhi Agarwal
15. Magic Buzzwall
A mirror that displays BuzzFeed titles and content, powered by a Raspberry Pi. The final installation will include four or five more magic mirrors.
By Michelle Chandra, Shloka Kini, Swati Vauthrin, Lyle Payne, Walter Menendez, Steph Zhang, Taylor Baldwin, and Anita Mehrotra with additional help from: Chris Johansen (frame), Dan Meruelo (3D printing), BuzzFeed IT (wifi connectivity), Mark Wilkie (funding)
BFBadgr is a lightweight web app to allow users to make BuzzFeed's signature yellow badges with their own customized text using our standard template. With this tool, we wanted to get rid of the manual work involved with creating a badge and make the process faster and easier through standardization! A user enters their word, phrase, or hashtag into the form. After the tool generates the custom badge, the user can then download, share, and generate a permalink of it.
I was #TeamBadger's Product Lead, with Elaine leading Product Design, and Ted and Dana as Developers.
By Qichen, Elaine, Ted and Dana.
17. Spotify Slackbot DJ
For Hack Week we made a Spotify Slackbot DJ called DJ Lamp (full working product: https://github.com/adamzu/spotify-slack-bot). DJ Lamp is a Slack Bot Integration built in Python that allows multiple users within a Slack network to control and play music on a single machine running Spotify. It allows users to play/pause, request/queue songs, among other features, all from their Slack chat, without having to ever directly interact with the machine running Spotify. Probably the coolest feature is the bot's ability to play its own mix of songs (play tracks similar to the last played track, kind of like Apple Genius) when there are no more queued songs.
By Andrew Violino, Jon Chen, Adam Zucker
Watchagotchi is a Tomagotchi inspired game for the Apple Watch. The challenge is to keep your Watchagotchi alive, carefully tending to its needs: food, sleep, and love.
By Dave Mauro, Ryan Inman, Andrew Paulus, Rachel Edelman, and Sriharshita Ponnada.
19. The BuzzFeed NewsMap
We built a map that displays the locations that each news article BuzzFeed publishes is about. Python was used to gather data about our articles, and to extract location information from articles.
By Dara Elass, Rebekka Roerden, Arun Mikkilineni
20. Emoji Pictionary
Our hack was inspired by a tweet asking whether emoji pictionary existed. We thought it was a particularly BuzzFeedy idea, given the popularity of the "can you guess this movie by emoji" quizzes. We ended up creating a local game for 2 players. The "artist" gets a phrase from a set of categories like "TV" and "Movies" and has to translate it into emoji, and their partner has to guess it within a minute. After each player gets three rounds as the "artist", we show the team how well they did and some fun stats. The current iteration is more collaborative than traditional pictionary, but we can imagine building online gameplay and leaderboards to make it more competitive.
By Paola Maldonado, Caitlin Osbahr, and Phil Olson
Trollslayer is a web app that uses machine learning to identify and collect offensive Facebook comments left on BuzzFeed posts. It allows a moderator to easily preview, in-app, the entire comment thread that contains the comment in question. It also displays a ranking of BuzzFeed posts to watch out for, determined by their frequency of flagged comments.
By Sabrina Majeed, Sri Ponnada, Lucy Wang
22. 25 Ways To Dress Like A Tech Employee BuzzFeed post
There's a persistent stereotype that people who work with technology are all dudes in hoodies or free company t-shirts, with zero interest in personal style or fashion. We see it in everything from Microsoft ad campaigns to the way tech companies are shown in television and movies. In my experience, I've worked with many people who are just as interested in style as they are technology. So I decided to ask my coworkers on BuzzFeed's tech team to show me how to dress like a tech employee, and this is what happened…
By Sabrina Majeed
23. BF Video View
A full stack solution that allows users who watch BF videos to like specific instances in the video. Those views are then aggregated across all users and displayed in a dashboard for editors / producers to get a better idea of why the video did well or didn't do well.
By Yohan Rizk and Peter Karp
Our objective was to create an easy way for BuzzFeed employees to submit bugs to our product support staff without ever leaving BuzzFeed's CMS. Currently employees email and provide details of the issues they are experiencing. With BuzzFeedback, all they need to provide is a quick overview of what's occurring and BuzzFeedback will automatically submit corresponding details like browser and OS info along with the URL the user is on when the issue occurs and the username who is submitting the bug. This also provides a feature that screenshots and highlight specific locations on the page where the issue is occurring.
By Harry Green, Marcos Lindekugel, Ivor Tossell, Rachel Brandt, Mark Singer
25. BF Bubbles
BF Bubbles is a Interactive Data Visualization of the buzzFeed.com site. Written for iOS in Swift and SpriteKit. Pulling in the urls for each post, hit counts per post and summary text, BF Bubbles creates interactive bubbles for each post then throws them into an interactive particle fountain simulator. Users can preview an article by pressing on it. Press and hold on a bubble opens the post in a browser window just like a normal browser.
By Dan Meruelo, Matt Greenwell, Graham Wood
Loom is a mixin-powered Sass library of UI components and styles for the Ads Tribe. Currently we have 3 different platforms that work under the same umbrella, and Loom provides a central repository of CSS components that can be shared between applications. It also provides a strategy for writing clean, concise styles that encourage re-usability between projects while keeping code conflict at a minimum.
By Greg McLeod, Nicolle Matson, Elaine Dunlap, Alexander Perevalov, Danny Aksenov, Artyom Neustroev
27. BuzzFeed Weather (aka Weather TBH)
Weather TBH is the first social weather app that asks the question: "How do you feel about the weather?". It's a fun way for people to interact with and respond to the weather as well as see how people around them are feeling also.
By Joseph Bergen and Gordon Mei
We worked on adapting our apps to run in containers using Docker. We also worked with the Cerebra team to launch their project into production as a containerized app.
BuzzKeeper - "Yik Yak of the Workplace." BuzzKeeper is a mobile application that allows employees of a company to log on, and have a feed of comments from other employees in the same company. All you need to do is sign in with your company email you will be able to see what is on other employees' minds. Want to post about how the company picnic was, let everyone know to check out a new product, or just complain about your "Bad Luck Mondays' and "Lazy Fridays"? Now you can within seconds! Oh yea, you can even send reactions to other peoples' posts such as "Fail" or "Cute"! And for all of you procrastinators out there, if you're looking for something else to distract you from work, just "pull to refresh" and play a quick game of Breakout! Keep up with the company buzz with BuzzKeeper!
By Tara Wilson and Phil Scarfi
AskBuzzFeed is an app that uses ASK (Alexa Skills Kit) to communicate with the BuzzFeed API. Using ASK through an Amazon Echo allows people to talk to BuzzFeed. They can ask BuzzFeed for the top or breaking news or the latest most viral news on a specific subject. The headlines/stories are read to the user and BuzzFeed will also ask if they want additional details when appropriate.
While I wrote the code for the app, a ton of credit needs to go to the whole team at BuzzFeed who have built any easy to work with API. Special thanks to the people who jumped to help me to get the answers I needed, Nick H, Raymond, Clem and Jane. Amazon also deserves a cap tip for putting out a great device and SDK. If you have an extra couple of bills laying around, go buy this thing.
By Steven Gemmen, Nick Hedberg, Raymond Wong, Clem Huggybear and Jane Kelly
31. Image Tagging API
We wrote an API that integrates a 3rd part neural net with our internal content, and tagged our content automatically. We clustered the tag set, and came up with cool categories for our content!
By Songxiao Zhang, Kevin Merritt, Laurence Giglio, Sean Vijayaraghavan, Kelly Anderson, Adam Kelleher
32. Ping Pong
Ping Pong allows BuzzFeed editors to publish real-time visual conversations in public about any topic by easily creating image and drawing-based posts on their phones.
By Chad Brady (MPLS), Filipe Brandão (NYC), Alice DuBois (NYC), Sean Gilbertson (MPLS), Hammed Kohistani (NYC), Jesse Shapins (NYC), Ivor Tossell (NYC) and Graham Wood (MPLS)
BuzzLite is a lightweight version of BuzzFeed that is designed to be accessible to users with limited mobile network capability and device performance. The next billion internet users that come online in the coming years are invariably going to be using entry-level, low-priced devices operating on 2G/3G networks in rapidly developing countries like India and China. These networks are typically slow and users have to pay for their data and stick within their quota to prevent being overcharged. To this end, many users take advantage of proxy-based browsers, like Opera Mini, that compress and serve pages from their own servers, further limiting the ability of the browser to interact with pages. We were able to build a prototype that took all of these limitations into account and deliver an experience that allows users of all kinds to enjoy BuzzFeed content. BuzzLight uses very minimal client side JS, resulting in a payload of ~25KB excluding images. Images are delivered highly compressed and optimized for low-bandwidth mobile networks. The resulting pages completely load four times faster than the current BuzzFeed mobile experience.
By Shuster, Clem, Amaury, Ovi, Ryan L, Jeremy Back