Context
GoLavi is a social video app for the Saudi market: short videos, live rooms and live challenges between creators, with coins and gifts. Live features had to work on everyday phones and networks, on both Android and iOS.
What I built
- Live streaming. Built on AWS IVS: host and viewer flows, a live room with join and leave events, and host controls.
- Co-hosting. Inviting another person into a live stream and handing them a video tile.
- Live challenges. Two creators going head to head while viewers watch and send gifts.
- Payments. Stripe for in-app purchases, wired into the app’s coin and gift flows.
Decisions worth noting
- Treat a live room as a state machine. Joining, co-hosting, a challenge and leaving are explicit states, which made reconnects and edge cases (host drops mid-challenge) predictable.
- One codebase, platform-specific polish. React Native for both platforms, with native behaviour where it matters most: camera and microphone permissions, audio focus and backgrounding.

