Engineering firms bill by the hour, but few engineers enjoy tracking their time. The typical process — remembering what you did at the end of the week and guessing how long each task took — produces inaccurate timesheets, lost billable hours, and frustrated project managers. A lightweight tracker that sits on your desktop and lets you log activities in real time solves this without adding friction to your workflow.
A single input field with a project dropdown and a timer button. Select the project, describe the activity in a few words, and click Start. When you switch tasks, click Stop and start a new entry. The tool records the start time, end time, duration, and description automatically.
Maintain a list of active projects with project numbers, client names, and budget hours. Each time entry links to a project. The tool shows running totals per project so you can see at a glance how many hours you have charged against each budget.
Aggregate daily entries into a weekly summary table: project number, total hours, and activity descriptions. Export this as a formatted Excel file or PDF that matches your company's timesheet template. What used to take 20 minutes of end-of-week reconstruction now takes one click.
Use SQLite — a file-based database that requires no server. Store entries in a local database file alongside the application. SQLite handles thousands of entries efficiently and supports queries for reporting. Back up the database file to your cloud drive for safety.
The interface should be minimal and unobtrusive. A small window or system tray icon that is always accessible but never in the way. Show the current running timer prominently. Display today's logged entries in a compact list below the input area. Add keyboard shortcuts for power users — Ctrl+N for new entry, Ctrl+S for stop, Ctrl+R for report.
Beyond timesheets, the accumulated data reveals patterns: how much time goes to design versus coordination, which projects consume more hours than budgeted, and how your time distribution changes week to week. Display these insights in a simple dashboard — bar charts for hours by project, pie charts for activity categories, and trend lines for weekly totals.
All data stays on your machine. No cloud sync, no telemetry, no third-party access. Engineers often work on confidential projects — a time tracker that sends data to external servers is a non-starter for many firms. Local-only storage with optional manual export respects both privacy and security requirements.
# Python SQLite time tracker core
import sqlite3
from datetime import datetime
def init_db(path='timelog.db'):
conn = sqlite3.connect(path)
conn.execute('CREATE TABLE IF NOT EXISTS logs '
'(id INTEGER PRIMARY KEY, project TEXT, task TEXT, '
'start TEXT, end TEXT, hours REAL)')
conn.commit()
return conn
def log_entry(conn, project, task, start, end):
fmt = '%Y-%m-%d %H:%M'
t0 = datetime.strptime(start, fmt)
t1 = datetime.strptime(end, fmt)
hrs = (t1 - t0).total_seconds() / 3600
conn.execute(
'INSERT INTO logs (project,task,start,end,hours) VALUES (?,?,?,?,?)',
(project, task, start, end, round(hrs, 2)))
conn.commit()
def weekly_summary(conn):
rows = conn.execute(
'SELECT project, SUM(hours) FROM logs '
'GROUP BY project ORDER BY SUM(hours) DESC').fetchall()
for proj, hrs in rows:
print(f'{proj:<20} {hrs:.1f} hrs')
db = init_db()
log_entry(db, 'Bridge-42', 'design', '2025-01-15 08:00', '2025-01-15 12:30')
weekly_summary(db)
RHCES builds practical desktop tools for engineering professionals. Explore our full product line and training programs.
Explore RHCES Store →