Environment injection, direct initializer passing, and @Binding all share SwiftUI state, but they carry different meanings around ownership, coupling, and interface scope.
A collection of hard-won SwiftUI patterns for memory, async work, and Observation edge cases. Covers view model lifetime bugs, debouncing, async button actions, task ownership, reference cycles, and the tension between @Observable and actors.
This past week I shipped across code and writing at a pace that would have felt unrealistic before AI. The surprising part was that it did not feel frantic; it felt like less friction between thought and artifact. It truly feels like working at warp speed, 😜.
Look at this. This is what I have shipped so far in a single week and growing (full list here):
I wanted a thread-like place for public work notes that stayed fully mine. Threaded timeline entries let Subspace Builder capture progress in Markdown, in Git, and in whatever order the work actually happened.
A friend built a tool that lets a browser reach local TCP services over WebRTC, no open ports, no install, no public IP required. I went down the rabbit hole understanding how it actually works.
A 3am rabbit hole into Ethereum from the perspective of a markdown-based digital garden: ledgers, trust minimization, on-chain verification, and what a hybrid publishing model could look like.
I hit a bug that looked too small to be interesting: entries on my timeline page were not sorted correctly within the same day.
The page had a date, a time, and a custom Eleventy collection sort. That sounds like the whole problem space. Sort by date plus time, reverse the collection for newest first, done. Instead, April 12 was rendering in a strange order: 00:01, 10:11, 22:16, 15:49, 22:20.
A reflection on what AI might erode if we let convenience replace judgment: junior skill-building, critical thinking, and the slower human process of forming a view before outsourcing it.
A short reflection on how a few recent blog improvements, small experiments, and notes turned my site into a digital garden that feels calm, cohesive, and genuinely mine.
Subspace Builder grew from v1.13.0 to v1.20.0 with draft previews, theme-aware code snippets, Docker workflows, curated series pages, homepage pagination, and notes.