
Demi van Kesteren
Software developer
After almost two years(!) of on-and-off planning, designing, developing, (beta) testing, gathering feedback and redoing the whole process all over again, the new approvals workflow is finally available to all Tracket users!
What at first may look like an update to the approvals overview page, appears to have been lots of behind-the-scenes work, required rethinking the logic and structure behind one of Tracket's very first big features and provides lots of opportunities and improvements. Things went right, things went wrong, we got stuck, and we sprinted forward again. We're excited to share how we went from saving full weeks to saving days, and how multiple iterations of testing and prototyping lead to today's solution.

The approval process was one of Tracket's very first big features, dating back to November 2021. You could create time entries, or "worklogs" back then, on items with a category, description and (billable) minutes, and view them on "the period overview". Throughout the years, Tracket grew and gained more and more features, and approvals got some tweaks here and there, but nothing big did change. Eventually came Tracket 2.0. We touched and changed almost everything, except approvals; they still had their original look and workflow.
With Tracket growing, scalability became more and more important, and the approvals page was having more trouble, especially for larger accounts. Loading all users' approvals for the week in one big list could take a long time, even too long sometimes.
And there were technical limitations we kept running into. To go into a bit more technical detail, an approval, if known, was stored as a single document in our database. This brought two big issues:
We decided it was time for a change.
After several talks with development, design and product, we decided to get rid of saving weeks and start saving days instead. And boy what a change it was! Saving approval information on a daily basis provided more flexibility, scalability and improved loading speeds, as we are able to only retrieve more specific data that we actually need. Not only within the app, but also our automations benefit from these changes too: we managed to reduce the amount of database reads up to 99.9%!
What 99.9% looks like in practice. Reads before and after the switch to days.
We evaluated several approached: daily, weekly and yearly. Here's why daily won:
Of course there are downsides to this solution too. First of all, we'll have to store more data. Saving a week (or not) compared to always having seven days takes up more storage. And approvals are still seven days, meaning we have to "build" a week ourselves. That brings the risk of one or multiple days being in a different state. We handle that with additional checks and transactions, to catch and revert mismatches should they arrise.
There will always be risks and downsides to a solution, but they do not outweigh the improvements and opportunities it provided us with, for example:
Phase 1: Finding the Right Solution
Our first talks and refinements started in May 2024, shortly after the release of Tracket 2.0. The first designs were already there and soon after development brainstormed about the new setup. The old weekly documents were no longer an option, so we looked at alternatives, compared their pros and cons and came to the solution of saving days.
We tried it out first; we learned what worked, what did not work, where designs needed adjustment and what surprised us (in a good way). A requirement was that it had to run alongside the old approvals for a while. By the end of the year, we had a feature-flagged first version ready.
Phase 2: Beta Testing
A little into 2025, our first few customers, started beta testing, both big and small accounts! We gathered feedback, learned what people liked and where improvements could be made to for example loading speeds and UX. The beta ran for several months while we worked on bigger changes behind the scenes.
We migrated over 14.5 million time entries as part of the approval improvements, adjusting parts of the data model and making other technical decisions along the way. Nobody noticed, which is exactly what you want from a migration.
That, together with the release of the Active time tracking period, made us prepare for the second beta at the end of 2025. Based on all the feedback we gathered and our own testing, we added grouping options, toggling columns, sorting pending approvals and added a new self-approval setting.
Phase 3: Final Steps and Public Launch
At the start of 2026, it was time to create the days for every single account, pulling existing approval data and writing it into the new days. The migration created millions of days for thousands of users in a just few days. We opened the public beta sign-up and over thirty accounts applied and tested.
Then, on May 5th, 2026, almost exactly two years after the first talks, we released the new approvals workflow to everyone.
The result? A more structured, focused and fresh overview. It gives better insight into the approval workflow and eliminates the needs to select a specific approver; anyone with permission can approve. No more resubmitting timesheets when your approver is unavailable.
We're not done yet! We have other things under consideration regarding approvals for the future, such as multi-level approvals and improved notifications. And the change from weeks to days opens up possibilities we're only beginning to explore.
Try out the new approvals today and let us know what you think!
A big thank you to everyone who beta tested, provided feedback and supported us over the past few months. This release wouldn't be what it is without you!
