Treating task paralysis by removing traditional to-do lists
Most to-do apps make you decide where every task should live, and that open-ended sorting becomes its own source of stress. In this personal project, I designed Ontrack around goals instead of lists, with bounded Tracks, a separate priority column and fast task entry, and built a first prototype with agentic development.
Project Date: September 2023, Present
Team
Solo, self-initiated
Role
Founder and Product Designer
Platform
Web
Outcome
v1 Prototype with AI
The problem
Lists kinda suck
Conventional to-do apps place the full burden of organisation on the user, much like your computer’s folder system does. Every task requires several decisions: Which list does it belong to? Is this list still relevant? Where does it fit relative to other tasks?
This might not feel overwhelming at first, but it’s common to feel that your lists grow faster than they shrink, and this friction stops any meaningful work from getting done.
After almost a decade of experimenting with productivity apps, I noticed an inclination towards not using todo apps despite being inherently useful tools. This experience and my collection of anecdotal evidence over the last few years proved to me that the traditional approach to how we organise and manage tasks in most todo apps just sucks.
Problems I identified:
Open-ended lists don’t end. Without a goal state, these lists keep growing. There’s no moment of completion and no sense of progress, the two things essential to sustained motivation.
Sorting is a task in itself. Deciding how to organise tasks is a job of its own, and it requires planning to sort rather than just capturing a task and doing it quickly.
Priority gets lost. When important tasks and fluff tasks sit side by side, the visual weight of the list often hides what matters most right now.
Task entry isn't easy: Task creation isn't a quick experience, often requiring additional mental overhead in creating and organising the task.

Design approach
Structure that makes organisation simple
Ontrack is built on a two-tier structure: Tracks and Tasks. The hierarchy is designed to flow, making both capturing and then organising tasks feel intuitive and easy. Here, organisation at its core is driven by goals and clear completion where any task is an action that needs to happen, either on its own as a large goal or as a smaller part of another goal.
Tracks over lists. A Track is a goal-oriented container with an end state. When all its tasks are done, the Track is done. Unlike the open lists of every other to-do app, Tracks are bounded and completion is visible and real, which creates forward momentum. It also makes creating a Track very simple - Your track is simply the original intention or project behind the goal you had in mind.
Tasks belong somewhere. Every task lives inside a Track. The question “What list should this task sit in?” is replaced with “What do I need to do to complete this goal”. This is a much simpler, more intuitive thinking exercise that removes the sorting bottleneck entirely and keeps tasks goal-driven.
High priority, visually separate. High-priority tasks are pulled out of the main task flow into their own column, which is visually distinct and impossible to miss. The contrast isn’t aesthetic but an attention mechanism that helps users scan easily between their usual tasks and those that need more attention. Binary framing is also a much quicker thinking exercise than similar priority tools like the Eisenhower matrix.

Decisions
Small tweaks that reduce friction at every step
Several small decisions compound into a low-friction experience, particularly for users who find that early friction is enough to make them abandon a tool entirely, or avoid using it over time. A common problem identified was users often feel intimidated opening their tasks app if it isn't micromanaged religiously.
Then, anyone approaching a new task management tool faces the overhead of having to initially work out how tasks will be organised and managed for the foreseeable future: a very cognitively demanding task.
Fluid task entry. Tasks can be added in minimal steps, and the action is always placed in context with no mode switching or navigating to a new screen.
Goals as organisation, over structured lists. By swapping unmanageable lists for set goals, progress always moves towards completing something larger, and it adapts to the user’s current life circumstances and priorities. Every piece of content a user creates moves them closer to their personal goals.
Archiving over deleting. Completed Tracks can be archived rather than destroyed, preserving a sense of accomplishment and history. It’s a subtle but meaningful gesture towards wellbeing, and it helps reduce the anxiety of hard work disappearing.
The outcome
A system that earns trust by just working
The core principle of Ontrack is that productivity should feel like relief, not administration. By building structure into the model (bounded Tracks, visual priority separation, and a core user loop focused on goals and completion rather than micromanagement), the app reduces the cognitive overhead of productivity to its minimum viable form, addressing potential task paralysis. Every design decision is intentional to help lead users into a productivity methodology that makes sense and is easy to approach. I wanted to measure outcomes via natural beliefs, feelings and intuitive understandings developed while using Ontrack myself. Here's the outcome discovery:
Reduced decision fatigue: By removing the need to sort before capturing, I spent less mental energy on organising and more on doing. Overall, I felt myself completing more tasks and able to navigate through my required work better than the comparative tool (TickTick).
Clearer daily priority: Visually separating high-priority tasks means urgent work is never buried beneath a wall of lower-stakes items and managing daily task from top-to-bottom was easier to handle higher priority tasks first through the visual differentiation. However, I still found myself slightly overwhelmed at the sight of a list of tasks each Today especially once they moved into becoming overdue.
Structure that scales: Adding and managing tracks was a breeze, but I still found an issue with prolonged Tracks that started to build up in my list. For short-term projects and goals, the Track system was highly preferential over traditional lists.

Building with AI
I’m continuing to build Ontrack first and foremost as a personal tool, but soon to be open with AI building alongside me. To ensure AI is solely the bridge between design and interactive product over making design decisions and interpretations on UX and UI, I established some rules and guidelines via a personal system called SuperStar:
Figma and written prompts are the source of truth
Every input starts from my designs and my written direction. This gets logged into a shared documentation folder across every Claude session, meaning context is never lost. These shared docs mean AI works from the same documentation I do, so if either of us make changes or introduce something, that context is always there for us to build off of.
Native vs. AI-Interpreted Design
Anything the AI interpreted rather than built from a design is marked, and that list becomes my design backlog. This means I can design the design system and UI flows concurrently with the builds, without needing one stage before the other. This become increasingly useful as more experimental features may have had existing documentation but no attached designs. AI could build the feature off the given context, and then I determine if it's worth fleshing out via designs or remove entirely, providing rapid prototyping and design iteration. All design tokens, components and the design system as a whole follows a similar system, so the source of truth vs. AI-generated content is always apparent. The AI can fill a gap so the build keeps moving, but the gap stays open until I’ve designed it properly.
Global Tasks and Decisions
As above, there's a single spot for all tasks and decisions. Every decision made by either the AI or me is taken note of with attached context, so any decision can be backtracked or reassessed in the future turning development into a dynamic system over a procedural process. Global tasks also meant that task delegation happens between me, AI and subagents without any party losing focus or foresight into the design process. AI or myself can choose to tackle a task and find missing gaps in the production and design.
Dilan Omer © 2026. I had no idea what to include in the footer


