As a freelancer, I was using a variety of tools to manage time tracking, todo lists, invoicing, and expenses. I wanted something that combined them all into one simple app. Something geared to solo freelancing. I couldn’t find one that fit the bill, so I built a single page web app called Frihed.ca. The name comes from the Danish word for “Freedom” (I’m Canadian, but my dad is from Denmark) — which I felt is a good goal of a freelancer who sets out to work for themselves.
The app is currently in BETA, and is free to use, although I’ll be limiting the number of users to 1000. I have used it to manage my business for a full calendar year, and it has worked well for my purposes and has been stable and bug free. I have, however, been using it for almost two years with no problems.
Web based application
One of the main features of the app is that it is cloud-based, and works on any device, from anywhere. It makes it extremely convenient to have all of the key business management tasks available from any device, anywhere. As a single page application it is also very fast and seamless.
Tasks (to dos)
Frihed has a task list. Tasks are organized by project. You can see all tasks for the project by going to the project page. If a task is marked as “todo”, then it will also appear on the home dashboard, along with all of your other projects’ todo tasks. The home to do list makes for a useful way to see what’s on your plate at a glance, across projects.
Time tracker with reporting
Track your time against projects with a simple time tracker that sits at the top of the app. To make it super easy to quickly start tracking a task, you can click right from your task list to start the clock. Create reports that summarize the hours for the month – or any custom period. Save as a PDF to share with clients.
Invoicing with reporting
One of my favorite things about the app in regular use is the dashboard component that lists all the outstanding invoices.
It’s one of those things that is stressful to manage manually. I was often asking myself, “did I get paid for that project”? Now, I know at a glance which invoices have yet to be paid as soon as I log in. Invoicing is fast, as it auto-populates all of the client data, does all the math automatically and stores all that information. Rather than send invoices to clients directly through the app, I opted to keep that step manual in the BETA version. What you do is print the invoice or save to PDF and send via your regular email client. The upside of that process is added backup of all of your invoicing in your email history. I might add direct invoice sending to the paid version at a later date.
Expense tracking with reporting
Simple way to enter expenses as they come up. Export all expenses for a given reporting period as a CSV (spreadsheet).
I used a modern JavasScript tech stack for the app, including a Node server for hosting.
- REST API backend built with Node/Express
- VueJS for front-end
- Mongo Database for persistence
- Redis for handling extra user auth security
- Served by an Ubuntu instance on Digital Ocean
Currently, the site is in BETA and limited to 1000 users. I’m doing this to keep it free and to manage server and dev-ops costs. Eventually I plan on building it into a Freemium app that will have some extra conveniences that users will need to pay for. That will help offset the costs of serving the app to a large number of users.
I’ll be continuing to use this for my business, so it is not going anywhere. However, currently, there is no user documentation or “getting started” guides. I plan on adding that in the near future so that it is easier for users to onboard.