We built this application with Backbone.js and the Backbone Boilerplate on top of the new AngelList REST data API. We used Jake and Capistrano for our build and deploy processes, and we are excited to open source the app today:
We worked closely with Dustin from Atlas Venture to design this application, and with and Josh from AngelList on expanding their API to meet our needs. The new AngelList API is very robust. Their data reveals a lot about the startup industry — both geographic and market specific. We have only cracked the surface of the API, so make sure to checkout the AngelList API documentation and dig into their startup financing data.
The application is a great jumping off point for those that want to experiment with the AngelList API, and it’s also a great example Backbone app, so fork it and start building!
Open Source Venture Capital
AngelList is an incredible resource for the startup community. In a world of opaque venture capital funding activity, the AngelList team cracked open the process of raising money with Venture Hacks, and backed it up in 2011 with what is now becoming the canonical source for data on startup trends (EG: average valuation by geography and market).
The AngelList team’s approach to ‘open sourcing’ venture capital is very on mission for Bocoup, and so we are proud to have worked on improving the AngelList API. We hope that this new and improved API and our open source Backbone code will serve as a jumping off point for deeper insights into the world of financing entrepreneurship.
Learning from the code
This application serves as an example of how to use Backbone’s event system to manage communication between components. If you look through the source, you will note that the main collection of startups serves as a “bus” of sorts, to which all views subscribe for various operations. Checkout the startups collection on Github.
The application also handles pagination. Fortunately, the AngelList API is already paginated. We are looking forward to creating a module based on the work we did, but for now, take a look at our first shot at abstracting pagination out of the Startup Data Trends app in this PaginatedCollection Gist.
PaginatedCollection can take a total number of pages if you know it (which we did know thanks to the AngelList API), but since you probably won’t, the total pages isn’t required. The collection works by making the first request and grabbing as much information as it can, including the total amount. Note that this method does not guarantee your data will come in order because all fetches after the first one (for the pages you have) will be made in parallel. This can certainly be modified but in our case, we went for speed.
What can you do with the app?
You can search for a geographic area such as “Cambridge, MA,” or a specific market, such as “Mobile”, or combine the two to create a cross-section of the startup data. You can make any combination of queries that involve multiple locations and multiple markets. Most startups are tagged with at least one location and multiple market tags.
How does the interface work?
Searching & Filtering
The interface is broken up into several pieces that display different types of information. On the left most side is the search column. It displays the query made alongside the other market tags that are used to label the startups that match the query. Those tags are clickable and refine your search further. For example, if you searched for “Cambridge, MA, ” clicking on “Mobile” in the list will return the startups that match both of those tags.
To the left of the financial metadata various filtering controls allow you to filter and reorder the list of startups. By default, they are sorted by follower counts. They can be resorted by alphabetical order, screenshot count and a ranking function that assigns each startup a score based on their followers over time. The more recent the follower the more points a startup gets. Based on this overall score, the startups are then resorted. You can see that follower activity in the small sparkline that appears near every startup.
There is a metadata panel on the top right showing general information about the search. It shows the average amount raised by startups that match the query alongside their average public valuation. Note that this data will only be shown if there are at least 3 data points per query.
The actual list of startups appears in the middle of the screen. It contains the startup name and logo alongside some metadata about followers and screenshot counts. Clicking on an item in the list will show more data about the startup in the info panel to the right.
Startup Info Panel
The rightmost panel shows expanded information about a single startup. It offers an extended description, all other tags, relevant links and screenshots.
What’s next for Startup Trends?
We’re going to continue to work with AngelList as their new API matures. We’d like to see this become a useful, engaging tool for entrepreneurs and investors alike.
Found any interesting facts? Bugs? Questions? Please join the conversation on github.