This shows a variety of possible applications of my "Widget" framework for building customized, DIY webapps for personal use. The Widget framework provides a high degree of simplicity and ease of development, and as you can see, many different applications can be built using the framework.

The videos are 10-15 minutes long. Each video discusses a bit of the rationale for the widget, shows the basic functionality, and describes some of the code involved. These types of widgets can usually be built with 1-2 hours of development work (if you know basic JavaScript and HTML). They use 1-3 SQLite tables, and a couple of hundred lines of JS/HTML code. All of the code for these widgets can be viewed on GitHub at the link above.

For several years I developed widgets solely for my own personal use, and never planned to open it up to other people. However, as the framework gradually became cleaner and easier to use, I began to think it might be useful for other people. If you are interested in using your own widgets - either building your own or copying some of my widgets - now is your chance. Early adopters will receive free accounts, free tech support, and for a limited time only I offer to build widgets for you! Sign up now!

This tool helps me to keep track of my workouts and plan my fitness regimen. It has a unique feature that helps me to stay on track: it calculates the workout totals and compares that to the target numbers over an extended period of time. If I miss a day or two of training, it's no problem - I can just do extra workouts over the next couple of days and catch up! The tool tells me how much I need to do.

Have you ever missed a meeting because you forgot to check your calendar that morning? If so, you can probably benefit from using this widget. The widget walks me through a sequence of simple tasks that I want to perform every morning, to get up to speed for the day. The idea comes directly from Atul Gawande's book the Checklist Manifesto, about how checklists help people like pilots and surgeon achieve everyday excellence for routine but critical tasks. As an engineer, I also use the checklist to prompt me to check various software monitoring systems, so that if there's been a problem in the last 24 hours, I know about it. The morning routine is also a reminder to update the other widgets that log different activities (like the Junk Food / Alcohol log).

These are very simple tools that let me keep track of my junk food and alcohol consumption. The idea is that I enjoy some nice Ben and Jerry's ice cream once in a while, and I like to have a drink or two with my friends at social events. But I want to keep close track of my consumption, to make sure that it doesn't edge constantly higher and higher (like my coffee consumption has done - I've pretty much given up on avoiding caffeine addiction). I log my drinks and junk food every day - it takes about 20 seconds - and I can see my running totals and averages over the last week and month.

There is a TON of productivity tracking and TODO list management tools available on the internet... and they all have lots of features and complexity that you probably don't want. But a TODO list is actually quite simple, so why not build your own, and include exactly the features you want, and none that you don't want? My TODO list has some nice integrations with some other widgets, like the Chinese study tool.

Managing your finances is an important goal for almost everyone - no one likes that feeling of looking at your bank account at the end of the month and wondering where all the money went. But also everyone has very different financial goals, constraints, and situations. My finance widget helps me to understand where my money is going. This video also shows how you can integrate your widgets with other systems, by downloading the SQLite database.

This widget is a combination of two ideas: the Heisig Method for studying Chinese/Japanese characters, and the idea of Spaced Repetition as a technique to help with memorization. This tool has been absolutely transformative for my Chinese reading skills. I'll mention that the time required for me to develop this widget was quite small compared to the time required to actually do the memorization (daily practice), and the time needed to create the cards and accompanying stories.

This widget helps me remember to do all those pesky chores! Life requires us to do lots of periodic maintenance tasks, like paying your credit card bill, cleaning your sheets, changing your contact lenses, etc, etc. Chores are usually pretty easy... if you remember to do them! If you forget, the consequences can be annoying or even dangerous! This Chore Log widget can help you to stay on top of all the chores you need to do.

A lot of widgets can be described as "My personal version of XYZ". This one is "My personal version of Stack Overflow". Of course, it has a lot fewer features and a lot less data. But it is tremendously helpful, because whenever I look up some piece of technical information, I very often want to use it again in the future. If I put a record in my QA system, I save myself the time required to surf through web search results and technical documentation.

Just like "My personal version of Stack Overflow", this widget is "my personal version of browser bookmarks". Why build my own tool to replace a feature that every browser has? Well, for one, I've been burned too many times when I changed computers, or changed browsers, and my bookmarks didn't get copied over (Google has some kind of bookmark sync feature, but I don't trust them to maintain it properly). Also, I want my links to be accessible from any device.

Have you ever had a day where you got to about 4pm, realized that you didn't get anything done, and wondered where the time went? That kind of thing happened to me a lot, which is why I build a Day Planner widget. The Day Planner prompts you to plan out your day, so that you know exactly what you're supposed to be doing and when. Planning the day in advance lets you avoid time management pitfalls, and organize your schedule in an efficient way. There is also a Day Template feature, for when you just want to use the same standard plan that you've used many times in the past.