> If you were to do it all over again, would you think about building on native technologies instead?
Although it took a lot of effort, it was a new set of UI patterns for React Native, and it hadn't really been done well yet.
Where most RN teams go wrong is they never dip to native code. On the contrary, we wrote a lot of native code, both for our own packages and for updating RN core itself.
The benefits with React Native's composition model are hard to beat. For example, thanks to React's composition with hooks and components, we will likely be able to open source most of the problems we solved into an easy-to-consume library. Or at least that's the hope!
For the live activities, we used expo-apple-targets. That helps bootstrap it, link assets, etc. The UI itself is SwiftUI. The hard part here was actually the server-driven events for the activities during the stream. Live activities can be annoying to work with using APNs.
You can just use Share.share() from react-native directly for the share sheet.
Sweet, didn't know about expo-apple-targets. I think that answers both. By share sheet I meant external, so a safari -> share sheet -> v0.dev -> your custom share view external to the app. But I'm sure it's the same flow with expo-apple-targets.
Overall, our focus right now is iOS, but we want to do Android at some point. Even though we used React Native, we also wrote a good amount of native Swift code under the hood to power native modules.
Thanks for sharing, sorry about that. We had an issue on the backend with Apple sign in that we just fixed today. Mind signing out and back in to see if it's fixed?
I'm curious how much y'all used AI in the development process of the app. Definitely a lot of thought put into the architecture as shown in the post here, what was the split of human written vs. AI-written code? Especially curious given v0 is intended for building with AI.
Really great writeup, super thoughtful! Been a v0 user and fan for awhile now, excited to give this a shot!
Our biggest usage of AI was actually a code review bot which lives on GitHub PRs. It reviews our code on every commit. It was originally an internal tool, but it's now Vercel Agent.
We also used v0 for prototyping ideas and designs for the native app.
I ultimately prefer React Native's composition model over SwiftUI.
Something that attracts me to RN is that it's easy to drop down to native. We use SwiftUI for a number of components under the hood. But for a full app, React Native felt better.
Although it took a lot of effort, it was a new set of UI patterns for React Native, and it hadn't really been done well yet.
Where most RN teams go wrong is they never dip to native code. On the contrary, we wrote a lot of native code, both for our own packages and for updating RN core itself.
The benefits with React Native's composition model are hard to beat. For example, thanks to React's composition with hooks and components, we will likely be able to open source most of the problems we solved into an easy-to-consume library. Or at least that's the hope!