A Technical Introduction to the Crunchinator
Good news everyone! We’ve just launched a new tool for slicing, filtering, and exploring Crunchbase data. We call it: the Crunchinator!
This is the first of what will be a series of posts describing the technical details of the Crunchinator’s implementation. I’ll give a brief overview of some of the technologies we used to build the project and then give a rundown on some of the upcoming blog posts that will dive a little deeper into each part of the Crunchinator.
Before I get into the nuts and bolts, why don’t you take some time to play around with the Crunchinator? Don’t worry, I’ll wait.
The front-end for the Crunchinator was primarily built using AngularJS, D3, and Crossfilter. Angular is a great framework and the ability to create custom directives was a huge help in organizing our code around the various graphs and filters we needed to implement. D3 gave us the power and flexibility we needed to display Crunchbase’s data in the way we wanted to. And Crossfilter gave us the sorting interactions to see each graph update as you filter.
The back-end for the Crunchinator is built in Rails. We wrote a custom queueing and parsing system to scrape data from Crunchbase’s API. After we parse, save, and normalize the data we use s3 to host the json dumps that the angular app filters and graphs.
Hopefully this has given you a good high-level overview of what went into building the Crunchinator. But don’t worry, we’re not done yet; we’ll be back. Kalon, Josh, along with a number of other engineers and I will be writing posts on:
- How we use grunt to help automate tasks.
- How we run the Crunchinator locally using fake data.
- The way our rails app outputs data using json based on s3.
- How we manage various API versions using s3.
- How we render graphs using angular directives and D3
- How our filtering system works.
All of these will be showing up over the coming days. Everyone at Cloudspace is really excited about the Crunchinator and we can’t wait to see what the community has to say about it. We think its a great tool and we hope you think so too.
Have any questions you didn’t see covered? Don’t hesitate to ask, I’ve got the answer you need.