Fight Akrasia and Decision Fatigue with DIY Productivity Software

Akrasia is the condition of knowing what you should be doing, but being psychologically unable to motivate yourself to do it. Decision fatigue is the condition of being unable to select between competing choices because of mental exhaustion.

There’s a whole sector of the software industry that’s dedicated to helping people fight these conditions. Some tools help you build habits, while others try to hold you accountable for your mistakes, to give you an incentive to make better choices.

Many people, including myself, have experimented with these tools and found them lacking, for a wide variety of reasons. Sometimes the problem is a crucial missing feature—and sometimes the problem is too many features. Some people have been burned by technology churn—why invest your time to learn the most recent fad, when history indicates that software often declines in quality over time, and is then abandoned?

Perhaps most importantly, it often feels that the author of the tool is guilty of other-optimizing—the techniques that are useful and relevant for him/​her simply aren’t as valuable for other people… because people are actually quite different internally.

I claim that you can solve these problems by writing your own productivity software.

To many people, this idea might seem preposterous: software is hard to build, so it only makes economic sense if you sell it to a large market.

But actually the hardness of software development mostly comes from the challenges of scaling up and serving large numbers of users. It turns out that writing software just for yourself is actually pretty easy—especially if 1) you’re a decent developer, as many LessWrongers are, and 2) you have some good tools.

I know this from experience. I’ve been developing my own customized “life-management” tools for the last several years, and it’s had a transformative effect on my life. I have dozens of tools—I call them Widgets—that range over a wide variety of areas:

  • Fitness tracking and logging

  • Time tracking

  • Expense monitoring

  • TODO list and project management

  • Commitment review

  • Daily Checklist (inspired by the Checklist Manifesto)

  • Chinese character learning

  • Question /​ Answer system (my personal version of StackOverflow)

  • Alcohol and Junk Food consumption control

  • Chore reminders

  • Day Planning /​ Scheduling

Some of these are more complicated than others, but a typical Widget usually takes about 2-3 hours for the initial development, and then another 1-2 hours of updates and polishing after I start using it. This is a very small price to pay for a tool that can significantly improve some area of my life. You can see how these Widgets work by viewing my Demo videos.

I would be happy if people read this post and immediately started developing their own frameworks for DIY software development.

But I also want to offer LessWrong users the benefit of my framework. I spent a lot of time developing it and simplifying it, and I know it works, since I use multiple Widgets every day.

As a very brief summary, the Widgets framework is a generic backend for DIY WebApps. The backend stores user data in SQLite files, and ships the entire content of the DB to the browser on page load (this is practical because the DBs are modestly sized, since you are the only user). The browser sends back updates to the DB based on user input. The frontend is entirely up to you; I use vanilla Javascript and simple HTML. You can see how this works in practice by browsing the code Gallery.

I’m offering some incentives to early adopters: free accounts, free tech support, and I will even build some Widgets for you (this is an instance of “do things that don’t scale”). If you are interested, sign up here, or reach out in the comments.

For more information, check out my main Widgets page. Thanks for your attention!