Kinetic · spoken out loud
Trendi
The gap between having an idea and pressing record.
Build 118 is on TestFlight and installed internally. No external testers yet
Verified 2026-07-20 · 3 sources
- Build 118 uploaded, processed, and installed from TestFlight
- TestFlight app page screenshot showing Version 0.1.0 (118), release date Jul 19 2026, 90-day expiry, with an Open button
- Builds 114–119 exist as archives
- ~/Library/Developer/Xcode/Archives/2026-07-{12,17,19}/Trendi-0.1.0-1*.xcarchive
- The data-isolation gate is incomplete
- PENDING-beta-user-handoff.md — “Status: PENDING — User B unavailable”, cross-user rows all read “Not run”
The human problem
Most creators don't run out of ideas. They stall in the ninety seconds between having one and pressing record, because a thought in your head is not the same thing as words you can say on camera. I watched people abandon good ideas at exactly that gap, including me.
The thesis
Nobody needs another script generator. They need the specific sentence to open with. A coach in your pocket, not a script mill.
Where it actually stands
- An iOS app in SwiftUI. You type the messy thought; it hands back hooks, a recordable script, a caption, and a simple shot plan.
- Build 118 was uploaded to App Store Connect, imported clean, and is installed from TestFlight on my own device. That makes it available to internal testers — which today means me.
- Build 119 already exists: an isolation-hardened release candidate, archived and validated. It has never been uploaded, and its three commits exist only on this machine.
- The clean-state data-isolation gate is unfinished. The User A leg passed all seventeen steps it could run; step eighteen needed a second, genuinely different Apple account on the test phone, and there wasn't one. No cross-user conclusion is possible until that runs.
- The newer generation pipeline is still switched off — builds 117, 118 and 119 all ship with the V1 client.
Decisions and tradeoffs
Turned the newer generation pipeline back off before shipping.
V2 wrote better copy and broke written-mode, leaked a default that assumed one platform, and rejected legitimate stories at the claims gate. A better sentence isn't worth a worse product.
Refused to call 118 the internal release candidate.
It's uploaded, it's installed, and it still isn't signed off, because the cross-user half of the isolation test never ran. An untested isolation boundary is exactly the kind of thing that looks fine until it very much isn't.
Kept it iOS-only and unpublished.
It is easier to learn from ten creators who can reach me than from a public listing I can't support.
What building it taught me
Shipping and delivering are different verbs, and I learned it the expensive way — with a finished build sitting behind an account permission for days. What I'd add now is that finishing the upload didn't finish the job either: 118 is in TestFlight and still isn't cleared, because the last gate needs a second person, not more code.
What isn't true yet
- Not on the App Store, and not submitted for review.
- No external testers. The only device it has ever run on through TestFlight is mine.
- Data isolation between two users is unproven — the second half of that test has never been run.
- Build 119, the isolation-hardened candidate, is not uploaded and not backed up anywhere but this Mac.
