You seem to have Javascript disabled. That is no problem - this site does not require Javascript at all!

Jussi Hämäläinen

Full-stack Web Developer


Correlation App

Original launch:

September, 2015

Build time:

300 - 500 hours (30-50 days, spanning eight months)

Main technologies used:

PHP, Laravel, SQL, Python

Link to homepage:

http://www.correlationapp.com

Correlation App is all about tracking one's everyday life and then calculating correlations between different trackers. Think "eating shrimp" and "acne outburst". For some people, shrimp might cause some zits to appear. Figuring this connection out might be a piece of cake, or it might not be that easy - especially if zits follow many days later. Correlation App helps to uncover the connection. That is it in a nutshell.

This was a large project. I started this project on January 2015, and the first public version came out on September 2015. This was always kind of project I would commit some time to if I did not have anything else to do. Kind of a "background project".

My other projects tend to be quite simple and have somewhat low level of complexity. This one is exception - the codebase here spans several hundred files. The database schema is also quite complex with a lot of JOINS per typical query. One of the "complexity-adding" aspects is the end-user's ability to practically create his own little 'subservice' inside the Correlation App.

The end-user is not forced into some rigid, pre-defined way to use this web application - instead, she can create her own trackers. Even better, she can publish those trackers so that other users can recycle them (no need for each user to create her own "hours slept" -tracker). This flexibility adds some complexity into application, but it was managable.

Development of the Correlation App taught me pretty much everything I now know about PHP's magnificent framework Laravel. Also, it taught me about ORMs and web security. This was a long and strenuous project for solo-developer to complete, so I think most valuable lesson here was to just "dig in" and keep putting in the hours. Anything can be done if one just refuses to give up. This project is a perfect example of that.