Niccolò Venerandi's M5Stack PaperS3-Powered Mirtillo Could Be "The Ultimate Productivity Device"

Clever pocket-sized companion tracks tasks and estimated fatigue levels, running simulations to surface the best thing to do.

Maker and free and open source software (FOSS) advocate Niccolò Venerandi has built "the ultimate productivity device" out of an M5Stack PaperS3 ePaper development board: the fatigue-tracking simulation-running Mirtillo.

"This story begun in January, when I realized I was still mostly unhappy with my events and tasks handling," Venerandi explains. "My workflow was the following: I added everything I was meant to do and my events into TickTick, and at the end of each day I would take a few minutes to schedule all of my tasks on my calendar, and I checked whether I was able to do all the tasks that I had assigned to that given day. However, this made it quite easy to continuously postpone daunting tasks, and it was not particularly flexible: any unexpected event or delay in the day would make me much less willing to follow the schedule I had established."

The Mirtillo is more than a to-do list: it's a clever companion that runs simulations to manage your day more effectively. (📷: Niccolò Venerandi)

Venerandi initial considered building an mobile app to solve the problem, but with no prior experience in Android development decided that would take up more time than it saved. A Telegram chat bot was considered, but scrapped in favor of something more tactile: a dedicated device with a comfortable display, pocket-friendly, responsive but not distracting.

"Back in January my Twitter timeline was full of images of the X4 [ePaper] device, a little sexy thing that magnetically attaches to the back of your phone and has buttons to interact with it," Venerandi notes, but the X4 is designed as a compact eBook reader. The project needed more, and Venerandi settled on the M5Stack Paper S3 — an Espressif ESP32-S3 development board with 4.7" ePaper display, internal battery, and magnetic back for easy mounting when necessary.

A MicroPython application, developed in a fraction of the time it would have taken to learn Android development, provided what Venerandi calls a "non-deterministic task manager," designed to fit around a mental model that assigns a "fatigue" level to particular tasks and assumes the person carrying out the task will slowly match the same fatigue level. "Mirtillo can try to propose me tasks to do," Venerandi explains of what the looks like in practice, "but it knows that the less fatigued I am, the more likely I am to accept them."

The task manager simulates the expected impact to its user's fatigue level in order to surface the best jobs to tackle. (📷: Niccolò Venerandi)

"The idea is: whenever Mirtillo has to pick a task to try to make me do, it simulates a random possible future by picking random tasks, collapsing the probability functions of tasks duration into a single value, and using the probability function of how likely I am to do the proposed tasks," Venerandi says. "It does this until the end of day, and then again, and then again, hundred of times. Then, it looks at the average score I got, and picks the top-level task that has the highest average score and suggests it to me."

A full project write-up is available on Venerandi's website; source code had not yet been publicly released at the time of writing.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles