↖️ Blog Archive

Poetry Magnets Online

Bradley Gannon

2026-03-18

TL;DR: I built a digital version of the popular poetry magnets kit. You can play in your browser here or view the code here.

Some magnets that say “the lazy summer sleep // of a friendly puppy”

I didn’t post last week because I spent all my time trying and failing to set up a pleasingly small template repo for Android development with Rust. My goal was more or less to achieve the simplicity of gcc foo.c -o foo in an Android context. This turned out to be really hard because of the high complexity of Android, some of which is unavoidable but the great majority of which—in my opinion—is artificial. The best realization of this dream to date is rawdrawandroid, but I’d rather not write C when I could be writing Rust. android-activity exists and actually works pretty well, but the enormous boilerplate of wgpu discouraged me. Maybe someday I’ll go back and try to replicate rawdrawandroid in Rust by binding directly to the Android NDK, but in the short term I was generally feeling pretty unhappy with the technical bureacracy required to paint pixels to my phone screen.

I decided that I needed a palate-cleansing project, so I built this little toy. This was a good excuse to learn egui, whose immediate mode approach to GUI management is refreshingly direct. The app code is only about 200 lines and compiles to a 3.5 MB WASM blob, which is larger than I’d like but probably acceptable because it gets cached anyway. I built the repo with the thought that maybe I’d eventually add a collaborative mode where multiple users can move magnets around on the same board in real time, but I didn’t get that far. It might also be fun to add a way to save screenshots. For now the app runs locally and saves its state to localStorage, so magnet positions persist across reloads. I copied the word list from the official (physical) product’s site.

It turns out to be pretty fun to collect the randomly scattered tiles into abstract poems and assign meaning to them, which I guess shouldn’t be surprising because that’s the whole point of the original product.

Next week I’ll get back to the piano.

Some mangets that say “we will recall the sea // on our deathbeds”