RAIN

RAIN is a web application for creating and monitoring requests for information as well as reports against those requests. I was put in charge of the project from initial design to final implementation. I decided to leverage the MEAN (MongoDB, Express, Angular.js, Node.js) stack to create a fully-featured, portable app that could run on any platform.
The design process for RAIN started with defining the end users, figuring out how they perform their tasks currently, and deciding what improvements we can make to their workflow. Once defined, I worked with my team to brainstorm potential interactions that can best solve the user's tasks.
Once potential interactions were subsequently discarded or combined into a final potential solution, I created low-fidelity mockups using Balsamiq. The mockups were then transformed into high-fidelity Illustrator mockups with help from our designer.
I coded the backend Node.js REST API in Express from scratch which included unit tests written using Mocha and executed upon every checkin using Jenkins CI. I also created the Angular-based client-side app as well, using Grunt to accelerate development. I worked side-by-side with the designer for the HTML and SCSS implementation, including CSS transitions. The end product was very well recieved by the customer and resulted in a contract extension for additional work.
One feature that I really pushed for was real-time updates. As soon as a report was sent to the REST API, the web app updated automatically with the latest information using Socket.io.
The app also features two main views of the same data: one for the user analyzing reports, and a touch-based view for a high-level view of all requests that is easily understood by users only interested in the big picture.