moWerk

AsteroidOS, the UI side

56 watchfaces by moWerk, round previews
The 56 faces i added to the community watchface repository, out of 77 it holds today.

This is the part of AsteroidOS i actually know: what it looks like and how it feels under the finger. Nearly everything below went in as a pull request and got better through review, so the links are the real record.

2018, watchfaces

It started with nine watchfaces in one pull request in February 2018, then nine more, then eight with the README redone around round screenshots. Forty wallpapers and the first install troubleshooting pages followed the same spring.

2021 to 2022, making it one system

A new colour scheme for the FlatMesh backgrounds, applied to twelve apps on one day. The 3x3 launcher. Preview images for watchfaces in the settings, with the stock previews to match. Noto Sans as the system font and the fonts that stop tofu in fifteen added languages. A charging indicator on every stock face.

2023, the website and the stock faces

Most of 2023 went into asteroidos.org: the watches page with its support tables, high quality renders of every watch, the unlock screenshots, the FAQ. Seven community faces became stock faces, and every stock face was made to fit irregular screens. The settings got shared page components and a redesigned page header, the icon set a rework into paths. In the middle of it the first support for the LG Watch Urbane 2nd edition went in, enough to boot, not a finished port. Meteor Match, my first app, dates from the same summer.

2026, the 2.0 release and the Qt 6 switch

IntSelector scrubber, quick panel settings, time zone setup. Screenshots from the pull requests.

AsteroidOS 2.0 shipped on the FOSDEM weekend in February 2026. It was the first stable release after eight years of rolling 1.1 nightlies, which is what users had been asking for. MagneFire and Kido got into a flow in the weeks before and prepared everything, and the Show HN that followed gave the project its evening. 2.1 came after it with the features people asked for once the noise died down, and was the last stable Qt 5 release.

Since May the project has been moving to Qt 6, which broke everything. It is on track again now, with a 2.2 candidate and minor issues left.

As the community manager and UI maintainer, my share was the UI layer: compositor regressions, initial property injection on every settings page, the touch coordinate fix, all eighteen stock faces refactored with a shaders folder for compiled shader binaries, and a Wayland extension so apps can take over the back gesture. Along the way: the IntSelector scrubber on a new ListRow base, a settings page for the quick panel, four levels of burn-in protection, a time zone step in first run, and the quick panel scrubber replacing a long-press that never worked right. The release post was mine too.

Brightness by dragging, the quick panel scrubber.

In review

An on-device watchface store, so a face installs from the watch without a computer: settings, launcher, watchfaces. Three pull requests waiting for a second pair of eyes. Also in review: the rebuilt Android userspace for nemo, my test of whether an LLM workflow can produce a port that survives review.

A good part of what i know about writing reviewable code i learned in these threads, from Florent Revest / Kido, Ed Beroset / beroset, MagneFire, dodoradio and everyone who has fearlessly reviewed my code over the last years.