The ‘itch’ this application tries to scratch comes from a personal experience. For as long as I know I have been working as a freelancer (and I am loving it). I worked on projects that lasted for weeks to projects requiring almost a year, I have been paid a fixed rate per project and worked also for hourly rates.
But being a freelancer has its challenges and one of them is managing your finances because those invoices are rolling in no matter what.
The first ‘itch’ was to have a dashboard where I can see in real time how much income a project is generating.
Another challenge is the estimates (not only for freelancers but for everybody). Let’s face it, we as humans are bad at estimating. I think because we are optimistic and can’t really estimate what can go wrong. Estimating the best case scenario is easy, but estimating the worst case scenario well that’s …
So as a freelancer you have to accept that when you get paid per project and based on your estimate, you will most probably work more hours than you estimated.
The second ‘itch’ was to track the worked hours so I could compare the estimate ( guessed 🙂 ) with the reality and to be able to try to minimize the gap between them for the next project.
The question you all probably are asking is why build an app from scratch (the nth time tracking application) when there are so many of them available. That’s true, and I tried a number of them, but some were too complex, and I wanted simplicity, while some go beyond the privacy limit that I can accept.
Also, I had a need to be able to customize the generated PDF report (add a custom heading text, a custom intro text, a custom footer) and this was a feature that none of the tested apps were offering.
Beyond the above reasons I also like building web apps and when I have the possibility to work on an idea that would help me or others I’ll go for it.
I invite you to try it (https://activity.report), maybe it’s a flavor of time tracking application that you will like.
The technical ingredients for the app
Here are the services that I use to run this application
- CloudFlare – DNS
- Digital Ocean – Servers
- Laravel Forge – Server management
- Laravel Envoyer – Deployment
- Pusher – Real-time update
- Apache Cordova – For the mobile apps
- PhoneGap – Mobile app compiling service
- Postmark – SMTP service
- Bugsnag – Error reporting
- Ottomatik – Backups
- Forrest Admin – Admin backend interface
- Laravel framework + Laravel Spark – Backend
- Vue JS – Frontend