>
Software

This To-Do App Tracks Your Time, Handles Jira, and Collects Zero Data

I’ve been looking for a to-do app that does three things: tracks time on each task, syncs with the Jira board my team uses, and does not ship my data to a server in a country I have no control over. The short version of this article is that I found one, and the longer version is that I want to explain why the design decisions that produced it are the reason I trust it, and the cost of those decisions is the reason most people won’t use it. The app is called SuperProductivity, and the case for it is also a case for the open-source approach to personal productivity software.

What it does, in one paragraph

SuperProductivity is an open-source task manager that runs in the browser or as an Electron app (a desktop application built using web technologies – HTML, CSS, and JavaScript – packaged to look like a native program). It has all the features of Things or Todoist – nested tasks, tags, projects, due dates, recurring tasks, keyboard shortcuts – and it adds time tracking with a built-in timer, a Pomodoro mode (a time-management method that breaks work into 25-minute focused intervals), and a reporting view that shows where your hours went. It also integrates with Jira, GitHub, GitLab, and a handful of other developer tools, which means the tasks from your work tracker can show up in the same list as your personal errands. The killer feature, for me, is that all of this lives in a local IndexedDB store (a browser-based database that keeps data on your own device rather than on a remote server) by default. There is no account. There is no cloud sync. The data is yours, on your disk, encrypted with a passphrase you set.

Why “zero data collection” is the part that matters

The privacy story is not a marketing line. The app’s GitHub repository makes it explicit: there is no analytics, no telemetry, no error reporting, no update checks, no usage tracking. The only network requests the app makes are the ones you configure, which are the integrations you set up. If you don’t set up an integration, the app is offline-only. If you do, the integration talks to the service you chose, and only to that service. The author, Johannes Millan, is a German developer who has been working on the project for over a decade. He funds it via GitHub Sponsors and does not have a venture-funded company behind the app. The incentives are aligned with the design.

I want to be specific about what “zero data collection” means in practice, because the phrase gets used a lot:

  • The app does not phone home. I have run it with the network tab open for a week, and the only outbound requests were to the Jira instance I configured.
  • The app does not have an account system. There is no email, no password, no profile. You install it and use it.
  • The app does not sync your data to a cloud server. If you want sync, you have to set it up yourself – either by hosting your own instance, or by using a third-party sync service.
  • The app does not include third-party analytics. There is no Google Analytics, no Mixpanel, no Segment. The codebase does not import a single analytics SDK.
  • Crash reports and error logs are local. If the app crashes, the error is in the developer console, not in someone’s SaaS dashboard.

The reason this matters is that every other to-do app I have used in the last five years has at least one of those, and the ones that don’t have a clear policy on what they collect have a vague policy that says “we may collect diagnostic data to improve the service.” That phrase is doing a lot of work. The data is being sold, shared, or used to train a model, and the user is the raw material.

What the time tracking actually does

The time tracking feature is the one I underestimated. Each task has a timer button. You click it when you start, click it again when you stop. The app records the interval. You can run multiple timers at once if you have multiple work streams, and the app splits the time across them. The reporting view shows the totals per project, per tag, and per day. The data is exportable as CSV (a comma-separated text file that opens in any spreadsheet program), and the export is a button, not a “request a data export” email.

The time tracking is also the feature that makes the Jira integration worth having. I can start a timer for a Jira ticket, the ticket gets updated with the time I logged, and the local time-tracking view shows the same interval. The result is a single time log that I can read in two places. That is the integration I wanted, and it is the integration the productivity apps I tried before did not have.

What the Jira integration actually does

The Jira integration is more limited than the Atlassian-native experience, and more limited than the marketing copy suggests. Here is what it does, in order of how often I use it:

  • Pulls assigned tickets from a configured Jira project into the local task list. The tickets show up as read-only tasks, and I can convert them to local tasks if I want to track time on them.
  • Pushes time logs from the local timer to the Jira worklog. The push happens when the timer stops.
  • Creates Jira tickets from a local task. Useful for the “I noticed a thing while doing something else” workflow.
  • Syncs status changes. When I close a Jira ticket, the corresponding local task is marked complete.
  • Does not support Jira automation rules, custom workflows, or board configurations.

The integration is built on Jira’s REST API and works with both the cloud and self-hosted versions. The cloud version requires an API token, which you generate in your Atlassian account. The setup is in a settings panel, with help text that walks you through the OAuth (a standard protocol for letting one app act on your behalf with another service, without sharing your password) flow. It took me about ten minutes to get working.

How to actually install it

There are three ways to run SuperProductivity, and the choice matters because the data model is the same but the trust model is different.

  • The official web app at super-productivity.com is a hosted version. The data is still local to the browser, but the hosting provider is a third party.
  • The Electron desktop app (Electron is a framework that wraps web apps into installable desktop programs) is a packaged version you can download from the GitHub releases page. The data is stored in your local user profile. This is the version I use, and the version I recommend.
  • The self-hosted version is a Docker container (a lightweight, portable package that bundles an app with everything it needs to run) you can run on your own server. The data is in the container’s volume. This is the version to use if you have multiple machines and want sync.

The first two versions require no setup. The third requires Docker and a willingness to manage a container. The Electron app is the right default for most people, and the self-hosted version is the right choice if you want sync and have a server to put it on.

Trade-offs

The honest list of trade-offs is the reason most people will not use this app, and the reason I trust it.

  • No sync by default. If you use the Electron app on two machines, the data does not sync. The fix is the self-hosted version, which is more work. The trade-off is that the alternative (built-in cloud sync) is also a privacy leak.
  • The UI is functional, not pretty. The design is utilitarian, and the app does not have the polish of Things or Todoist. If you care about a beautiful interface, this is not the app for you.
  • The mobile app is a thin shell. There is an Android app and a community iOS app, and both are limited compared to the desktop version. If you live on your phone, this is not the right tool.
  • The integrations are developer-focused. Jira, GitHub, GitLab, and a few others are first-class. Calendar and email are not first-class. If you do not live in a developer tooling, the integrations are less useful.
  • The documentation is good but not great. The wiki on GitHub covers most of the features. The advanced features are documented in blog posts. If you want a polished help center, look elsewhere.

The pattern is the same one I see in every open-source productivity tool I have used. The privacy and the data ownership are real. The polish and the integrations are not. The choice is between a tool that respects you and a tool that looks good in a marketing screenshot. Most people pick the marketing screenshot. I have stopped doing that, and the result is a workflow I trust.

Who this app is for

The use case is narrow. SuperProductivity is the right tool for a developer or technical user who:

  • Wants to track time on tasks without shipping that data to a SaaS (Software as a Service – apps you access over the internet that store your data on the vendor’s servers) vendor.
  • Uses Jira or GitHub for work, and wants the personal time log and the work tracker to be in the same place.
  • Is willing to trade a polished UI for a tool that does not have a backend (a backend is the server-side component of an app that handles data storage, authentication, and business logic) harvesting their data.
  • Has the patience to deal with occasional rough edges.

If you are not in that group, Todoist or Things or TickTick is a better choice, and I will not pretend otherwise. The point of this article is not “everyone should switch.” The point is that the open-source approach to personal productivity software is a real option, and the apps that come out of it are not the marketing-deck fantasies that the press usually covers. They are tools. They do the job. They do not collect your data. That is the case for SuperProductivity, and the case for the broader category of apps I think the productivity-software market needs more of.

Leave a comment