ZenJournal V5 is almost ready
Here is the story why it took this long. Will you help us TestFlight this?
Here is something new subscribers to this newsletter may not know: you didn’t miss anything. Since starting this newsletter in 2021, I haven’t sent a single issue. I’ve only updated ZenJournal a couple of times—and nothing felt worth making noise about.
But this year, finally, that changes.
Every year after WWDC, I revisit SwiftUI, hoping it will be the moment I can rewrite ZenJournal’s React Native codebase and fully tap into CloudKit—offline sync, deeper native capabilities, maybe even a watch app one day.
I’ve tried this more times than I can count—at least four serious attempts. And every time, I hit the same wall. List, VStack, LazyVStack… none of them could handle what we needed: variable heights, dynamic content, thousands of items. Scrolling always felt janky. Maybe it’s a skill issue. Maybe it’s just not what SwiftUI is optimized for yet.
Late last year, I tried again—this time with the “improved bidirectional lazy” LazyVStack. Still not as smooth as my React Native list.
So I changed approach.
After successfully migrating my other app, DoubleMemory [1], to UIKit, I gave the ZenJournal codebase to Codex 5.2 and asked it to rewrite it in UIKit.
It took less than 20 minutes.
And suddenly—I had it. Smooth scrolling above 60fps. Instant jumps to any log after search. After days of iteration and rebuilding features, it stayed stable. No jank.
Fast forward to today: ZenJournal V5 is now on TestFlight, and I need your help.
Originally, I considered launching this as a separate app. That would give people the choice to stay on the old version—but it would also mean manually exporting and importing data.
And honestly—if this version is truly better, why split the experience?
So I didn’t.
Instead, I used Codex again to build a migration flow. When you upgrade, your existing logs will be moved into the new CloudKit-backed storage automatically. You’ll be guided through a simple migration process and can choose how to handle your legacy data.
This is where you come in.
If you’re already using ZenJournal, you’re the perfect person to test this. Install the TestFlight build, try the migration, and see how it feels. You can always go back to the App Store version if needed (though anything you create in V5 will stay there).
Here’s the TestFlight link:
https://testflight.apple.com/join/QS4petGr
If you try it, I’d really appreciate a quick note at hi@thezenjournal.com—whether everything worked smoothly, whether you had existing logs, or if you ran into any issues. Every bit of feedback helps validate the release.
You’ll also get early access to everything new in V5. I’ll go deeper on the features in the next issue when we officially launch—or you can explore it yourself.
We also refreshed the homepage: https://thezenjournal.com
There’s a mock web interface there if you want to get a feel for how it works.
I believe we’re building the fastest minimalist journaling app out there. If you think otherwise, I want to hear it—tell me how we can make it faster.
We also updated our logo.
I’ve asked a few people what they see in it—and I get a different answer every time.
Curious what you see.
Post your answer on social and tag us (Twitter/X, Instagram, etc.).
First unique answers will get:
a free 12-month code, or
50% off lifetime
Let’s see how different the interpretations are.
Shao
Maker, ZenJournal.
—
[1]: DoubleMemory is my latest bookmarking, read-later, and clipboard app.

