Stop watch in the background with Simple Time Tracking for Freelancers on an overlay

OMG AI is insane! I built a time tracker—no code

Building a Custom Time Tracker: When Simple Is Better Than Feature-Rich

I’d been using Toggl for years. It worked great—until it didn’t. Like many SaaS tools, Toggl kept adding features. New dashboards, team collaboration tools, advanced analytics, AI suggestions. Every login greeted me with another modal explaining features I’d never use. Buttons kept moving as they incorporated new functionality. The UI kept getting busier.

I’m a founder and freelancer. I need to track time, round it up for billing, and occasionally export for invoicing. That’s it. The growing complexity was adding frustration to my day, and I was paying for features that just got in my way.

So I asked Claude what the best way to deal with this was. 

Here’s how it went

I fired up Claude and explained my situation: I needed something simple. Track time, assign clients and jobs, round up to 15-minute increments for billing, and mark jobs complete. No cloud sync, no teams, no analytics dashboard. Just the essentials. Claude first tried to talk me into just keeping Toggl, but I had been frustrated too many times and I wanted to look at my options. Then Claude said the magic words “I could build it for you.” That was like offering me chocolate mousse and whipped cream. How could I say no?

The first version took about 10 minutes to build. (10 MINUTES!!!) A single HTML file with:

  • Add clients and jobs
  • Start/stop timer with running display
  • Time entries that automatically round up to 15 minutes
  • Mark jobs as complete
  • Everything stored locally in the browser

I opened it, and there it was—a working time tracker. Clean, fast, and exactly what I needed.

The “Just One More Thing” Phase

Of course, once you have something working, you realize what’s missing. Development is an iterative process and it was so simple to add things that I kept asking for additions:

“I need to edit and delete things.” What if I mistype a client name? What if I start a timer by accident? We added:

  • Edit/delete time entries
  • Edit/delete jobs
  • Edit/delete clients (with warnings about cascading deletions)

“I need to add notes.” I need to remember what I worked on. We added a notes field that shows up when you start a timer or manually add time.

“What about when I forget to start the timer?” Added a manual time entry form. Pick a job, enter start/end times, add notes. Perfect for backfilling forgotten time.

“I need to export for billing.” Two CSV export options:

  • Job summary (totals by job for invoicing)
  • Detailed entries (every time entry with notes for records)

“Can I see my weekly/monthly totals?” Added summary cards showing hours worked this week, this month, and number of active jobs.

Making It Actually Usable

After all these additions, I had a powerful time tracker, but the interface had gotten cluttered. The problem wasn’t the features—they were all useful. The problem was that I didn’t need them all the time.

This led to the most important design insight: put the frequent stuff front and center, and hide everything else behind collapsible sections.

We redesigned the entire UI:

Always visible (top of screen):

  • Active timer (when running)
  • Jobs and options
  • Start/stop buttons

Tucked away in collapsible sections:

  • ➕ Add Client
  • ➕ Add Job
  • ✏️ Manual Time Entry
  • 👥 Manage Clients

Small summaries:

  • Week/month summaries
  • Export buttons

The result? The app takes up minimal screen space when idle, but everything expands when you need it.

The Finishing Touches

I wanted this to live on my Mac desktop like a real app. I ditched the icon that Claude came up with in favor of one from NanoBanana. It’s a fun steampunk-style icon (because why not?) with brass tones, gears, and Victorian styling.

To set it up:

  1. Save the HTML file to my desktop
  2. Create an alias
  3. Apply the custom icon (copy the PNG, paste it onto the alias icon in Get Info)
  4. Rename to “Time Roundup”

Now I have what looks and feels like a native app, but it’s just a single HTML file. 

What I Learned

1. You don’t need a SaaS subscription for everything. My time tracker is a single file. No monthly fee, no feature creep, no privacy concerns. It does exactly what I need and nothing more.

2. Progressive enhancement works for personal tools. Start simple, add features as you discover you need them. Each addition was motivated by actual use, not speculation about what might be useful. And if I want to add something, all I have to do is ask.

3. UI minimalism comes from smart hiding, not feature removal. I didn’t compromise on functionality. I just made sure the interface matched my usage patterns—simple most of the time, powerful when needed.

4. Local-first has real benefits. Everything stores in my browser’s localStorage. No server, no sync, no lag. It opens instantly and works offline. For a solo user, this is perfect.

5. Building custom tools is more accessible than ever. The whole thing—from concept to finished product with custom icon—took maybe two hours of back-and-forth conversation. (2 HOURS!!!) That’s insane. I don’t code. I just described what I needed, and we iterated until it was right.

Who is this for?

It’s not for everyone. I built this for myself. If you need team features, automatic sync across devices, or deep analytics, stick with Toggl or Harvest. But if you’re a solo user who’s tired of feature bloat and subscription fatigue, building your own tool might be worth considering.

The irony? I built this because Toggl got too complicated. Now I have something simpler than Toggl was when I first started using it years ago. Sometimes the solution to “this got too complex” isn’t finding a simpler tool—it’s building one that stays simple by design.

Try It Yourself

The beauty of this approach is that you can customize it endlessly. Want different rounding intervals? Change one number. Prefer different colors? Update the CSS. Need hourly rate calculations? Just ask Claude (or one of the others).

Your tools should work for you, not the other way around. Sometimes that means building exactly what you need, nothing more, nothing less.

If you want to grab a copy for yourself and save 2 hours on the build, I put it on Gum Road. Here’s the link.

Picture of Stylaquin

Stylaquin

Helping you engage and delight shoppers!

Leave a Reply

Your email address will not be published. Required fields are marked *