Internal Product · PM + Developer · 2026

Timesheet Automation

Turn a weekly memory exercise into a daily moment of confirmation.

I built a human-in-the-loop web app that turns calendar and Jira context into employee-approved Tempo entries, deployed it with one engineering team, and am now developing a Teams-based second iteration.

Role — Product lead + prototype developer Shipped — Web app with 1 engineering team Now — Feedback, interviews, Teams bot build
Tempo Logger web app showing six proposed entries, resolved and needs-input states, editable hours and Tempo codes, and a Submit to Tempo action.
400+Employees in the workflow
~67hDaily admin burden modeled
~$800KEstimated annual savings
Status & outcome

A working first version, and a second iteration in progress.

Deployed

Hackathon web app

Employees open the app, import Outlook Calendar activity, review the draft, and submit approved entries to Tempo. It is deployed with one engineering team.

In development

Teams assistant

I am gathering feedback and interviews while building a daily Teams reminder that brings the review to the employee.

Organizational pull

Executive visibility

I presented the solution to the SVPs of Operations and Finance and the CFO. Operations asked to pursue implementation after the hackathon.

Problem & discovery

The task was small. The consequences were not.

More than 400 employees logged work across over 80 time codes. To complete a timesheet, they reconstructed meetings and Jira activity, selected the correct codes, and entered each record into Tempo. Because the task offered little immediate value to salaried employees, many delayed it until the end of the week, when context had already faded.

What I observed

  • Employees complained about the effort and regularly delayed submission until Friday or the following week.
  • Meeting titles and Jira tickets already contained much of the context people later reconstructed manually.
  • Finance repeatedly followed up on incomplete submissions, while more than 80 codes made correct classification difficult.
  • More than 10 employees and stakeholders confirmed that remembering and categorizing work were the largest sources of friction.
  • After the hackathon, the operations team approached us immediately and asked for the solution to be implemented.
Employees

“What did I work on?”

People rebuilt a week after context had faded. With little personal incentive, the work became a late and frustrating box-checking exercise.

Finance & management

“Can we trust the hours?”

Finance needed actual hours for client billing. Management needed credible project-level effort for planning, cost, and efficiency decisions.

Opportunity

Capture context before it decays.

The opportunity was not simply a faster form. It was to use systems that already contained the day’s context, create a draft, and ask the employee to confirm it while the work was still fresh.

“Do not ask people to remember work the system has already observed.”

— Product framing
What I built & owned

From an unassigned problem to a deployed prototype.

  • Identified and framed the problem before the hackathon, then mapped the Microsoft 365, Jira, and Tempo workflow.
  • Built a working prototype with Claude Code and shared it early, which helped recruit technical teammates for the hackathon.
  • Designed the mapping and review experience, including confidence states, employee correction, learned mappings, and human approval.
  • Modeled the administrative and business cost and presented the case to senior Operations and Finance leadership and the CFO.
  • Led the next iteration by gathering feedback, interviewing users, and moving the review workflow into Teams.
01Open web appEmployee initiates the workflow.
02Import OutlookCalendar meetings provide time context.
03Match Jira codesRules and Claude Haiku classify entries.
04Review exceptionsLow-confidence items ask the employee.
05Submit to TempoOnly approved entries are written.

Built withClaude Code · Claude Haiku · Microsoft 365 / Outlook · Jira · Tempo

Iteration one · Deployed web app

First, prove that a useful draft was possible.

For the hackathon, I used screenshot import to simulate Microsoft Graph input while building and testing the mapping and review workflow. In the deployed version, an employee opens the web app and imports Outlook Calendar activity before reviewing and submitting to Tempo.

What it proved

A useful draft could be created.

Calendar and Jira context removed much of the manual code entry. High-confidence mappings could be proposed automatically, while uncertain entries remained editable.

What it did not solve

People still had to remember.

Feedback and submission timing showed that reducing effort alone did not solve accuracy. The separate destination preserved the original behavioral problem.

Iteration two · Teams assistant

Then, remove the need to remember the tool.

I decided to move the review into Microsoft Teams and deliver it near the end of the workday, when employees can still recall what they did. At roughly 6 p.m., the assistant summarizes the day. The employee approves the draft in chat or edits an exception before it is logged to Tempo.

Concept mockup for the Teams iteration currently being built; it is not presented as a shipped interface.

Web prototypeTeams assistant
TriggerEmployee opens another tool.Assistant arrives near the end of the day.
User effortImport, review, and submit.Review the draft and approve or edit exceptions.
What it provesCalendar and Jira context can create a useful draft.Delivery can fit the behavior the workflow requires.
Remaining riskEmployees still forget to begin.Notification fatigue and incorrect mappings may reduce trust.
Trust & AI strategy

Rules first. AI only when context is inconclusive.

The system uses deterministic rules wherever possible and invokes AI only when the available context cannot produce a reliable mapping. This keeps the workflow explainable, limits cost, and makes uncertainty visible.

01Learned mappingsReuse codes the employee already confirmed for similar work.
02Tickets & keywordsResolve Jira IDs and recognizable meeting patterns with deterministic logic.
03Claude HaikuClassify only cases that rules and existing context cannot resolve confidently.
04Employee approvalA meeting is not automatically treated as billable work. Low-confidence and incomplete entries require review before write-back.

Microsoft Graph and Jira are read-only context sources. Tempo receives only employee-approved entries. The pilot also needs to test overlapping meetings, non-calendar work, notification fatigue, and the difference between a scheduled meeting and actual billable effort.

Business case & next steps

A productivity case—and a data-quality case.

Current burden67h / day

400 employees × 10 minutes of daily timesheet administration.

Improved workflow13h / day

400 employees × 2 minutes for review and exception handling.

Modeled opportunity~$810K / year

54 hours saved × 250 workdays × $60 fully loaded hourly cost.

The deeper value is better operational data: more timely worklogs for client billing, fewer missing submissions for finance to chase, and a more credible view of project effort for management.

What I will measure during the pilot.

Median time to complete a daily review
Drafts approved without edits
Classification correction rate
On-time submission rate
Missing-timesheet follow-ups
Notification dismissal or opt-out rate
Difference between proposed and approved hours
AI cost per completed timesheet

“The first iteration automated reconstruction. The second addressed behavior.”

— Product lesson

Reducing clicks was not enough while the employee still had to remember to begin. For recurring operational workflows, delivery timing and channel are part of the product—not implementation details.

Savings are a directional business-case estimate from the hackathon model, not a measured realized outcome.