Starting clean
In mid-January we started TimeKeeper again with a new backend and a new web app, keeping the shared core from November but leaving older experiments behind. This month's 90 commits cover that restart.
On the backend we added an Attendance module and a Roster module, the two pieces at the heart of any time and attendance product: one records when people actually worked, the other records when they were meant to. We removed the payroll module from this codebase, since pay calculation belongs to Mintage Payroll, and trimmed the list of modules down to what TimeKeeper needs.
A web app of its own
The new web app began as a copy of an existing Mintage interface and was cut back hard. Payroll, banking, insurance and pension screens were removed, the navigation was simplified and the old onboarding flow was taken out. In their place came employee invitations, so an administrator can bring people into the system from the web app.
Most of the front-end commits on 19 and 20 January are short fixes made while the two halves were connected for the first time.
Sketching locations and shifts
At the end of the month we added a first location wizard. It walks an administrator through six steps: the type of location, its details, the shifts worked there, who is assigned to those shifts, a zone for the location, and a preview before saving. This first version ran on sample data while we settled the design.
This article was written from Mintage TimeKeeper’s commit history for January 2026. See Mintage TimeKeeper today