Record
Keep the original facts
Manual entries and corrections sit alongside durable timers. Exact-second durations avoid introducing rounding into the stored record. Correction history makes changes inspectable.
Build 12 / Time and project workflows
A completed, enterprise-deployed time and project application: manual entries, durable timers, personal reports, and permission boundaries that have to hold across every screen.
Updated 26 October 2026 · Completed and enterprise deployed
Greg's take
A timesheet looks simple until you correct an entry, change projects, leave a timer running, or switch accounts. Those are the moments that decide whether the numbers are trustworthy.
Hourloom starts with that foundation. Time is stored as integer seconds, and a personal report must reconcile with the entries behind it. Project and tenant access belongs on the server; a browser filter only helps someone find their own records.
The system
Record
Manual entries and corrections sit alongside durable timers. Exact-second durations avoid introducing rounding into the stored record. Correction history makes changes inspectable.
Navigate
The interface includes day and week views, projects, tasks, team navigation, and personal reports. During development, synthetic personas exercised access and account-switch behaviour.
Reconcile
Reports narrow personal time by date, project, and task. Subtotals and contributing entries let an operator trace a displayed total back to its source.
Build journey
01 / Foundation
The first local application combined a React interface, FastAPI service, and PostgreSQL data layer. Synthetic members and tenant-scoped access made the early permission rules testable.
02 / Time capture
Manual time, correction history, and database-backed timers bring the workflow beyond a static timesheet. Day, week, project, and task views have to agree about the same records.
03 / October update
The 12 October commit adds project and task filters, explicit duplicate-name labels, and contributing-entry detail. Invalid date ranges and empty results get distinct states rather than misleading totals.
04 / Enterprise delivery
Hourloom is finished and enterprise deployed. Completion and deployment were confirmed by Greg on 26 October 2026, bringing the story beyond the earlier development snapshot.
Delivery and build evidence
The repository contains API and browser tests for manual entries, timers, project eligibility, persona-switch races, report reconciliation, date boundaries, error recovery, and mobile layouts. Report tests compare task subtotals, project subtotals, the overall total, and the underlying entries; they also exercise separation between synthetic tenants.
Hourloom is finished and enterprise deployed, as confirmed by Greg on 26 October 2026. The earlier repository snapshot describes the development journey; it no longer represents the delivery status.
Build history: committed implementation and project records at f4218439. Completion and enterprise deployment: Greg’s update of 26 October 2026.
What the build taught us
Hourloom carries the time and project workflow through to a completed enterprise deployment. Exact-second records, traceable corrections, and reports that reconcile remain the engineering thread running through the build.
Build something useful
Start with the problem, the constraints, and what a useful result would look like.