• NEW VIDEO · The Descent — CJ vs Yoko · watch now
  • NEW VIDEO · The Passage — an AI fight scene built with Seedance · watch now
  • NEW SHORT · Torture Dance — JoJo menacing edit · watch now
  • LIVE · 210 devlog entries · shipping in public
  • NOW LEARNING · agentic AI architecture, MDX, Claude Code workflows
  • RECENTLY · shipped five iOS features in a single PR
  • OPEN FOR · freelance builds — retail, hospitality, web
  • BUILDING IN PUBLIC · live commits documented · MIT / CC-BY-SA
  • NEW VIDEO · The Descent — CJ vs Yoko · watch now
  • NEW VIDEO · The Passage — an AI fight scene built with Seedance · watch now
  • NEW SHORT · Torture Dance — JoJo menacing edit · watch now
  • LIVE · 210 devlog entries · shipping in public
  • NOW LEARNING · agentic AI architecture, MDX, Claude Code workflows
  • RECENTLY · shipped five iOS features in a single PR
  • OPEN FOR · freelance builds — retail, hospitality, web
  • BUILDING IN PUBLIC · live commits documented · MIT / CC-BY-SA
Captain Random// build · create · ship · collaborate
  • Work▾
    Software development5 systemsWeb development5 buildsTooling6 tools
    Ways of working
    Security by designBuild in public
  • Writing
  • Learning▾
    All courses9 liveThe Map77 chapters
    Tracks
    Ship & Run It on Shared Hosting4 coursesWrite in Public2 coursesCreative Coding2 courses
  • Now
  • Creative▾
    Creative hubMusicVideosSeries
  • About
YouTubeLet's build →
  • Work
    • Software development5 systems
    • Web development5 builds
    • Tooling6 tools
    • Security by design
    • Build in public
  • Writing
  • Learning
    • The Map77 chapters
    • Ship & Run It on Shared Hosting4 courses
    • Write in Public2 courses
    • Creative Coding2 courses
  • Now
  • Creative
    • Music
    • Videos
    • Series
  • About
YouTubeLet's build →
Home/Writing/UI

Posts on UI.

2 posts tagged "UI".

2 postsAll writing →
I
iOSSwiftUI
#01
2026-06-186 min read

I could have built this twice. ModuleOrderStore is why I didn't.

Making Home and Accounts modules user-rearrangeable could have meant two separate order stores, one per screen. ModuleOrderStore — a @MainActor singleton mirroring an existing PaletteStore pattern — is the reason it's one. The device QA round on AnF confirmed the ordering engine held; six other issues confirmed the QA was necessary.

Read post→
F
iOSSwift
#02
2026-06-156 min read

Five features, one PR: the two shared-state promotions that had to come first

PR #10 for an iOS budget app bundled a palette picker, a motion layer, a streak milestone overlay, a category-budget quest, and a save-target preference into a single side branch. Getting them to co-exist required promoting BBPalette.current and UserProfileStore before the features could be wired.

Read post→
Captain Random
// build · create · ship · collaborate

UK-based developer and creative technologist. 20+ years building for the web. 23+ years in retail and hospitality operations and leadership. Now architecting production systems with agentic AI tools and workflows — shared in public.

GitHub @CaptainRandom00X @CaptainRandom00YouTube @captainrandom00

Work

  • All projects

Writing

  • All posts
  • Agentic AI
  • Retail & Hospitality

Explore

  • Retail knowledge base
  • Security by design
  • Creative AI
  • AI News
  • Learning
  • Now page

Reach me

  • hello@captainrandom.co.uk
  • Contact page
  • Privacy policy
© 2026 Captain Random · captainrandom.co.uk · Built in public乱 — UNPREDICTABLY EFFECTIVE.