<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Eusebiu Balan</title>
    <description>The latest articles on DEV Community by Eusebiu Balan (@beusebiu).</description>
    <link>https://dev.to/beusebiu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3013663%2Fd39d15ce-30e0-4312-b586-453fed28db22.jpg</url>
      <title>DEV Community: Eusebiu Balan</title>
      <link>https://dev.to/beusebiu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/beusebiu"/>
    <language>en</language>
    <item>
      <title>Why To-Do Lists Fail (21,655 Tasks of Data)</title>
      <dc:creator>Eusebiu Balan</dc:creator>
      <pubDate>Sun, 06 Sep 2026 06:50:46 +0000</pubDate>
      <link>https://dev.to/beusebiu/why-to-do-lists-fail-21655-tasks-of-data-1o9b</link>
      <guid>https://dev.to/beusebiu/why-to-do-lists-fail-21655-tasks-of-data-1o9b</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR.&lt;/strong&gt; I counted every task in Loggd. Across 21,655 one-off tasks from 1,375 people, 7,774 were completed, which is 35.9%. The shape matters more than the rate: 40.8% of completed tasks were finished the same day they were created, the median completed task took 1 day, and the ones that did not move quickly now sit a median of 56 days past their own planned date. A to-do list is not a reservoir that drains slowly. It is a queue that either moves today or turns into archaeology.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I build a habit and task tracker, which means I can do the thing most productivity writing cannot. I can open the database and count.&lt;/p&gt;

&lt;p&gt;So I did, in August 2026. The raw population is 51,201 tasks across 1,375 users, with my demo account excluded.&lt;/p&gt;

&lt;p&gt;Then I threw out more than half of it, and you should know why before you trust a single number below.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 29,546 tasks I threw out
&lt;/h2&gt;

&lt;p&gt;57.7% of those tasks, 29,546 of them, are not decisions anybody made. They are auto-generated instances of recurring tasks: the "take the bins out" that reappears every Tuesday whether you want it or not.&lt;/p&gt;

&lt;p&gt;Recurring instances behave nothing like the things people type into a list at 11pm. The app generates them, not a person having a thought. Counting them would either flatter the completion rate or wreck it, depending on how many instances got spawned for a routine somebody quit in March. Either way the number stops meaning what the headline claims.&lt;/p&gt;

&lt;p&gt;So everything from here on is &lt;strong&gt;one-off tasks only: 21,655 tasks across 1,375 users.&lt;/strong&gt; Things somebody deliberately wrote down once.&lt;/p&gt;

&lt;h2&gt;
  
  
  The uncomfortable number
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;7,774 of those 21,655 tasks were completed. That is 35.9%.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of what people write down never gets ticked off.&lt;/p&gt;

&lt;p&gt;The obvious objection is that this is an accounting artefact: plenty of tasks are simply not due yet, and any snapshot catches a pile of healthy pending work. It does not hold here. &lt;strong&gt;13,880 one-off tasks are still open&lt;/strong&gt;, and this is what they are:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status of the 13,880 open tasks&lt;/th&gt;
&lt;th&gt;Share&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Planned day has already passed&lt;/td&gt;
&lt;td&gt;94.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Planned for a future date&lt;/td&gt;
&lt;td&gt;0.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Never had a planned day at all&lt;/td&gt;
&lt;td&gt;4.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Fewer than one in a hundred open tasks is legitimately pending. Recompute the completion rate over settled work only, meaning completed plus overdue plus never-scheduled, and it barely moves: &lt;strong&gt;36.1%.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There is no escape hatch in a "cancelled" bucket either. Exactly 1 task in the entire snapshot is cancelled. Tasks do not get retired, they just sit there.&lt;/p&gt;

&lt;h2&gt;
  
  
  How old the rot is
&lt;/h2&gt;

&lt;p&gt;This is where it stopped being an abstract percentage for me.&lt;/p&gt;

&lt;p&gt;Among the overdue tasks, the &lt;strong&gt;median is 56 days past its planned day&lt;/strong&gt; and the 90th percentile is &lt;strong&gt;132 days&lt;/strong&gt;. &lt;strong&gt;826 distinct users&lt;/strong&gt; are carrying at least one.&lt;/p&gt;

&lt;p&gt;Two months past a date the person picked themselves. The top tenth is more than four months gone: things written in spring, still nominally scheduled, still producing a small pulse of guilt every time the app opens.&lt;/p&gt;

&lt;p&gt;I have several of those. One of them has moved house with me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The actual finding: tasks are done immediately or never
&lt;/h2&gt;

&lt;p&gt;Here is the part that changed how I think about lists.&lt;/p&gt;

&lt;p&gt;Of the 7,774 completed tasks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;40.8% were completed the same day they were created.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;median time from creation to completion is 1 day.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;90th percentile is 11 days.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read those three lines next to the 56-day median rot and the shape falls out. There is no slow, steady drain where old tasks get picked off over weeks. Nine in ten completed tasks were done inside 11 days, and 40.8% before the day was over. Anything still open past that window is not in progress. It is archaeology.&lt;/p&gt;

&lt;p&gt;That reframes what a to-do list actually is. It is not storage. It is a queue with a very short effective memory, and writing something into it does almost nothing to raise the odds that it happens next month. If it does not move now, or nearly now, the honest forecast is that it never will.&lt;/p&gt;

&lt;h2&gt;
  
  
  Even the tasks people finished missed their date
&lt;/h2&gt;

&lt;p&gt;One more number, and it is the one that makes me most sympathetic to everyone here.&lt;/p&gt;

&lt;p&gt;Take only completed tasks that had been given a planned day: 7,506 of them, across 853 users. How many landed on the day they were planned for?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;55.1%.&lt;/strong&gt; Another &lt;strong&gt;38.7% were completed late&lt;/strong&gt; and &lt;strong&gt;6.2% early&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So even inside the population of pure successes, nearly half missed their own date. That is not an effort failure, it is an estimation failure, and it is consistent enough that Kahneman and Tversky named it: the planning fallacy, our habit of predicting how long something takes from the version of the story where nothing goes wrong.&lt;/p&gt;

&lt;p&gt;The date you assign a task is not a plan, it is a wish with a timestamp. Adding precision to your scheduling is mostly wasted effort. Reducing the number of things you schedule is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The aggregate is not you
&lt;/h2&gt;

&lt;p&gt;Now the honest correction, because "35.9% of tasks get done" is the kind of stat that gets screenshotted without its context.&lt;/p&gt;

&lt;p&gt;That aggregate is dragged down by one pattern: somebody signs up, dumps forty things they have been carrying around in their head, feels enormously better, and never comes back. Those forty tasks sit in the denominator forever.&lt;/p&gt;

&lt;p&gt;Filter to people who used the thing more than once. Among the &lt;strong&gt;340 users who created at least 5 one-off tasks&lt;/strong&gt;, the &lt;strong&gt;median personal completion rate is 54.5%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is a very different picture: the typical engaged person finishes a bit more than half of what they write down, which sounds about right for a human with a job.&lt;/p&gt;

&lt;p&gt;The tail is real too. &lt;strong&gt;45.3% of those users finish under half of what they write down.&lt;/strong&gt; So the aggregate is pessimistic, and the individual reality is still that a large minority of people are running a permanent deficit against their own list.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would actually change
&lt;/h2&gt;

&lt;p&gt;All of this points at the same four moves, and none of them are "try harder".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Cap the day, then let the cap do the deciding.&lt;/strong&gt; Since almost everything that gets done gets done within a day or so of being written, the useful question is not "what needs doing" but "what am I doing today, given that today is roughly all I get". A fixed small number is the crudest and most effective version of that. The 1-3-5 task planner makes the constraint concrete: one big task, three medium, five small, an optional time estimate per task, and a prompt to carry over yesterday's leftovers. Nine slots, and when they are full they are full. I covered the method itself in the 1-3-5 rule guide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Decide the first action before the day starts.&lt;/strong&gt; A task that reads "taxes" has no entry point, so it loses to every task that does. The 55.1% on-time figure suggests the weak link is specification rather than willpower. Pick the one thing that must move and name its first physical step. Eat the frog is the least complicated version of that ritual.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Let the backlog go, deliberately.&lt;/strong&gt; Given the 56-day median, a task that is two months overdue is not waiting. It is dead and unburied. Once a quarter, move the whole overdue pile somewhere that is not a to-do list. A brain dump suits this: write everything out without filtering, optionally on a short timer, then tag each line as a task, idea, worry, or reminder. Most of it turns out to be worries and ideas wearing a task costume. The survivors go back on the list with a date. The rest get deleted, which is a decision, not a defeat.&lt;/p&gt;

&lt;p&gt;If you would rather sort than dump, the Eisenhower matrix does the same triage across four urgency and importance quadrants, and lets you drag things between them as you change your mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Plan fewer things rather than better things.&lt;/strong&gt; Every real improvement I have made to my own list was a subtraction. How to plan your day covers the ritual side, but the arithmetic is blunt: if 35.9% of written tasks get done, writing twice as many does not double your output. It doubles your overdue queue.&lt;/p&gt;

&lt;p&gt;You may have seen the Zeigarnik effect cited around this topic, the idea that unfinished tasks stay active in memory and nag at you. It matches how an overdue list feels, but its replication record is mixed rather than settled, so treat it as a decent metaphor for why a stale backlog feels heavy, not as a mechanism you can bank on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology, and what this data cannot see
&lt;/h2&gt;

&lt;p&gt;The figures come from a production snapshot queried on 2026-08-10, covering data through 2026-08-05. Population: 51,201 tasks across 1,375 users, demo account excluded. Auto-generated recurring instances, 29,546 tasks or 57.7% of the raw count, are excluded from every figure, leaving 21,655 one-off tasks. Sub-samples are stated inline where they differ: 7,506 completed tasks that had a planned day, across 853 users, and 340 users with at least 5 one-off tasks.&lt;/p&gt;

&lt;p&gt;Four limits, in descending order of how much they should bother you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A task app cannot see work done elsewhere.&lt;/strong&gt; This is the big one. Plenty of these incomplete tasks were done in real life and never ticked off, because the person did the thing and got on with their day. I am measuring the list, not the person, and every completion rate here is a lower bound.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is correlation, not an experiment, and the population is self-selected.&lt;/strong&gt; Nobody was assigned to a condition. People who install a tracker are not a random sample: they already write things down, which cuts both ways, more organised than average and more prone to over-capturing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Survivorship pulls the aggregate down.&lt;/strong&gt; Users who abandoned the app entirely still have their unfinished tasks counted. That is honest, since dropping the quitters is how you manufacture a flattering number, but it means the 35.9% headline includes many one-visit lists nobody intended to work through. The 54.5% median among engaged users is the fairer comparison.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rounding and scope.&lt;/strong&gt; Everything is reported to one decimal place, no individual user or task text is included, and nothing is extrapolated. This is one app's data, not a claim about humanity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one sentence version
&lt;/h2&gt;

&lt;p&gt;If a task is not going to move in the next week or so, writing it down more carefully will not save it. The only lever with real evidence behind it is writing down less.&lt;/p&gt;

&lt;p&gt;I have never met anyone whose problem was a to-do list that was too short. Including me.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by Eusebiu, a developer of nine years, now building &lt;a href="https://loggd.life/?ref=devto" rel="noopener noreferrer"&gt;Loggd&lt;/a&gt; full time. The overdue queue in this data includes my own.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
      <category>data</category>
      <category>beginners</category>
    </item>
    <item>
      <title>8 Months of Revenue, the Boring Version: €14 to €1,133 to €461</title>
      <dc:creator>Eusebiu Balan</dc:creator>
      <pubDate>Thu, 06 Aug 2026 20:24:08 +0000</pubDate>
      <link>https://dev.to/beusebiu/8-months-of-revenue-the-boring-version-eu14-to-eu1133-to-eu461-1562</link>
      <guid>https://dev.to/beusebiu/8-months-of-revenue-the-boring-version-eu14-to-eu1133-to-eu461-1562</guid>
      <description>&lt;p&gt;Originally published on &lt;a href="https://loggd.life/blog/build-in-public-habit-tracker-saturated-niche" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;€14, €161, €145, €85, €522, €1,080, €1,133, €461.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fam7rqmxt2h9cj1nvlvm5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fam7rqmxt2h9cj1nvlvm5.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's 8 months of revenue. That's my whole run so far.&lt;/p&gt;

&lt;p&gt;I see the other posts every day. 10k MRR in 30 days. Six-figure launch. 50k in a quarter. Those posts are why I started....but 8 months in, this is what building a product actually looks like for most of us, and almost nobody posts the boring version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick context:&lt;/strong&gt; I'm a dad, married, 8 years as a dev. I started this before work, after my daughter went to sleep, and every weekend. Two months ago I quit the 9-5 to try this properly. Part living the dream, part just needing out of the burnout.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvw4z8scc3l10ub3oz20n.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvw4z8scc3l10ub3oz20n.jpeg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The app is &lt;a href="https://loggd.life" rel="noopener noreferrer"&gt;Loggd&lt;/a&gt;, an all-in-one personal growth app. Habits, tasks, goals, focus timer, all tied together with a GitHub-style activity graph for your life. Built solo on Laravel and Vue, one codebase across web, iOS and Android.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where I'm at:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6,286 users&lt;/li&gt;
&lt;li&gt;70 paying, 4 on trial&lt;/li&gt;
&lt;li&gt;€3,621 total revenue&lt;/li&gt;
&lt;li&gt;~€205 MRR&lt;/li&gt;
&lt;li&gt;~150 DAU&lt;/li&gt;
&lt;li&gt;~23 new users a day
(August just started, so ignore that tiny last bar on the chart for now.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Now look at that first row again&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;€14, €161, €145, €85. Four months. €405 total. One of them went down. I was still working full time and building at night for all of it.&lt;/p&gt;

&lt;p&gt;Then April: iOS launch plus my first batch of lifetime deals. €522. Then €1,080. Then €1,133.&lt;/p&gt;

&lt;p&gt;If I only posted that stretch it would look like a rocket. It wasn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The lifetime-deal trap nobody warns you about&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of the €3,614, about €1,800 came from lifetime deals. Half my revenue is money that will never repeat. In July I didn't run any and it dropped to €461. Nothing else changed. Same posting, same product, more users than ever.&lt;/p&gt;

&lt;p&gt;Lifetime deals are great for cash. You feel it right away. But then you hit a quiet month and you really feel that too, because the thing underneath was never as big as the good months made it look.&lt;/p&gt;

&lt;p&gt;That's why my MRR is €205 and not €1,000. A good month and a growing business are not the same thing, and I only learned it by watching my own chart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The other expensive lesson&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wasted about €1,400 on Meta and Google ads at the very start, before I knew anything. ROI was bad, I stopped. Expensive, but at least it was early.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A few things I'd tell someone at month one&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first four months are supposed to look like nothing. Mine did.&lt;/li&gt;
&lt;li&gt;One-time revenue feels amazing and teaches you nothing. Watch MRR or you'll fool yourself.&lt;/li&gt;
&lt;li&gt;6,286 users, 70 paying. Barely over 1%, and that's not good by any standard. The catch: web converts worst and has been live longest, so it's piled up dead signups. Mobile is newer and converts better.&lt;/li&gt;
&lt;li&gt;Growth isn't a line. It's silence, a spike, then silence again.&lt;/li&gt;
&lt;li&gt;The skill isn't writing posts. It's posting on the days nothing happens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm not saying don't do this. Quitting was the right call for me, even at €205 MRR, and I don't regret it. Working on something you actually care about until 2 am...feels better vs being burnt out on someone else's roadmap at 3 pm.&lt;/p&gt;

&lt;p&gt;I'm saying be ready for that first row of numbers. That's the part nobody screenshots.&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>productivity</category>
      <category>career</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
