Great ideas begin over great food, with great people. Okay so maybe the food wasn't so great, but at least there was beer. Picture it: Three nerds are clinking glasses after a long week at their startup. They begin bemoaning the various inneficiencies of Trello, gmail, gchat, etc. when it comes to delegating team tasks. Thus, the idea is born: an integrated team-messaging platform in one live document, with simple actionable commands that are sent to all team members in real-time.
Hooli was built with the idea of simplicity of use from the very first line of code. Hooli is intelligently engineered to be able to handle millions of users sending millions of messages between their team members; all seamlessly updated in real-time. Yet this powerful little app was built within the span of a weekend.
A weekend. Just a mere 16 hours, from blank ID page to fully-fledged and launched app.
By Monday morning, Hooli.io is launched and a press kit made available to a list of journalists covering tech. By 3 pm, the app is the second-most featured story on the front page of VentureBeat. Beating out stories covering Zuckerberg's latest gaff and a startup that recently raised $7 million.
By Tuesday morning, Hooli.io has made the front page of several major news sites and has gained a couple thousand users.
Lets just break that down:
4 days. 1 developer + Appbase + AngularJS. Almost 3,000 users.
How did we do it?
The Secret Sauce.
Appbase makes building a real-time backend ridiculously simple.
Let's take two of the biggest challenges we faced in building the Hooli app and how we overcame it.
Hooli takes realtime to another level. In a single view, Hooli shows all the meetings and tracks discussions within a meeting in one live document. If we think about views in a traditional context, this is akin to displaying information stored in three hierarchies:
Meetings > Discussions > Tasks
If a member updates their task, anyone in the "Meeting" will see the update. If you ever used a productivity tool like Trello, this is similar to showing your "card" updates right inside your "board" views.
How did we solve this?
Appbase allows for deep listening upto 2 levels of hierarchies using the
$bindEdges method. Here is how
meetingDiscussionsRef.$bindEdges($scope, 'discussions', false, true);
The first two parameters are
$scope and the variable name to be attached to the scope. The third parameter is a boolean flag - a
true value implies that we would like to listen to outvertices, a
false value implies that we would like to fetch the outvertices, but not listen to any changes on it. The fourth parameter is similar, a
true value indicates that we would like to listen to changes on the 2nd level of outvertices. That's it!
Yep, the entire thing.
Enter the Press.
While Appbase allowed us to build the finished product in a number of days, getting the necessary press coverage to make Hooli explode proved to be a different animal entirely. So we came up with a hack. First, we searched Google News for articles related to 'productivity apps,' 'team collaboration tools,' 'email' and 'communication tools.' We collected hundreds of results into a CSV file and then uploaded them to Mechanical Turk, paying Turkers $0.05 for every email address found from the list.
The emails were collected in another CSV file and a quick, 'personalized' email template drawn up on MailChimp later, our Press Kit was ready to fire off! The entire operation cost us about
$6. For more information on how exactly we pulled off the press hack, feel free to contact us.
But, there's more.
Hooli's just one example of how you can make an awesome (and really popular) app in just a matter of days. To see some of the other cool things built lightening fast using Appbase, check out appbase.io.