ContractFix | The quickest, easiest way to do contracts

This post will introduce my latest project, ContractFix.

During Hack Reactor, you are given several opportunities to create few group projects. For the first two projects – Greenfield and Legacy, we have 4-day time limitation so it is difficult to develop applications that are fully functional and launchable. However, for the final thesis project, we are given 4-weeks. Naturally, most of us wanted to take on something that is more scalable and complex.

One of my classmates, Ahmet, came up with the idea of the app (checkout his blog! – and few of us who loved it formed a team of four. Ahmet has an incredible amount of project management experience and at his past jobs, he always thought too much unnecessary money and time are spent and wasted for contract negotiation because of mailing or emailing back and forth revisions, having to visit the other signing party to finalize deals, etc, so why not create a platform that allows easy and smooth contract negotiation, management, and signing?

We originally wanted to offer two different types of services – one designed for companies/corporates and the other designed for individuals. However, during brainstorming, it became apparent that if we were to include features needed for companies, the scope of the project would be too big and the 4-weeks we have definitely would not be enough. So we decided to focus on catering to individuals needs for now.

Tech Stack: Node.js, Hapi.js, MongoDB, AngularJS, Bootstrap, CSS

We wanted our application to do the following: allow users to

While these features initially sounded like they were very much doable, some of them were extremely challenging, especially creating of the editor that tracks changes and implementation of digital signature. Luckily, my teammates Michael and Ahmet were able to implement these features after putting in hours and hours of work. Michael basically engineered a text editor and revision system based on CKEDITOR and Ahmet engineered the digital signature portion using OpenPGP.js at the back-end and AngularJS and jSignature on the front-end.

Digital Signature Page Digital Signature Page Editor Page Editor Page

Another challenge was figuring out the user flow and designing the front-end UI. Because our app required quite a number of complex functionalities, we spent a lot of time in the beginning developing a project plan and defining product requirements which helped us tremendously later. I mainly worked on building the Angular app, transforming UI mock-ups into front-end UI, implementing client-side authentication using JSON Web Tokens and building a user dashboard to allow users to view and access their past and current contracts.

ContractFix Landing Page ContractFix Landing Page User Dashboard Page User Dashboard Page

Some of the things I learned and took away:

Written by Hera Kim on 06 January 2016
comments powered by Disqus