← Back to geotechnicalengr.com Personal Project

Time Block

End-of-day timesheet reconstruction — trying to remember what I actually did — was its own daily tax. I built a tool that logs it as the day happens instead.

The Problem

Apex's timesheet system wants hours by category, filled in after the fact. By end of day, reconstructing an hour-by-hour account of calls, meetings, reports, and site visits from memory was its own small chore — and an inaccurate one.

The Approach

A single-user, self-hosted web app: a day/week grid where I drag to block out time against a set of categories (Admin, Phone Call, Meeting, Proposal, Report, Site Visit, and more), each color-coded. A static HTML/JS front end backed by a small PHP script and a JSON file, gated behind a password login. Blocks are logged as the day happens, not reconstructed at the end of it. Any day or week exports straight to CSV for the timesheet system.

Time Block week view showing color-coded time blocks by category across Monday through Wednesday, with weekly hours logged

The week view — color-coded blocks by category, with hours logged for the week tallied at the top.

The Result

No account, no subscription, no third party holding the data — and no more end-of-day guesswork. The day's timesheet is already built by the time the day is over; exporting it is one click.