>
Business Tech

Super Productivity, self-hosted, finally a to-do app that stays

I have tried every to-do app since 2014. Todoist. Things. TickTick. Notion. Trello. Microsoft To Do. Apple Reminders. I bounced between them every six months, never quite settling, never quite getting the friction down to zero. Last spring I moved my whole task list onto Super Productivity, a free open-source app I run on a UGREEN NAS, and I have not opened any of the other apps since. That is a year of consistency, which is a personal record.

The reason I kept bouncing was that the paid apps all wanted to be the center of my day. They wanted to track my time, send me reminders, organize my projects, integrate with my calendar, and “help me build better habits.” I do not need help building better habits. I need a list of things I have to do, the ability to mark them done, and a way to see what is coming up tomorrow. Super Productivity does those three things and nothing else, and that is exactly the right scope for me.

What Super Productivity actually is

Super Productivity is a self-hosted task manager. It is built as a single-page web app, the source is on GitHub, the license is MIT, and the maintainer is responsive on the issue tracker. The app handles tasks, projects, time tracking, and a Pomodoro timer (a focus technique where you work for 25 minutes and take a 5-minute break, repeating the cycle). It does not handle habits, goals, journals, or “second brain” features. I tried those features in other apps, I never used them, and I am glad Super Productivity does not have them.

The interface is a three-pane layout. The left pane has your project list. The middle pane has the tasks in the current project, sorted by due date and priority. The right pane has the detail view for the selected task, including notes, subtasks, and the time tracker. The whole thing is keyboard-driven, which is the single biggest reason I stuck with it. I can add a task, set a due date, and start the timer without touching the mouse.

The data model is straightforward. You have projects. Projects have tasks. Tasks have notes, subtasks, due dates, and time entries. That is the whole model. There is no “section” or “phase” or “milestone” abstraction. If you need those, you nest projects inside projects, which is the right level of complexity for the way I work.

Why I picked the self-hosted version

Super Productivity also has a hosted version at super-productivity.com, and I tried it first. The hosted version is fine, the price is free, and the company is small enough that I trust them with my task data. The reason I self-hosted is the export story. On the hosted version, my data is in a database I cannot read. On the self-hosted version, my data is in a SQLite file I can copy to a USB drive and open on a laptop I have never connected to the internet.

I also wanted the data to live on the same hardware as the rest of my self-hosted stack. My calendar is on the NAS, my notes are on the NAS, my password manager is on the NAS, and my file sync is on the NAS. Adding the task manager to the same box means the whole stack is in one place, and a single backup captures everything. The hosted version would have worked, but the self-hosted version fits the pattern I have already built.

The privacy argument is real but secondary for me. I do not think the Super Productivity team is going to leak my task data, and even if they did, the data is “write a blog post” and “fix the kitchen faucet,” which is not exactly high-value to a bad actor. The reason I self-hosted is the data ownership and the single-backup story, not the privacy.

What the install actually looks like

The install is a single Docker container. The image is on Docker Hub, the documentation is on the GitHub page, and the whole thing takes about ten minutes from a fresh pull to a working app. The data lives in a volume mount, so backups are a copy of one directory. The reverse proxy setup is the same as the rest of my self-hosted apps: Caddy on the NAS, Let’s Encrypt for the certificate, and a domain name I already own.

The first thing I did after the install was import my old Todoist data. Super Productivity has a Todoist importer that reads the standard Todoist CSV export. The import took about thirty seconds for 600 tasks. The dates, priorities, and project structure all came through correctly. The only thing I had to fix manually was the labels, which the importer dropped because Todoist labels and Super Productivity tags do not map cleanly. I added tags to about 30 tasks by hand, which took maybe fifteen minutes.

Setting up the keyboard shortcuts was the second thing. The default shortcuts are sensible, but I changed a few to match the way I work. The “add task” shortcut is now Ctrl+Shift+A instead of the default n, because n is too close to my text editor’s “new file” shortcut and I kept hitting it accidentally. The “start timer” shortcut is now Ctrl+Shift+T, which I press about twenty times a day. The shortcuts are configurable per-user, and the configuration screen is the second thing I open on any new install.

What I gave up by moving off Todoist

Todoist has a feature called “natural language date entry” where you type “tomorrow at 3pm” and the app parses it. Super Productivity does not have this. I have to click the date picker, navigate to the right day, and click the time. It takes about four extra seconds per task. I add about ten tasks a day, so the total cost is about forty seconds. I do not miss the natural language parser.

Todoist also has a better mobile app. The Super Productivity mobile app is a thin wrapper around the web interface, and the touch targets are sized for a mouse, not a thumb. I do almost all of my task management on a laptop, so this does not matter to me. If you are a heavy mobile user, this would matter. The fix is to use the mobile web interface in full-screen mode, which gives you a usable experience but not a native-app experience.

The third thing I gave up is the integrations. Todoist integrates with Gmail, Slack, GitHub, and about thirty other services. Super Productivity integrates with GitHub, GitLab, Jira, and OpenProject. I do not use Gmail for task management, and I do not use Slack, so the missing integrations do not matter to me. If you do, the gap is real and you should think about it before moving.

The data portability story is the upside. Every task, every project, every time entry, and every note in Super Productivity is in a JSON file. I can copy the file to a USB drive, open it in a text editor, and read it. I can move the whole stack to a new server in an afternoon. I can write a five-line Python script to convert it to CSV, Markdown, or any other format. I cannot do any of that with Todoist, which stores data in a way that requires a paid plan to export in bulk.

A few other things I self-host alongside it that play the same role:

  • Nextcloud for files, calendar, and contacts. The calendar feeds into Super Productivity’s “Today” view, so I see meetings and tasks in one place.
  • Paperless-ngx for documents. Anything I want to keep long-term, I scan, OCR, and tag. The search is fast, the export is plain PDF.
  • Vaultwarden for passwords. The browser extension autofills, the mobile app syncs, and the data is on my hardware.
  • Gitea for code and notes. Lightweight, single binary, works on a Raspberry Pi. The issue tracker is good enough for personal projects.

The day-to-day workflow

A typical morning: I open Super Productivity, look at the “Today” view, and see the four tasks I have to do. I pick the first one, start the timer, and work until the timer hits 25 minutes. I take a 5-minute break, start the timer again, and work for another 25 minutes. When the task is done, I mark it complete and the time entry is logged. Total time from “open the app” to “working on the first task” is about 15 seconds.

A typical afternoon: I open Super Productivity, look at the “Inbox” view, and process the new tasks that came in during the day. I add each one to a project, set a due date, and pick a priority. The processing takes about five minutes for 10 tasks. The rest of the afternoon, I work through the “Today” view the same way I did in the morning.

On Sundays I open the “Week” view instead. I see what is coming, I move tasks around to balance the load, I notice that I have three deadlines on Friday that I should have started on Monday, and I move them. The week view is the only planning I do. I tried daily reviews, weekly reviews, and monthly reviews in other apps. I never did them. The Sunday night glance is the one planning habit that has stuck for a year.

What I would tell past me

If I could send a message back to the version of me that was bouncing between Todoist and Things every six months, I would say three things.

  • The bottleneck is the number of features, not the number of apps. Todoist had every feature I ever wanted. I did not use 90% of them. The right tool is the one that has the features you actually use, not the one with the longest feature list.
  • Self-hosting the boring stuff is easier than it looks. The install for Super Productivity took ten minutes. The data migration took an hour. The total setup was a Saturday afternoon, and I have not touched it since. I spent more time deciding to switch than actually switching.
  • A task manager is a tool, not a habit. It does not need to be “engaging” or “delightful.” It needs to be fast, keyboard-driven, and reliable. Super Productivity is all three. I do not love it. I use it every day. That is the highest compliment I can pay a tool.

Trade-offs

Super Productivity on a NAS is not free in mobile. The web interface is keyboard-driven, and the touch targets on the mobile web view are sized for a mouse, not a thumb. If you are a heavy mobile user, this is a real cost. The fix is the mobile web view in full-screen mode, which is usable but not native.

If you live and die by your phone, this is not the app for you. Stick with Todoist or TickTick. If you do most of your task management on a laptop and you want a self-hosted tool that does the basics well, Super Productivity is the right answer. The maintenance is about 30 minutes a year (upgrades, backups, the occasional config tweak), and the data ownership is worth the cost.

The migration took about an hour, most of it the data import. The thing that was easier than expected was the Todoist CSV import. The thing that was harder than expected was the keyboard shortcut customization, because I had to figure out which shortcuts I actually wanted before I could set them.

If you have been bouncing between task apps for years and you want to stop, Super Productivity is the one to settle on. It is the first app I have used for more than six months in a decade, and I do not see myself leaving.

Leave a comment