Hi, I’m Dejan, a web developer who just shipped my first iOS app

by•

I’ve built websites for years, mostly in Webflow, and this year I learned Swift because I kept spending whole workdays without leaving the chair. The result is Office Shrimp, a stand-up and posture reminder for iPhone that stays quiet when you’ve already got up.

It launches here tomorrow. Happy to swap notes with anyone else building their first app, or talk about what it took to go from web to iOS.

21 views

Add a comment

Replies

Best

Welcome Dejan, and "stays quiet when you have already got up" is the best line in the whole post. That is the hard half of any reminder. In my app the date reminders also check first whether the person already acted, and skip the push if they did, otherwise the app nags you about the thing you just did and you turn notifications off for good. Curious how you detect the getting up part, motion data from the phone, or the watch? Good luck tomorrow!

 Thank you, George, and sorry for the late reply, launch week got away from me!

Getting up is detected from both the Watch and the phone's motion data. Both go onto one timeline, so a walk seen by both devices counts once, and then the app decides whether it was a real walk: long enough, and more moving than pausing (not just a few steps and a stop). If it was, it's credited and the timers reset, so you're not nudged about something you just did. If it wasn't, the nudge comes on schedule, and the Today screen says that walk only partly registered, so you can tap "I moved" if you did take a break. The hard part was the testing: figuring out what counts as a real walk and how each device records it.

 No worries, launch week is launch week! Merging the Watch and phone into one timeline so a walk counts once is a clean answer, and the "I moved" button is a nice honest escape hatch for when the sensors miss. I feel the testing pain: I built a Watch app for mine and could only test it on paired simulators, which tell you nothing about how real motion gets recorded. Congrats on shipping Office Shrimp!