Tim Furlong's Tech Blog

Building cal2ts: How I Automated Timesheet Hell for My Engineering Team

Cover Image for Building cal2ts: How I Automated Timesheet Hell for My Engineering Team
Tim Furlong
Tim Furlong

As an engineering team lead, I've always been passionate about finding ways to reduce administrative overhead and let my team focus on what they do best: building great software. One of the most tedious tasks that consistently took time away from actual development work was timesheet management. This led me to create cal2ts, a tool that bridges the gap between calendar events and timesheet entries.

The Problem: Timesheets Suck

Let's be real - nobody likes doing timesheets. At Cloud303, we were spending way too much time:

  • Copying meeting details from our calendars to Odoo

  • Trying to remember which project that meeting from last week was for

  • Getting distracted from actual development work to do admin stuff

  • Missing billable hours because we forgot to log something

I was watching my team waste precious brain power on this stuff, and I thought: "There has to be a better way."

Enter cal2ts

I built cal2ts (short for Calendar to Timesheet) as a web app that automatically converts your calendar events into timesheet entries. The cool part? It uses AI to figure out which project and task each meeting belongs to.

Here's what makes it awesome:

  • One click to push your calendar events to timesheets

  • AI that learns from your previous timesheet entries

  • Smart matching of meeting titles to projects

  • Gets better over time as you correct its predictions

How It Works

The tech stack is pretty straightforward:

  • Frontend: SvelteKit (because it's fast and fun to work with)

  • Backend: Python with Flask

  • AI: Claude 3.5 Sonnet via AWS Bedrock

  • Hosting: AWS (because that's what we do at Cloud303)

The magic happens when the AI looks at your last month of timesheets and uses that to predict where new meetings should go. It's not perfect (what AI is?), but it's way better than starting from scratch every time.

The Impact

The results have been pretty sweet:

  • Timesheet entry time went from "ugh, I'll do it later" to "done in 5 seconds"

  • We're actually capturing all our billable hours

  • The team is happier because they're not getting pulled out of their flow

  • I'm not getting Slack messages asking "which project was that meeting for?"

What I Learned

Building cal2ts taught me some cool stuff:

  1. Sometimes the best tools are the ones that solve everyday problems

  2. AI doesn't have to be fancy to be useful

  3. Internal tools deserve good UX too

  4. The best automation is the kind that learns from its mistakes

What's Next?

The tool is working great for us at Cloud303, but there's always room to make it better:

  • Smarter handling of recurring meetings

  • Better project matching

  • Maybe support for more calendar providers

  • Some cool analytics to see where our time is going

Wrapping Up

cal2ts might seem like a small thing, but it's made a big difference in how our team works. It's not just about saving time - it's about keeping our engineers focused on building cool stuff instead of fighting with timesheets.

The best part? It's a living example of how we can use technology to make our work lives better, one annoying task at a time.


More Posts

Integrating Odoo ERP Data with Natural Language Chat via a Modular MCP Agentic Framework

I built an AI chatbot using FastMCP, odoo-rpc-client, and Claude 4 to easily chat with my Odoo ERP data. This is how I did it.

Read Post
Cover Image for Integrating Odoo ERP Data with Natural Language Chat via a Modular MCP Agentic Framework

Why I Chose AWS Amplify, Contentful, and Next.js to Build My Blog

I looked at a few different ways to build my blog, but ended up going with AWS Amplify, Contentful, and Next.js. Here’s why this setup made the most sense for what I needed.

Read Post
Cover Image for Why I Chose AWS Amplify, Contentful, and Next.js to Build My Blog