UghOkay started in 2025 as a three-day Expo build: tap a button, get one small thing to do instead of opening the feed. It worked, it shipped, people used it. Then it sat frozen for a while.
This year I rebuilt it from scratch, natively in SwiftUI. Here's why, and what's different.
Why rewrite something that already worked
The Expo version hit a ceiling on the parts that actually mattered: a proper home-screen widget, performance, and that hard-to-fake "native" feel. So v2 is a full native rewrite — SwiftUI, WidgetKit, App Groups, RevenueCat for subscriptions.
What it is now
You're about to open TikTok / Instagram / YouTube. Instead, you open UghOkay, tap once, and it hands you one small thing to do — a walk, a stretch, a book, whatever you actually put in. Not a feed. Just one thing, then it gets out of your way.
The key piece is the widget that lives where the feed used to — same thumb reflex, different destination. A small smart-suggestion engine picks what to show based on time of day and how recently you've seen it, so it's not pure random. No account, no ads, no tracking. Free for 10 activities; Unlimited unlocks the rest.
What I learned
The widget is the whole product, and v1 undersold it. Repositioning v2 around "park it where the feed lives" made the thing finally make sense in two seconds.
The hardest part was the message, not the code. v1 leaned on self-deprecating "this probably won't help" humour — which is funny, but it quietly tells people not to value it (and definitely not to pay for it). v2 is honest but not apologetic: it's "your brain vs. the algorithm," one thing instead of the feed.
Native rewrites are a real cost. I don't regret it, but "rebuild it properly" is never the cheap option — go in with eyes open.
It's live on the App Store — ughokay.com. If you keep opening the feed on reflex (same), give it a shot and tell me where it annoys you.
