About

Web Widgets is a light-weight framework for building custom, DIY WebApps. The mission statement is: it should be as easy to write a simple Widget as it is to write a web page. All you need to do is write a bit of Javascript and HTML code.

Why is this useful? Well, have you ever felt like you wanted a TODO list manager, or training log, or finance tracker, but all the apps you found had only a few of the features you wanted, and a ton of junk you didn't care about? Because Widgets are so easy to write, you can build software that is customized to suite your particular interests, lifestyle, and habits. Build a Widget with all the features you want, and none of the complexity you don't want.

The Widget framework is ideally suited for building life-logging, tracking, and productivity apps. You can use Widgets to help upgrade your fitness, improve your diet, monitor your expense, manage your projects, and even learn a language. I know because I've done all these things myself, using the Widget framework. Check out the Demo page for some examples.



History

The idea of Widgets started with a simple question: why don't most programmers write software for their own personal use? Many professionals use their skillset for personal benefit, in addition to their day job. Chefs cook for their families, lawyers manage their own legal disputes, carpenters build their own furniture. So why do most programmers not build software for themselves? It's not that code is hard to write. Some code is difficult, but there are a lot of simple but useful applications that are quite easy to build. Rather, the problem is that configuring and monitoring the software architecture - databases, backups, servers, DNS records, etc - takes too much time. The Widget framework takes care of all the tedious backend stuff so that developers can build webapps for their own personal use.


I started building the Widget framework almost 10 years ago. Prior to that, I had been relying on a kludgy combination of Google Docs, spreadsheets, and handwritten notes to help with productivity and time management. Initially, I never planned to open up the framework for anyone else. I figured I was the only one who was eccentric enough to want to invest a lot of time in writing my own life-logging apps. But over the years, several things happened. First, I improved and simplified the framework, so that it became easier and easier to write widgets. Second, I started to find more and more areas where a Widget could be helpful. For example, recently I built a Widget to help myself memorize Chinese characters, and that has been absolutely transformative for my Chinese reading level. Third, my "core" widgets started to become an integral part of my lifestyle and work habits. I start every day by going through the activities listed in my Morning Routine Widget (inspired by Atul Gawande's book the Checklist Manifesto), and this has been amazing in helping me stay organized. So at the same time that the difficulty of building Widgets went down, their value went up.