{"id":1117,"date":"2026-05-15T10:50:34","date_gmt":"2026-05-15T08:50:34","guid":{"rendered":"https:\/\/fresh-dev.nl\/?post_type=blog&#038;p=1117"},"modified":"2026-05-15T13:01:53","modified_gmt":"2026-05-15T11:01:53","slug":"tracker","status":"publish","type":"blog","link":"https:\/\/fresh-dev.nl\/en\/blog\/simplicate-tracker\/","title":{"rendered":"Building our own Simplicate tracker"},"content":{"rendered":"<div class=\"section section-blocks\">\n    <div class=\"container\" data-reveal-group>\n        <div class=\"acf-innerblocks-container\">\n        <div class=\"block is-content\">\n                            <h2>What we built: a custom Simplicate tracker<\/h2>\n                                        <p>At Fresh-Dev, we occasionally build our own internal tools. The latest one: a <strong>Simpler tracker<\/strong> as a Mac app, linked to our time tracking via the Simplicate API. Not a revolution, but a few hundred clicks less per week for the whole team.<\/p><p>In this article:<\/p><ul><li><a href=\"#aanleiding\">The reason for our Simplicate tracker<\/a><\/li><li><a href=\"#toggl\">What we missed from Toggl<\/a><\/li><li><a href=\"#bouw\">How we put it together<\/a><\/li><li><a href=\"#na-v1\">What came after v1<\/a><\/li><li><a href=\"#lessen\">5 lessons from this project<\/a><\/li><li><a href=\"#nu\">What the Simplicate tracker now does<\/a><\/li><\/ul>                                <\/div>\n        \n\n        <div class=\"block is-content\" id=\"aanleiding\">\n                            <h2>The reason for our Simplicate tracker<\/h2>\n                                        <p>Almost everything we do internally runs via <a href=\"https:\/\/www.simplicate.nl\/\" rel=\"noopener\" target=\"_blank\">Simplify<\/a>Project status, capacity planning, invoicing, hours. Works fine as long as you plan your day in the morning and stick to that plan precisely.<\/p><p>A working day rarely goes like this. Is there a question in between or a quick task for another client? Then you had to log in to Simplicate, find the right project, and update your hours manually. Four actions for a ten-minute job, and it happened several times a day.<\/p><p>This is why the desire arose for a Simplicate tracker that is always within reach. One click, correct project, timer running.<\/p>                                <\/div>\n        \n\n        <div class=\"block is-content\" id=\"toggl\">\n                            <h2>What we missed from Toggl<\/h2>\n                                        <p>A few years ago, we used Toggl for our time tracking. It came with a Mac app that took a different approach: one screen with a timer, your daily overview, your open tasks, and favourites like \u2018Administration\u2019 which you could start with a single click.<\/p><p>Little things that, together, meant dozens of clicks less per day. We hadn't had that since switching to Simplicate. A Simplicate tracker with the same directness didn't exist, so we decided to build one ourselves.<\/p>                                <\/div>\n        \n\n        <div class=\"block is-image\">\n            <div class=\"image-holder\">\n                <img decoding=\"async\" src=\"https:\/\/fresh-dev.nl\/app\/uploads\/2026\/05\/uren.png\" alt=\"Blog image\">\n            <\/div>\n        <\/div>\n        \n\n        <div class=\"block is-quote\">\n            <p>Build an app exactly like Toggl, but entirely for our work.<\/p>\n                            <span>\u2013 Jesse, co-owner of Fresh-Dev<\/span>\n                    <\/div>\n        \n\n        <div class=\"block is-content\" id=\"bouw\">\n                            <h2>How to assemble our Simplicate tracker<\/h2>\n                                        <p>Jesse, one of the owners, has been building his own iOS apps in Swift for years. In the team, we call him the <a href=\"https:\/\/www.google.com\/search?q=golden+master\" rel=\"noopener\" target=\"_blank\">Golden Master<\/a> (He installs every Apple beta first). He is with <a href=\"https:\/\/www.anthropic.com\/claude-code\" rel=\"noopener\" target=\"_blank\">Claude Code<\/a> got to work to put together a first version.<\/p><p>The first question was practical: how do we retrieve the Simplicate data? <a href=\"https:\/\/developers.simplicate.com\/\" rel=\"noopener\" target=\"_blank\">API Simplication<\/a> everything needed, including authentication. No intermediary server, no sync script, just directly from app to Simplicate.<\/p><p>In Xcode, we built a dashboard view that displays projects, tasks, and hours worked. For the design, we created a brief via ChatGPT based on two references: our own <a href=\"https:\/\/fresh-dev.nl\/en\/\" rel=\"noopener\">Fresh-Dev website<\/a> a Toggl for Mac. That briefing was the starting point for version 1 of our Simplicate tracker.<\/p>                                <\/div>\n        \n\n        <div class=\"block is-content\" id=\"na-v1\">\n                            <h2>What came after v1<\/h2>\n                                        <p>You get an AI-driven prototype in a week. The rest takes months. Does it also work with twenty active tasks? What does the app do when it's in the background with a running timer? How much CPU does it use on a MacBook Air?<\/p><p>We worked on those kinds of questions before we rolled it out internally. The Simplicate tracker not only had to work on the demo laptop, but also run the whole team's workday without a hitch.<\/p>                                <\/div>\n        \n\n        <div class=\"block is-image\">\n            <div class=\"image-holder\">\n                <img decoding=\"async\" src=\"https:\/\/fresh-dev.nl\/app\/uploads\/2026\/05\/xcode-simplicate-1024x610.png\" alt=\"Simple tracker Mac app to use\">\n            <\/div>\n        <\/div>\n        \n\n        <div class=\"block is-content\" id=\"lessen\">\n                            <h2>5 lessons from this project<\/h2>\n                                        <p>Along the way, we learned a few things that would also be useful for other internal tools:<\/p><ul><li><strong>Start with the real irritation.<\/strong> Not by what is technically nice, but by the step you take most often.<\/li><li><strong>Use the existing API if there is one.<\/strong> The Simplicate API made an intermediate layer redundant.<\/li><li><strong>An AI prototype is your first 20%.<\/strong> The remaining 80% covers edge cases, performance and background behaviour.<\/li><li><strong>Test on actual working days.<\/strong> Then you'll see things like \u2018what if I close the app with a running timer?\u2019.<\/li><li><strong>Make it optional for the team.<\/strong> An internal tool that forces you to use it feels like overhead. A tool that makes your work easier, everyone uses it by themselves.<\/li><\/ul>                                <\/div>\n        \n\n        <div class=\"block is-content\" id=\"nu\">\n                            <h2>What our Simplicate tracker does now<\/h2>\n                                        <p>The current version has the basis of Toggl plus a number of things that have been adapted to our workflow:<\/p><ul><li>If a task spans multiple days, the app shows how many hours you still need to complete today to stay on track.<\/li><li>A small calendar view alongside it with your scheduled blocks.<\/li><li>Notification if no timer is running when you are scheduled, or conversely, if one has been running for several hours uninterrupted.<\/li><li>Warning a few minutes before a scheduled task begins.<\/li><li>Top: how many hours you should clock today, and how many you have clocked so far.<\/li><\/ul><p>The app is not mandatory for the team. Those who want to work without it can do so. Those who felt the extra Simplicate step was an unnecessary hassle use it daily.<\/p>                                <\/div>\n        \n\n        <div class=\"block is-content\">\n                            <h2>Work smarter with your own tools?<\/h2>\n                                        <p>Are you also encountering a process that could be smarter? Often there's a tool that no one builds because it seems \u2019too small\u2019. At <a href=\"https:\/\/fresh-dev.nl\/en\/services\/\">our services<\/a> is the designing and building of such internal tools baked in. Plan a <a href=\"https:\/\/fresh-dev.nl\/en\/schedule-an-advisory-meeting\/\">consultation<\/a> Then we'll help you think.<\/p>                                <div class=\"button-holder\">\n            <a href=\"https:\/\/fresh-dev.nl\/en\/contact\/\" class=\"button\">Contact us<\/a>\n        <\/div>\n                <\/div>\n        \n<\/div>\n    <\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Simplicate tracker als Mac-app: zo bouwden we &#8216;m met Swift, Claude Code en de Simplicate API. Vijf lessen uit ons eigen project.<\/p>","protected":false},"featured_media":1145,"template":"","meta":{"_acf_changed":false},"blog_category":[8],"class_list":["post-1117","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-tools-processen"],"acf":[],"_links":{"self":[{"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/blog\/1117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/media\/1145"}],"wp:attachment":[{"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/media?parent=1117"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/fresh-dev.nl\/en\/wp-json\/wp\/v2\/blog_category?post=1117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}