HackTank – Introducing Oracle

HipagesGroup held their very first hackathon a few days ago and it was extremely exciting. This hackathon is slightly different to any other hackathon – it has a twist. We have combined concepts from SharkTank into our hackathaon where the company invited some of the board members to be the advisers and judges for the event. We presented our ‘business’ idea of what we would like to build in front of the board members on the first day where they gave us advice based on their expertise. We had 48 hours to complete the project and present it back to the board members. The race is on!

I teamed up with 3 others to get out Oracles, a NLP (natural language processing) classifier and an image recognition classifier built in AngularJS and Ionic framework, an open source front-end SDK for developing hybrid mobile apps with HTML5. It was my first time using the ionic framework but it was absolutely easy to use – I would truly recommend anyone who hasn’t checked out Ionic to have a try. We loaded our data into Metamind.io, to build our classifier, based on deep learning algorithms. As for our image recognition classifier, we used the CloudSight API.

Although we didn’t win as a team, I was extremely humbled to be announced the winner of the Inaugural Above and Beyond Award by our VP of Engineering and VP of Product.


Digging Angular

After diving into backbone last month, I thought it’s time to have a look at AngularJS. What’s the hype with AngularJS? Why is it a popular choice for large scale websites? I often ask people at meet-ups whether their company uses Backbone, Ember and/or Angular and quite a few people usually reply with ‘Angular’. My next question usually would be why they have decided to choose AngularJS and majority of the responses is that AngularJS is backed by Google and that there is a wider support and documentation.

AngularJS is considered a new paradigm for web development. Why? Well, here are some Angular vocabulary and examples to show you just how powerful Angular can be…


One of the first observations I made when I first started looking into Angular was the statement on the AngularJS website; “AngularJS is what HTML would have been” – that’s a pretty strong and bold statement! AngularJS allows you to ‘extend’ the HTML vocabulary. You can set your own ‘directives‘; custom attributes and elements.

<html ng-app="ngApp">

The ng-app attribute in the html tag above is an example of a directive which is used to auto-boostrap the application. This is commonly forgotten by beginners.

Data Binding

The two way data binding in Angular is extremely powerful and simple – it’s automatic synchronisation! When the model changes, so does the view.

<input type="text" ng-model="firstName" />
hi {{firstName}}!


AngularJS comes with many handy filters built-in. Filters allow you to manipulate and filter the presentation of your views. You can apply Angular filters directly by extending the bindings in your HTML views

{{ 12 | currency }}

The Code School “AngularJS Tutorial for Beginners” is also a great way to get an insight of what it’s like to code in Angular.

There are still lots to learn in AngularJS – will definitely write more as I dive deeper… stay tuned!