All articlesWhy I stopped writing timesheets and let my git log do it

Why I stopped writing timesheets and let my git log do it

By Allan Clempe

founder
story

Friday, 5pm

You know the scene. It's 5pm on Friday. The office has emptied out, half the team is already at the bar, and someone's texting you to hurry up. But first: the timesheet. A grid of empty cells, one row per day, and you have to fill it in before you can leave.

So you try to remember. What did I even do on Tuesday? The week is already a blur. Monday morning is gone entirely. You squint at the calendar, find a meeting you half-remember, and start guessing. Four hours on the API, maybe? Three on that bug? You're not lying. You genuinely can't recall. The work happened, you just didn't keep score while you were doing it.

That's the real problem with timesheets. They ask you to remember, at the worst possible moment, something you were never paying attention to in the first place. Nobody narrates their own day. You just work, and by Friday it's a fog.

The record already existed

One Friday I gave up trying to remember and went to look at what I'd actually done. Not from memory — from my git log.

git log --author="$(git config user.email)" --since="1 week ago" \
  --date=format:'%a %H:%M' --pretty="%cd  %s"

There it was. Every commit, stamped with the exact minute I made it. The morning I'd completely forgotten had six commits in it. The "quick fix" I would have guessed at as one hour had a trail running across the whole afternoon. And that meeting I couldn't place? A two-hour gap with nothing on either side, which told me more than any number I'd have typed.

Everything I'd been straining to remember every Friday had been sitting in version control the entire time. Timestamped, in order, exactly as it happened. I'd been trying to reconstruct from memory a record that had already written itself.

That's a strange thing to realize about your own job.

What if the log just was the timesheet?

That's the whole idea behind Clocktopus, and it really is that simple.

You already leave a trail. Every commit, every pushed branch, every closed pull request is a timestamp you didn't have to think about. Line them up and you can see your day better than you can remember it at 5pm on a Friday.

So instead of asking you to remember, Clocktopus reads the signals your work already produces and builds the timesheet from them. No timer to start and forget to stop. No blank grid waiting for you at the end of the week. The entries come from things that actually happened, and you can fix them before they count.

The goal was never to track me harder. It was to stop asking me to remember a week I was too busy working to memorize.

Leave on time

There's a simpler reason I keep building this. Friday at 5pm should be the start of your weekend, not a memory test you have to pass before you're allowed to leave. When the timesheet builds itself from your commits, there's nothing to reconstruct. You glance, you adjust, you close the laptop, and you make it to happy hour with everyone else.

I stopped writing timesheets because the best one I ever kept was the one I was already keeping without noticing. Clocktopus is what happened when I decided to stop trying to remember and just read it back.