Timesheets suck. I made them suck less by using Notion to-do's and some code.
If you’ve ever tried to juggle multiple clients and projects while running a business, you’ve probably bumped into the same time-tracking hell I’ve faced.
If you’ve ever tried juggling multiple clients and projects while running a business, you’ve experienced the same hell I’ve faced trying to track your time.
I run a product design studio, and while I thrive on the ADHD-friendly chaos of hopping between clients, the idea of meticulously logging every minute of my work? Uh, no. I just wanna do my work.
Here’s the problem: every time-tracking platform I’ve tried has been .. well, horrible. They’re clunky, require too much executive function, and ultimately I never actually use them. And what’s the golden rule? The best products are the ones we actually use. So I ditched the apps and decided to do what I normally do, and try to build off something I already rely on: my Notion todo list.
Why Traditional Time Tracking Doesn’t Work for Me
Time tracking has always been a pain in the ass.. As someone with ADHD, I tend to hyperfocus on the work itself and forget about things like starting and stopping timers. Plus, with multiple clients and projects on my plate, switching gears is part of the deal. I don’t want to interrupt my flow just to update some overly complex time tracker.
This year, my system (or lack thereof) finally bit me in the ass. During my December review- when I force myself to look at my finances - I realized I’d spent an absurd amount of time on a fixed-bid project. That passion project gobbled up so much of my time that my hourly work suffered. In short, I left a ton of money on the table because I had no clear view of how my time was actually being spent.
Something had to change.
My Notion Todo List
Here’s the thing: I already have a super-organized system in Notion. Every day, I break down tasks by client in a running todo list. Each month, I start a fresh page, and I’ve been doing this for over two years now. It’s simple, it works, and most importantly, I actually use it.
So instead of adding yet another app to my life, I decided to build on what I was already doing.
How I Turned My Todo List into a Time-Tracking System
The beauty of this system is its simplicity. I didn’t want to overhaul my entire workflow - just enhance it. The only thing I added to my todo list was the time spent on each task, and I kept it as flexible as possible because since labeling consistency isn’t my strong suit.
Here’s what it looks like in practice:
- [x] Do this one thing (1.4hr)
- [x] Did that other thing (14min)
- [x] Followed up on that thing (4m)
It doesn’t matter if I use “hr,” “min,” or random abbreviations like “m.” The goal was to capture the essence of time spent without overthinking it. Same with the dates, I am totally inconsistent with how I label dates, so the system can account for virtually any permutation.
Automating the Hard Part
Once I had a few months of this data, I realized I could automate the rest. I fired up Cursor (a killer AI coding assistant) and wrote a script to parse my Notion todos. It does a few key things:
- Extracts tasks, durations, and clients from my lists.
- Converts the time formats into a consistent structure.
- Generates a timesheet with a breakdown of time spent by client and project.
- Calculates costs, so I can see exactly how much I’m earning—or losing—on fixed-bid work.
Now, at the end of each month, I can hit a local website and get a great summary of my time (sure it takes 15 seconds to render because the Notion API is created by insane people, but it's absolutely invaluable). I then made it stupidly easy to copy into InvoiceNinja, the app I use for billing clients.
The Results? Clarity and Control
Here’s what this new system has done for me:
- Visibility: I can instantly see where my time is going and how much each client costs me.
- Profitability Insights: I can tell at a glance if fixed-bid projects are worth it or if I’m overcommitting.
- Easier Invoicing: Since everything is broken down by client, invoicing takes minutes, not hours.
Next on my to-do list? Adding the ability to push these timesheets into InvoiceNinja to automatically generate my invoices.
TIL: Time tracking doesn’t have to suck.
By integrating it into a system I already loved, I turned what used to be a frustrating chore into a seamless part of my daily routine. Best of all, I can finally make informed decisions about my work—and my bottom line.
If you’ve been struggling with time tracking, consider this your permission to ditch the clunky apps and make something that works for you. You don’t need fancy software—just a little creativity and a system you’ll actually stick with.
Your Turn: Do you have a favorite Notion hack or time-tracking tip? Share it in the comments—I’m always looking for better ways to work smarter, not harder.