Open App
More

Making a stack of tasks from a paper list

I'm often writing things down on random scraps of paper, assuming I'll pay more attention to a physical artefact over a digital tool. In reality, I end up with paper scraps full of forgotten tasks because I misplaced the paper—or forgot to stuff it in my pocket on the way out the door.

Naturally, the only sensible solution was to build an image parser into TearOff to convert those scraps of paper into digital task cards.

So that's what I did.

Enter AI... sorry

I tried to get this working locally without an external AI model, but it was too unreliable to be useful. Instead, I decided to spin up a Large Language and Vision Assistant (LlaVa) on Cloudflare Workers AI to parse images into something structured.

Given TearOff's strict privacy rules and strong prefernce to avoid third-party dependencies, this was a bit of an issue. Luckily, Cloudflare's Workers AI focuses on privacy as a core tenet: user data isn't submitted back for training, and nothing is persisted. That's an acceptable compromise for my rigid privacy requirements. More information on CloudFlare's approach to responsible AI is available on their site.

Under the hood, TearOff uses the open-source LLaVA-1.5-7B model to process image lists. Initially, I tried to run the captured images through a Bradley-Roth adaptive thresholding algorithm to clean up the text but this ended up confusing the heck out of the LLaVa model, so I get rid of it.

Demonstration of scanning a handwritten paper list into task cards.

Hidden Behind a Flag

I'm still battle-testing the feature, so I decided to keep it behind a feature flag for now.

To try it out:

  1. Open the Settings menu.
  2. Enable Experimental Features.
  3. Head to Add Task and tap Scan Tasks.

Take a picture of your random list, and let TearOff break it into individual cards.

Other experimental tools are coming soon, including a sub-task breakdown feature (totally "inspired" by goblin.tools) and calendar integration without requiring third-party authentication.

Try it. You'll like it. Maybe.

Try out the task scanning feature and let me know how it works for you. Making task management effortless while respecting privacy and digital sovereignty is a balancing act, but that's what makes building this so much fun.

P.S. I remain committed to achieving WCAG 2.2 AAA compliance. If any new feature fails to pass muster, please file an issue on GitHub and I'll prioritize it as soon as I remember to check the repo (maybe I should create a task for that).