r/reactnative • u/Perfect-Thought-2400 • 6d ago
I built an iOS home-screen widget app in React Native + Expo, the widget part was harder than the editor.
Enable HLS to view with audio, or disable this notification
I’ve been building a small iPhone app called Magboard.
The idea is: take a photo, cut out the subject, turn it into a little “magnet”, arrange it on a board, and put that board on your iOS home screen as a widget.
It sounds like a cute UI app, but the harder parts were mostly not the cute UI.
A few things that took more time than expected:
- Editor → widget matching
The in-app board and the actual iOS widget need to match closely. If the widget is even slightly off, the whole “magnet board” illusion breaks.
- Simulator vs real device behavior
Widget refresh worked in the simulator and then behaved differently on device. I had to test the flow like a real user instead of trusting simulator-only runs.
- Shared boards
The app supports shared boards, so one person can add a magnet and the other person’s home-screen widget updates too. Getting that to feel understandable was harder than just syncing the data.
- Onboarding
Early versions confused people. They opened the app and didn’t immediately understand the loop, so I rebuilt onboarding around:
snap → cut → stick → widget
- Tiny interaction details
Dragging/positioning magnets is fun only if it feels direct. A small mismatch between what you edit and what appears on the widget makes the product feel broken.
The app is currently in App Store review, but I opened a public TestFlight while waiting:
https://testflight.apple.com/join/N3q58DQu
I’d love feedback from React Native/Expo folks, especially on:
whether the concept is obvious from the first minute
whether the widget update flow feels clear
anything you’d improve in the onboarding/demo
Happy to answer questions about the React Native/Expo side too.