Last weekend, Michael and I participated in Angular Attack. Angular Attack is a 48-hour online hackathon featuring Angular. Participants were allowed to design their web app in the weeks leading up to the competition with the one restriction: no digital assets could be created ahead of time. A few days before the hackathon we settled on creating Moody, the emotional polarity of your social network.
What is Moody?
Moody is a Twitter sentiment analysis tool. Users log into their Twitter accounts and Moody will categorize tweets on their timeline as positive, negative or neutral. Users have the option of narrowing the list of tweets to specific friends. If time permitted, we would have loved to implement side-by-side user comparisons, sorting, filtering and a few other features.
Built With
- The core of Moody is powered by the Sentiment140 API. Sentiment140 was designed to discover the sentiment of a particular product, brand or topic. You can read more information about the API here.
- We built our application with Angular 2.
- We used Bootstrap 3 for most of the styling.
- The doughnut chart is a Chart.js control.
- We wanted to use typeahead for the user search box and discovered a directive for it already existed in ng2-bootstrap.
- The Twitter, search and wait indicator icons were provided by Font Awesome.
Lessons Learned
Michael and I enjoyed participating in Angular Attack, and we look forward to joining future hackathons. We made mistakes along the way and hopefully, we will avoid them next time. Here is a list of 3 things we will do differently:
1. Have a warm-up weekend the week before.
We lost valuable time for implementing features to learning how to use Angular or how to connect to the APIs.
2. Watch out for rate limiting.
We used OAuth.io for authenticating to Twitter. The free tier has a cap of 2000 api calls. We chewed through that during development. Once we deployed, users were unable to use our application because we reached our API limit. We had to get permission to buy a few more API calls.
3. Design the application ahead of time.
We thought of Moody a few days before the competition and did not spend enough time designing the application before the clock started ticking. Time we could have spent implementing features went to designing how the app should work and look.
You can see our web app in action here!