As someone who absolutely thrives on the ability to cross things off her to-do list, a solid to-do list app has been a must for me for a long time. I’ve played around with almost every to-do list app out there, but one always stuck out to me – Todoist. Then over the past year, I foun a new app, Things 3, and abadoned my love for Todoist. I wanted to share why I left Todoist and why I’m going back.

1. My History with Todoist
The first time I really dove into Todoist was back in junior year of college. With 18 hours and many papers (I think I wrote about 15 papers for finals instead of test), plus the final round of edits for The Assassin, and a part time job, I was busy.
I had my Day Designer and I’m still a sucker for paper planners. But I don’t always have my planner with me, and needed a way to be able to add stuff to my phone on the fly and get reminded when I needed to do it.
I’m not sure what first drew me to Todoist over other to-do apps, but I quickly got hooked on Karma points (I’ve talked about Karma points in this post).
Quickly, I started adding everything to the app and started racking up those karma points. It took me a little over three years to hit the top status of “Enlightened” and that was almost the beginning of the end for me and my love affair for Todoist.
Related Post: How Todoist Helps Me Get Shit Done
2. Why I Left
Besides karma points, my favorite feature in Todoist is the streaks. At some point in 2017, when I was getting so close to hitting the “Enlightened” status, I lost my streak.
As silly as it is, I was pretty annoyed that I was going to have to build it all up again. Between this and the karma points coming to an end (in terms of new statuses), I found myself starting to wonder.
Then Things 3 came into the scene.
Related Post: Apps I Love – Things 3
3. Damn, this app is pretty
I’m a sucker for a pretty app. And Things 3 is a slicker looking app. While Todoist is paid for on an annual subscription, Things 3 is a one-time payment. The Mac app itself is $50 (USD) and it has separate iPhone and iPad apps.
That’s a lot of money to drop on a nice looking app, but I bought the Mac and iPhone apps and started playing around.
It took me over a year of switching back and forth between apps, unable to make my mind.
Then last summer, I moved back in with my grandparents for a few months to save some money. With no desk and just a bed in the bedroom, I got lazy and never paid attention to my streaks in Todoist.
Which led me to realize, if that wasn’t going to keep me in the app, what was the point of paying for it? During that productivity lapse, where I’d get a lot done on the weekends and nothing during the week, I jumped head first, fully committed to Things 3.
4. Why it’s Time to Come back.
About a week or so ago, I realized I had over thirty tasks to do in Things 3 because I just didn’t ever look at the app. I’ve been semi-committed still to Todoist because I use it with my roommate for grocery lists (she does not have an iPhone and Things 3 is an Apple-only app).
So why did I go back to Todoist? It’s easier to use one app instead of two. Apps should make your life easier, not more difficult.
I no longer work at Apple and don’t have access to Things 3 on my work computer. If I want to add tasks at work, it’s super easy to do with Todoist.
The keyboard shortcuts for Todoist are basically engrained into my brain just like typing. Talk about some muscle memory.
There are a lot of things I still love about Things 3, and at some point, I may go back. I’m not shutting the door on that for forever. But having spent so long with Todoist, I’ve realized I get a lot more done with that app than I do Things 3. For someone who thrives on her to-do list, I needed something that works.
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,700italic);
</style>
<style type="text/css">
/* LOADER */
.ml-form-embedSubmitLoad {
display: inline-block;
width: 20px;
height: 20px;
}
.ml-form-embedSubmitLoad:after {
content: " ";
display: block;
width: 11px;
height: 11px;
margin: 1px;
border-radius: 50%;
border: 4px solid #fff;
border-color: #ffffff #ffffff #ffffff transparent;
animation: ml-form-embedSubmitLoad 1.2s linear infinite;
}
@keyframes ml-form-embedSubmitLoad {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#mlb2-1058902.ml-form-embedContainer {
box-sizing: border-box;
display: table;
height: 99.99%;
margin: 0 auto;
position: static;
width: 100% !important;
}
#mlb2-1058902.ml-form-embedContainer h4,
#mlb2-1058902.ml-form-embedContainer p,
#mlb2-1058902.ml-form-embedContainer span,
#mlb2-1058902.ml-form-embedContainer button {
text-transform: none !important;
letter-spacing: normal !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper {
background-color: #e5ecf4;
border-width: 0px;
border-color: transparent;
border-radius: 4px;
border-style: solid;
box-sizing: border-box;
display: inline-block !important;
margin: 0;
padding: 0;
position: relative;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper.embedPopup,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper.embedDefault { width: 710px; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper.embedForm { max-width: 710px; width: 100%; }
#mlb2-1058902.ml-form-embedContainer .ml-form-align-left { text-align: left; }
#mlb2-1058902.ml-form-embedContainer .ml-form-align-center { text-align: center; }
#mlb2-1058902.ml-form-embedContainer .ml-form-align-default { display: table-cell !important; vertical-align: middle !important; text-align: center !important; }
#mlb2-1058902.ml-form-embedContainer .ml-form-align-right { text-align: right; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedHeader img {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
height: auto;
margin-top: 0 !important;
margin-bottom: 0 !important;
max-width: 710px!important;
width: 100%;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody {
padding: 20px 20px 0 20px;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody.ml-form-embedBodyHorizontal {
padding-bottom: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent {
margin: 0 0 20px 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent h4,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent h4 {
color: #0012cc;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 30px;
font-weight: 400;
margin: 0 0 10px 0;
text-align: left;
word-break: break-word;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent p,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent p {
color: #000000;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20px;
margin: 0 0 10px 0;
text-align: left;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent ul,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent ol,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent ul,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent ol {
color: #000000;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 14px;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent p a,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent p a {
color: #000000;
text-decoration: underline;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedContent p:last-child,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-successBody .ml-form-successContent p:last-child {
margin: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody form {
margin: 0;
width: 100%;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-formContent,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow {
margin: 0 0 20px 0;
width: 100%;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-formContent.horozintalForm {
margin: 0;
padding: 0 0 20px 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow {
margin: 0 0 10px 0;
width: 100%;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow.ml-last-item {
margin: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow.ml-formfieldHorizintal {
margin: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input {
background-color: #ffffff !important;
color: #333333 !important;
border-color: #cccccc !important;
border-radius: 4px !important;
border-style: solid !important;
border-width: 1px !important;
font-size: 14px !important;
height: 40px;
line-height: 20px !important;
margin-bottom: 0;
margin-top: 0;
padding: 10px 10px !important;
width: 100% !important;
box-sizing: border-box !important;
max-width: 100% !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input::-webkit-input-placeholder,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input::-webkit-input-placeholder { color: #333333; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input::-moz-placeholder,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input::-moz-placeholder { color: #333333; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input:-ms-input-placeholder,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input:-ms-input-placeholder { color: #333333; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-fieldRow input:-moz-placeholder,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input:-moz-placeholder { color: #333333; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow {
height: 42px;
}
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal { width: 70%; float: left; }
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-button-horizontal { width: 30%; float: left; }
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .horizontal-fields { box-sizing: border-box; float: left; padding-right: 10px; }
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow input {
background-color: #ffffff;
color: #333333;
border-color: #cccccc;
border-radius: 4px;
border-style: solid;
border-width: 1px;
font-size: 14px;
line-height: 20px;
margin-bottom: 0;
margin-top: 0;
padding: 10px 10px;
width: 100%;
box-sizing: border-box;
overflow-y: initial;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button {
background-color: #0806fb !important;
border-color: #0806fb;
border-style: solid;
border-width: 1px;
border-radius: 4px;
box-shadow: none;
color: #ffffff !important;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 14px !important;
font-weight: 700;
line-height: 20px;
margin: 0 !important;
padding: 10px !important;
width: 100%;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-horizontalRow button:hover {
background-color: #0543bc !important;
border-color: #0543bc !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow input[type="checkbox"] {
display: inline-block;
float: left;
margin: 1px 0 0 0;
left: 0;
top: 0;
opacity: 1;
visibility: visible;
appearance: checkbox !important;
-moz-appearance: checkbox !important;
-webkit-appearance: checkbox !important;
position: relative;
height: 14px;
width: 14px;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow .label-description {
color: #000000;
display: block;
font-family: 'Open Sans', Arial, Helvetica, sans-serif;
font-size: 12px;
text-align: left;
padding-left: 25px;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow label {
font-weight: normal;
margin: 0;
padding: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow label a {
color: #000000;
text-decoration: underline;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow label p {
color: #000000 !important;
font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
font-size: 12px !important;
font-weight: normal !important;
line-height: 18px !important;
padding: 0 !important;
margin: 0 5px 0 0 !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow label p:last-child {
margin: 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit {
margin: 0 0 20px 0;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button {
background-color: #0806fb !important;
border: none !important;
border-radius: 4px !important;
box-shadow: none !important;
color: #ffffff !important;
font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 20px !important;
height: 40px;
padding: 10px !important;
width: 100% !important;
box-sizing: border-box !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button.loading {
display: none;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-embedSubmit button:hover {
background-color: #0543bc !important;
}
.ml-subscribe-close {
width: 30px;
height: 30px;
background: url(https://bucket.mlcdn.com/images/default/modal_close.png) no-repeat;
background-size: 30px;
cursor: pointer;
margin-top: -10px;
margin-right: -10px;
position: absolute;
top: 0;
right: 0;
}
.ml-error input {
background: url(https://bucket.mlcdn.com/images/default/error-icon.png) 98% center no-repeat #ffffff !important;
background-size: 24px 24px !important;
}
.ml-error .label-description {
color: #ff0000 !important;
}
.ml-error .label-description p {
color: #ff0000 !important;
}
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p,
#mlb2-1058902.ml-form-embedContainer .ml-form-embedWrapper .ml-form-embedBody .ml-form-checkboxRow.ml-error .label-description p:first-letter {
color: #ff0000 !important;
}
@media only screen and (max-width: 710px){
.ml-form-embedWrapper.embedDefault, .ml-form-embedWrapper.embedPopup { width: 100%!important; }
.ml-form-formContent.horozintalForm { float: left!important; }
.ml-form-formContent.horozintalForm .ml-form-horizontalRow { height: auto!important; width: 100%!important; float: left!important; }
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal { width: 100%!important; }
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .ml-input-horizontal > div { padding-right: 0px!important; padding-bottom: 10px; }
.ml-form-formContent.horozintalForm .ml-button-horizontal { width: 100%!important; }
.ml-form-embedHeader { display: none !important; }
}
</style>
<style type="text/css">
@media only screen and (max-width: 710px) {
.ml-form-formContent.horozintalForm .ml-form-horizontalRow .horizontal-fields {
margin-bottom: 10px !important;
width: 100% !important;
}
}
</style>
<div id="mlb2-1058902" class="ml-form-embedContainer ml-subscribe-form ml-subscribe-form-1058902">
<div class="ml-form-align-center ">
<div class="ml-form-embedWrapper embedForm">
<div class="ml-form-embedBody ml-form-embedBodyHorizontal row-form">
<div class="ml-form-embedContent">
<h4></h4>
</div>
<form class="ml-block-form" action="https://app.mailerlite.com/webforms/submit/f1t8z7" data-code="f1t8z7" method="post" target="_blank">
<style type="text/css">
.ml_message_wrapper {
position: absolute !important;
left: -9999px !important;
}
</style>
<div aria-label="Please leave the following field empty" class="ml_message_wrapper">
<input type="text" name="ml_message" tabindex="-1" value="" placeholder="Message" autocomplete="off" title="message">
<input type="text" name="ml_email" tabindex="-1" value="" placeholder="Email" autocomplete="off" title="email">
<input type="text" name="ml_name" tabindex="-1" value="" placeholder="Name" autocomplete="off" title="name">
</div>
<div class="ml-form-formContent horozintalForm">
<div class="ml-form-horizontalRow">
<div class="ml-input-horizontal">
<div style="width: 33.333333333333336%;" class="horizontal-fields">
<div class="ml-field-group ml-field-email ml-validate-email ml-validate-required">
<input style="width: 100%;" type="email" class="form-control" data-inputmask="" name="fields[email]" value="" placeholder="Email">
</div>
</div>
<div style="width: 33.333333333333336%;" class="horizontal-fields">
<div class="ml-field-group ml-field-name ml-validate-required">
<input style="width: 100%;" type="text" class="form-control" data-inputmask="" name="fields[name]" value="" placeholder="Name">
</div>
</div>
<div style="width: 33.333333333333336%;" class="horizontal-fields">
<div class="ml-field-group ml-field-last_name ml-validate-required">
<input style="width: 100%;" type="text" class="form-control" data-inputmask="" name="fields[last_name]" value="" placeholder="Last name">
</div>
</div>
</div>
<div class="ml-button-horizontal">
<button type="submit" class="primary ">Subscribe</button>
<button disabled="disabled" style="display: none;" type="button" class="loading">
<div class="ml-form-embedSubmitLoad"><div></div><div></div><div></div><div></div></div>
</button>
</div>
</div>
</div>
<style type="text/css">
.ml-form-recaptcha {
margin-bottom: 20px;
}
.ml-form-recaptcha.ml-error iframe {
border: solid 1px #ff0000;
}
</style>
<input type="hidden" name="ml-submit" value="1">
</form>
</div>
<div class="ml-form-successBody row-success" style="display: none">
<div class="ml-form-successContent">
<h4>Thank you!</h4>
<p>You have successfully joined our subscriber list.</p>
</div>
</div>
</div>
</div>
</div>
<script>
function ml_webform_success_1058902() {
var $ = ml_jQuery || jQuery;
$('.ml-subscribe-form-1058902 .row-success').show();
$('.ml-subscribe-form-1058902 .row-form').hide();
}
</script>
<img src="https://track.mailerlite.com/webforms/o/1058902/f1t8z7?vaa4d608450783acdc64d5338ff94f6d5" width="1" height="1" style="max-width: 1px; max-height: 1px; visibility: hidden; padding: 0; margin: 0; display: block;" border="0">
<script src="https://static.mailerlite.com/js/w/webforms.min.js?vaa4d608450783acdc64d5338ff94f6d5" type="text/javascript"></script>