two-posts-in-one-day.md

Two posts in one day? Somebody stop me!

Welcome back, nobody!

So this morning I posted about building the Android widget. And then I just... kept going.

It started innocently enough — I was at work, hyperfixating on the idea of custom icons to match the site aesthetic. Monoline teal outlines on #1e1e1e rounded squares, matching the terminal windows on the homepage. By the time I got home I had a full evening planned and my phone connected to my PC via USB.

Three icon pack iterations later — hand-drawn glyphs, a botched WhatsApp handset that looked like a chain link, and eventually a full rebuild on Phosphor Icons — we got there. 120 icons, all mapped to real package names, all consistently teal and dark and very cxllum. The first two attempts were a bit rough but the Phosphor rebuild came out genuinely beautiful.

Then while I was waiting for Claude Code to do its thing, I kept adding to the widget collection. What started as one system stats widget somehow became five:

  • System Stats — USER, VERSION, uptime ticking in green, and the CPU/RAM/VIBE/CAFFEINE bars now updating dynamically based on where we are in the week. VIBE is always 100%. Non-negotiable.
  • Reading — Great Circle by Maggie Shipstead, 26/50 books, tapping through to Goodreads
  • Gaming — Xbox and Steam friends online, recently played game. Mostly built so I can see when my friends are gaming without me. You know who you are. 👀
  • Activity — steps, calories and active minutes from Health Connect. This one was a nightmare to get working — Samsung Health doesn't sync everything to Health Connect, which was fun to discover at 11pm
  • No Strava widget because Strava locked their API behind a subscription. Rude.

The whole thing is sideloaded as a debug APK. No Play Store. Just vibes and ADB.

The end result is a phone that feels like a living extension of the website — the same dot grid wallpaper, the same teal on dark, the same terminal windows. My entire life summarised in widgets on a black screen at 11pm on a Wednesday.

I should probably go to sleep.

Key Features

  • Cxllum Theme icon pack: 120 custom Phosphor Icons (Light weight), teal monoline on #1e1e1e, sideloaded via ADB
  • Dynamic stats bars: CPU/RAM/CAFFEINE now update hourly based on a weekly arc, peaking Friday afternoon
  • Gaming widget: Xbox + Steam friends online and recently played, 2x2 portrait
  • Activity widget: steps, calories and active minutes from Health Connect, 2x2 portrait
  • Reading widget: currently reading + challenge progress, taps to Goodreads
  • New API endpoints: /widget/xbox.php, /widget/steam.php, /widget/stats.php