hey, i'm Jay.
i build apps & ship in public.

Here's where I write about what I'm building, what I'm breaking, and what I'm learning.

→ read the posts subscribe to the newsletter
// recent posts
May 1, 2026 shipping notes
From Screenshots to Downloads
Screenshot changes improved Camp Notes discoverability and pushed better growth this month, while onboarding and paywall tests still need more signal.
Apr 29, 2026 swiftcore dataswift concurrency
Stop Using @MainActor as a Threading Fix for Core Data async/await
Using `@MainActor` to silence Core Data concurrency errors keeps service-layer work on the main thread. Learn how `newBackgroundContext()` and `context.perform` create a safer async/await pattern.
Apr 22, 2026 webastro
How Automated OG Images Work on This Site
Every post on this site gets a custom social card at build time. No manual work required. Here's how it works.
Apr 15, 2026 aiworkflowjaba
How I Automated JABA's Developer Update Posts
I built a GitHub Actions pipeline that collects merged PRs across three repos, generates a developer update post with Claude, validates the output, and opens a PR for my review every two weeks.
Apr 4, 2026 shipping notes
Numbers Up, Lessons Mixed 📊
New users nearly 5x'd in Camp Notes, plus a technical trick to keep everyone on the latest version.
// about

I'm Jay Wilson, an indie app developer who cares deeply about craft. I believe the best apps aren't just functional — they're thoughtfully designed, carefully built, and genuinely enjoyable to use. The details matter.

I run CCT Plus LLC, where I build and ship my own apps. Every product I put out is something I actually use myself — no filler, no dark patterns, nothing that wastes the user's time.

This site is where I write about the process. The decisions that go into building something worth using, the tradeoffs I actually face, and the things I learn along the way. It's honest, it's specific, and it's for people who care about making good software.

If you want the personal side, I'm over at jaywilson.zip.

// newsletter