Jordan Morgan
@jordanmorgan10
The cause of several bugs since iOS 4. Working on for iOS 26. 9-5: Dev Rel at Superwall Words: Books: Apps:
✍️ New Post ✍️ One of my blindspots is writing crappy copy in interfaces. The attached image is a bit exaggerated, but like - I've written stuff just as bad 😅 Luckily, there was an awesome WWDC over this very topic: How to craft clear names for features in your app!
I try to spend money responsibly, and without question the most responsible purchase I've ever made was paying a design to make Super Nintendo box art for Alyx. Money well spent 👌
Little things I've wanted in a native harness for #Codex: 1) Auto copy to clipboard on highlight 2) A lil button to pop me back down to the beginning 3) And for them both to be Liquid Glass
Agents can't design. Here's what my share link feature I just launched looked like to start, versus where it ended. I'm convinced more than ever that UX and design will win more than it ever has. Everyone can ship now, not everyone can make it look and feel right.
☕️ Alyx Update ☕️ 📍Pinned drinks: Easily log drinks you typically use consume. 📈System load: Caffeine in your body, right now, against your typical baselines. And more! Coming to the App Store 🔜
🏀 New Feature Alert 🏀 Share Links in Elite Hoops: Create a public link to any - play - practice - or drill Check out a few examples: Practice: elitehoopsapp.com/s/practice/... Play: elitehoopsapp.com/s/play/LJol... Drill: elitehoopsapp.com/s/drill/g5G...
More refinements over the weekend on native codex. I leaned into a more Tahoe-ish direction, since that's the minimum macOS target. I've been able to use it end to end, and I hope to add mission critical things this week time permitting.
Four emails this week about wanting an undo/redo button in Elite Hoops' play designer. The plumbing has been done, but I have NO idea where to even put it. Any suggestions?
🧘🏻 Native Codex on macOS 🧘🏻 For me personally, being native matters. Apps feels better, are more efficient, have a superior user experience, etc. In the tools I use most every single day, I want those experiences to feel fantastic. So I dunno, I've been building a native Codex.
Normalize putting your app's birthday on your LLC page: daywellspent.io
✍️ New Post ✍️ noUI()? Come for my thoughts, stay for the interactive MS DOS terminal I made: www.swiftjectivec.com/noUI/
Here's a fun little interaction I'm working on. Soon, you can create public links for plays in Elite Hoops. When sharing one, I made a little web browser UI and the real play starts play back in it as well ✨
It's a small interaction, but I really like this CTA I put in Elite Hoops to let people know about the web app version. Using SwiftUI primitives to make a fake web browser 👌
After watching the prototyping with agents session from #WWDC26 (developer.apple.com/videos/play...), I tried the example prompts. Here's me the reworking implicit reloads UX in the Superwall client app. The tuning view was a great idea - I knocked out 4/5 approaches and dialed it in.
With private cloud compute opening up to developers, one edge case to check out is when the user hits usage limits (or gets close to one). In Xcode 27, there's a new scheme option you can use to simulate basically any scenario (not available, over limit, etc).
Five years ago today bestinclassiosapp.com shipped! It was one of my favorite side project memories. It would still take over 2 years (!!!) to finish it. We're in a new world now, and I hope to continue to ship tools that help everyone make the best iOS apps possible.
My oldest pulled this a few weeks ago and saved up his money to grade it with TAG. Judging by recently sold prices, he is going to make a small fortune for a 12 year old. Happy for him!
"How does Alyx calculate the last call for caffeine?" A normal user question, but it led to my favorite interaction in the app. I decided to surface that info by booting up a terminal UI and showing the info. The text even curves at the top and bottom like a CRT monitor 🤓
Made a little tool for myself: video in, zipped file out. It makes frames, audio, transcript, timestamps. Everything an LLM needs to 'watch' the clip. I'm using it for Elite Hoops to help breakdown film.
Interactive widgets on iOS 26 literally changed how I use my phone in several meaningful ways. I barely even open Alyx, this is 90% of my usage.
A feature I came up with is this concept of "Smart Badges". Here, there are two primary actions: A pass from the 1 to a 3, and a shot. Coaches typically will add notes to plays saying "1 passes to 3, 3 shoots" - so this kind of automates it.
Today I shipped one of the most challenging features I've ever worked on: a frame based play designer with an inline timeline scrubber.
An absolute banger of an update coming 🔜 📊 All of our charts 📲 New ARR/MRR widgets ✨ Unified transaction + overview 📋 User details on transactions 🏆 Updated design and UX Can't wait for you all to check this one out, I'm working on that list bit of polish.
Im (trying!) to bring Alyx to watchOS ☕️⌚️ My first adventures in watchOS development. Different animal, for sure.
Went on a little side quest with Scores for NCAA. - Game recaps via Apple Intelligence - Read out recaps, highlight words via TextRenderer - And I Liquid Glass'd that bad boi
🚨 Testers wanted 🚨 I have a huge update to Elite Hoops coming up. It adds user accounts, user sign up, and syncing data. Tons under the hood. I'd love a hand testing the sign in/up flow: testflight.apple.com/join/VUg3a9W6
When I was but a young lil' pup, these reviews used to *kill* me. But eventually, you become a hardened warrior, undeterred by reviews complaining about charging for your work, or not agreeing with design decisions you made. Keep on rollin' friends, these reviews happen to all of us 🍻
Agents are amazing at coding now, no surprise there. One way to use them that I've found valuable is as a tutor, relating new tech stacks to me using familiar parallels from SwiftUI and iOS development.