Most things here started with a small frustration. These are the apps, tools and experiments I’m building to do something about it.
8 projects · Private builds & experiments
01 / The workbenchKotlin / Compose
Active private build
SpendWise
I want to understand where my money goes without handing over the details. SpendWise keeps receipts and budgets together on my phone, fully offline.
Under the bonnet
Receipt OCR runs on-device, money is stored in integer pence, and core records do not depend on a cloud account.
Kotlin
Compose
On-device OCR
02 / The workbenchKotlin / Compose
Active private build
Anchor
I'm building Anchor to fit tasks around fixed commitments, with room to rethink the plan when the day changes.
Under the bonnet
Plans explain why work moved, stage consequential changes for review, and keep flexible scheduling reversible.
Kotlin
Compose
Room
03 / The workbenchKotlin / Compose
Active private build
PhotoBoi
Room to play with a photo and keep the original. PhotoBoi brings editing and a photo library together on Android, without an account or a cloud upload.
Under the bonnet
Non-destructive edits, GPU previews, local library tools, and on-device processing keep the full photo workflow on the phone.
Kotlin
Compose
OpenGL ES
04 / The workbenchKotlin / Camera2
Active private build
Lumina
A camera app for exploring what happens between the shutter and the finished photo. Lumina keeps the originals and makes the processing something you can inspect.
Under the bonnet
RAW and DNG capture, a shared Vulkan render path, and portable sidecars keep processing controllable and reversible.
Kotlin
Camera2
Vulkan
05 / The workbenchPython / SQLite
Active private build
Archivist
For the useful things I find on the web and don't want to lose. Archivist gives them a home on my own machine, ready to read and find again.
Under the bonnet
Archive bundles remain the source of truth, with the searchable database rebuildable from files on disk.
Python
SQLite
GTK
06 / The workbenchPebble / JavaScript
Private prototype
Grafter
A little shift companion on a Pebble watch. Clock work and breaks, keep track of tasks, and check estimated pay with a button press.
Under the bonnet
The watch-first state model works offline, excludes breaks from worked time, and calculates pay in integer pence.
Pebble
JavaScript
Piu
07 / The workbenchPebble / Sensors
Early private build
Waypoint
Sometimes a direction is all you need. Waypoint puts a compass and saved destinations on a Pebble watch, without needing to keep a phone connected.
Under the bonnet
Bearing stays live on the watch while saved coordinates, distance, and stale-data warnings remain available offline.
Pebble
Sensors
JavaScript
08 / The workbenchPython / GTK
Active experiments
COSMIC tools
Small improvements that make Linux feel more like my own desk. Glanceable widgets and shortcuts close to hand, built for the COSMIC desktop.
Under the bonnet
The widget family shares shell-aware Cairo visuals, while Key Hint reveals shortcuts only when they are needed.
Python
GTK
Cairo
Optional analytics help me understand which pages are useful. Off unless you allow them.