Visit Daytracer.app to learn more, see demo
video and download the app.
This idea started after my dissatisfaction from trying multiple paid
time tracking software; I always felt like the competition had
magical aggregations which resulted in inaccurte total times
compared to when I tracked it manually. And as a freelancer, time
tracking and invoicing were the most time consuming parts of the
job, but was essential to getting paid.
So I built Daytracer since I can trust its time tracking without any
odd aggregations, and to streamline my task logging process. In the
future it will be able to generate PDF invoices to send to clients.
I've been working on this desktop app for about a year (April 2022
to March 2023). I built the first prototype over a weekend which was
a simple electron app that stored app usage as timestamps into a
json file. Over time it grew into a calendar weekly view with
projects for time assignment.
Tech stack
Electron App node process (part 1)
Node.js –
for creating log txt files for debugging
Electron with Electron-Builder –
for packaging into an installer and handling updates
LowDB –
for storing local data like auth
tokens, settings in a JSON file
Pocketbase DB in Electron –
for storing data in a relational way
(SQLite) like time_spent records, project_time records by device
and user
Electron App view (part 2)
React.js –
for creating an interactive UI
Styled Components –
for creating CSS styles in the same file as
the react components for better developer experience
React Context –
for shared global state such as AuthUser,
Projects, TimeSpent
Cloud Infrastructure (part 3)
AWS S3 buckets –
for storing each version release used for
downloading and updating desktop application
Pocketbase DB in EC2 –
for storing user data in the cloud to allow
for syncing across multiple devices
AWS EC2 Instance + EBS –
for hosting cloud Pocketbase server and its
saved in the Elastic Block Storage
Pocketbase hosted on EC2 can only scale vertically, but I went
with this solution for now because its simple and makes for a
great dev experience as I can run the same cloud env locally on my
computer. This simple architecture makes for quick feature
iterations which is the project's current priority.
Some old screenshots
First prototype (April 20 2022)Weekly Calendar view showing time spent (July 9 2022)
Weekly Calendar view with project time and time spent from
multiple devices (March 16 2023)