Hi, I’m Vladimir Golovin, the founder of Matterlist. Some of you may also know me as the founder of Filter Forge. My life would fall apart without a robust to-do app, and that’s why I spent three years of my life building Matterlist.
Here’s my story in a nutshell: I created Matterlist because I can't live without a proper to-do app. I adopted Astrid (way back in 2012), but Yahoo bought and closed it. I switched to Wunderlist and it sort of worked for me, but I hated it because it drove me mad. I tried to switch to other apps — same thing.
At that point, I decided to create a Wunderlist replacement. I wrote a huge spec (~300 pages!), hired a team, funded it from my own pocket, and, after 3 years of work, created Matterlist, which, for me, works really great. Now I want to find out if it works for other people too, so please give it a try!
Astrid and the Switch to Wunderlist
I was an Astrid user back in 2012. It was my first experience with a mobile to-do list app, and it was how I came to realize that having a to-do list with me at all times is absolutely essential to my productivity. David Allen, the author of Getting Things Done, was right — the best place for a “capture device” is in your pocket, and a smartphone app is the perfect way to meet that requirement.
In 2013, Yahoo suddenly bought Astrid and shut it down. I had several hundred tasks in Astrid, so I was in a panic and had to scramble for another to-do list app.
After a frantic search, I settled for Wunderlist. I wasn’t overly impressed by it, but their import from Astrid worked well enough. Reluctantly, I decided to stay with it until a better replacement came along. Unfortunately, it never did.
Problems with Wunderlist
I’d been using Wunderlist as a daily driver since 2013, but every day I became more and more frustrated.
Why can’t I hide the tasks that are irrelevant to the present moment? Why am I forced to litter my list with unnecessary and annoying due dates when all I want to do is postpone my tasks,the majority of which are dateless by nature? Why can’t I just jump directly to a day to see what tasks I have scheduled for it, or simply add a task for that day? Why do I have to walk on eggshells around recurring tasks, worrying about messing up their future recurrences by accidentally editing or deleting them? And why, in the era of responsive UI design, must I shorten my to-dos so they’ll fit into Wunderlist’s single-line limit!?
I did try other apps. My first choice was Todoist. It’s a very mature, well-designed, polished app, with tons of features and a great team behind it, but alas — Todoist didn’t work for me at all. Under all the polish, I found the same shortcomings that had frustrated me in Wunderlist. I continued exploring other apps but none satisfied my needs. In desperation, I even tried to go back to an open-source Astrid clone, but it became apparent to me that I had outgrown the Astrid paradigm — it simply wasn’t enough for me anymore
I had to do something. I started sketching The One True App to Rule Them All.
One day, in the summer of 2015, I was attending a local coding event and met up with Viktor Petrenko, the developer who had done important work for Filter Forge, but later went on to work for another company so he could explore full-stack web development. As we were eating lunch, I learned that he and his colleague were the founders of a software development company that offers development services — and they had availability in their schedule.
Right then and there, I knew I had to start my project immediately, or I might never get around to doing it.
I knew Viktor as very competent and trustworthy. He had done a great job at Filter Forge, and I completely trusted that he and his team would deliver a great product.
I hired the guys on the spot, right in the middle of our lunch.
The Foundational Ideas of Matterlist
Every founder is pissed off at something. In my case, I was pissed off at all the irrelevant stuff on my to-do list that was draining my energy. I’m easily distracted, and unless I’m deep in “the zone,” I have to make a conscious effort to stay focused on the task at hand. My attention is my primary resource, so conserving it and directing it in a constructive way is my highest priority. I designed Matterlist to reflect that concept right from the start.
Here’s what I needed:
- I only want to see tasks I can do right now. Any tasks that are irrelevant to the present moment should be hidden from my Today / Now list. I don’t want “Vacuum the living room” on my list when I’m not at home.
- I need tools for quickly decluttering my list back to relevance. If a task belongs to another day, I need to be able to move it there quickly. If a task requires a different context, e.g., “At Work,” I want it to automatically appear on my list when I’m actually at work. If a task is a subtask of a higher-level project I’m not working on at the moment, I want to collapse the project and hide all its subtasks so they won’t consume my attention with irrelevant details.
- I need forward visibility into the future. All future days must be addressable: I need to be able to jump directly to any date to see what tasks I have for that day — including recurring tasks.
- I need subtasks to help me break down complex tasks, and subtasks must be first-class. That is, they should have all the attributes of a regular task — priorities, hide-until and due dates, notes, contexts, and even their own subtasks! This means that subtasks can be snoozed, moved to another day, or assigned a context so they’ll automatically show up on my list at the right moment.
- I need painless recurring tasks. I never want to worry about messing up future instances of a recurring task by deleting, snoozing or editing it. Recurrent tasks must behave exactly like regular tasks and support the same actions. And like regular tasks, they must be visible on the timeline when I select a future day.
- I’m never forced to assign due dates. Due dates must be reserved for tasks with hard deadlines. They must not be used for postponing / snoozing tasks. Any tasks that don’t have inherent due dates must stay dateless — but I still need the ability to snooze them if I want.
- Mobile first. My to-do list must be with me, at all times. All functions and features should be originally designed for mobile, then ported to web and desktop.
- Personal use first, collaboration later. I honestly don't understand why people use to-do apps to manage teams when Trello and Asana exist. So, nail personal use first. Make an ideal personal to-do app, and consider any collaboration features only after that — and make sure they don't compromise personal use.
- Nail core principles first, polish later. At the beginning, the app may be rough around the edges, and it may lack certain quality-of-life features, but it must get the core principles right.
Now, how would I turn all those needs into a working product?
300 Pages of Specs
"Weeks of programming can save you hours of planning".
Joel Spolsky, a co-founder of Stack Overflow and Trello, is a big fan of specifications. As he puts it, "Failing to write a spec is the single biggest unnecessary risk you take in a software project. It’s as stupid as setting off to cross the Mojave desert with just the clothes on your back, hoping to “wing it.”
I completely agree with Joel’s perspective, so before we started any coding, I wrote a specification. As of this writing, the main spec is 269 pages, the spec on the account and paid plan is 38 pages, and the spec on drag-and-drop and task hierarchies is 28 pages. 335 pages in total.
Some of you may say, “Come on! This is an agile era; move fast, break things, nobody needs no stinking specs!” However, it was simply impossible for me to deal with all the interplay between the major systems of Matterlist (Subtasks, Contexts, Hide-Until and Recurring Tasks) via iterative development. I had to think it all through in advance and get it down on paper.
So far my experience with this approach has been very positive. The spec acts as my spokesperson: when developers want to clarify something, the spec answers the vast majority of questions instead of me.
However, as things proceeded according to plan, a major doubt remained in my mind: What if the overall approach to personal productivity I had chosen for Matterlist was wrong?
Trial by Fire
Matterlist’s first real test occurred on a cold Friday afternoon in January, 2017. I finally received the first fully-functional build from the developers, and they wanted me to test it. I had also just received two incorporation drafts from the lawyers, and I needed to review them. Worst of all, my father was being urgently transported to the hospital due to a medical crisis stemming from his late-stage cancer.
I was suddenly dealing with a rapidly expanding and constantly shifting list of critical, life-or-death tasks, amidst constant distractions. I knew that I wouldn’t be able to handle it all using Wunderlist (my daily driver back then). I decided to switch to Matterlist — after all, I had built it to handle days like this.
It worked. I was blazing through the day like a machine, unfazed by the stresses and distractions. Get nurse for blood infusion, check. Get list of supplies from doctor — Damn, she’s on a break — OK, hide-until, 1 hour. Is she back? Yes! Check. Go to pharmacy, buy bandages, saline, napkins, check-check-check. Review drafts from lawyers — hide-until, 3 days. Tell lawyers I won’t be reviewing the drafts today, check. Matterlist crashes. Restart. Tell devs that app crashes but I need it right now so fix ASAP, check.
Thankfully my father’s situation stabilized. I sat by his hospital bed watching him fall asleep as his IV trickled into his bloodstream. My mind began to regain its ability to contemplate all the other events that had happened during the day, and it became clear that the app I spent years developing from concept to reality had just saved my sanity during an extremely stressful day.
I switched from Wunderlist to Matterlist that very day and have never looked back.
The Long Run
Despite the glitches and shortcomings typical in beta versions, Matterlist works ridiculously well. All the decisions and approaches we implemented in Matterlist have paid off in spades.
Still, I can’t help but wonder: Maybe it’s just me? Will Matterlist work the same way for other people? The only way to find out is to release the app to the wider world, which is what we’re doing right now.
Building a to-do list app as a money-making business is a dumb idea. There are hundreds, if not thousands of to-do apps already. However, I’m not in this for the money (although I would definitely appreciate it). As long as the company stays in the black and is able to sustain future development, I’ll be happy. Until that happens, I’ll keep funding it from my own pocket.
I'm not afraid of long timelines. If Filter Forge taught me anything, it's that good software is very long-lived. As of this writing, Filter Forge has been on the market for over 10 years! I have many reasons to believe that Matterlist will have similar longevity. My life would fall apart without a proper to-do app, so I’m here for the long run.