ZLister Announcement

ZLister, a to-do list management application, is now available. ZLister allows you to create lists with entries and entries can be marked complete or incomplete (“to do”). ZLister’s user interface is designed for mobile devices, but may also be used on the desktop. ZLister does not store your data in the cloud and can run offline.

ZLister Start Page

Motivation and Goals

For the last several years, I have been using Amazon’s Alexa app to store checklists of grocery items, books to read, and other miscellanea. However, as checklists are a side function within the app, I found the interface often clunky and the app required large amounts of resources to run for functionality I did not use. Furthermore, the app has recently added intrusive recommendations into the interface which emphasized its role as a channel for data exfiltration and ads.

As a programmer, I decided to write my own application with the following goals:

Features

Example List Page

Is ZLister novel?

No. To-do apps are often used as tutorial exercises and checklist functionality is widely available in many applications.

Due to the commodification of this functionality, many implementations are distributed for free in return for data on user’s shopping habits and as a channel for advertisements. In contrast, ZLister was designed not to collect data and to have maintenance costs so low that monetization isn’t necessary.

Does ZLister cost anything? What is its license?

There is no installation nor subscription costs for using ZLister. My costs are time and running a static site, which, barring unexpected exorbitant bandwidth costs, should be minimal.

The source code is licensed under the GPLv3.

What is the tech stack?

The app is written in Typescript and uses HTML and standard Web APIs (no frameworks). There is one production dependency, a uuid library, which I might vendor as it is fairly small.

For development, tests are in Jest, browser tests use Playwright, and esbuild is the bundler/transpiler.

What browsers are supported? System requirements?

Theoretically, all browser should work. I primarily test against Firefox, although certain bugs make this difficult. I do not have an easy way to test Safari or iOS. The browser test suite runs against Firefox, Chrome, and Webkit, although certain tests are skipped against Webkit due to apparent test framework limitations.

In my experience, offline mode has been the most error prone aspect.

Disk storage requirements for the application are about 512 kb.