What it does
I built the live map for an IRL marathon stream and watched a producer run everything by hand: reading chat, picking challenges, editing overlays, starting timers. Big IRL streams can afford that. Small streamers can't, and even on big streams the challenges usually come from the team, not chat. I wanted a tool that does what a producer would do for a smaller streamer and hands the writing to the community.
What it does
- Viewers pitch missions with channel points, like "score 10 basketball shots, if you fail do a backflip"
- Twitch AutoMod checks every pitch, and AI cleans it up, flags anything risky, and matches it to a real public place nearby with Google Places
- The streamer approves or rejects from a phone console. Rejects are refunded
- The streamer shortlists options and a native Twitch Poll lets chat pick the next mission
- The overlay runs the mission card, timer, map and consequences. Arrival is detected from RealtimeIRL location
- Consequences stack, rotate on screen, and clear on their own (timed, at the next stop, or after the next mission)
- A demo mode lets anyone try the full loop without a Twitch Affiliate account or going outside
How I built it
Everything was built in one Codex thread. I described the product, the safety rules, and the architecture calls, and Codex wrote the code and tests.
- Next.js + shadcn/ui for the setup page and phone console, with a custom game-show style overlay
- Firebase (Firestore, Auth, Functions, App Hosting) for realtime state
- Twitch: OAuth login, EventSub webhooks, channel points rewards and refunds, AutoMod, Polls
- Google Maps Platform: Places for search and opening hours, Routes for walking distance, Maps JS for the map overlay
- OpenAI for parsing pitches, flags and consequence types
Challenges
- Privacy: an IRL tool can easily dox its streamer. The destination stays hidden on the main card until arrival, nothing is recorded inside a privacy zone around home, and the streamer approves everything that goes on stream
- Arrival detection: in my live test I went to a different shawarma place than the one the tool picked, so auto-arrival didn't fire. Manual arrival covered it, and it showed me the arrival radius needs to be configurable
- Testing an IRL product from a desk: I built a demo mode with simulated votes and movement so judges can run the whole loop
What I learned
Codex is fastest when I make the product decisions clearly and let it handle the implementation. The hard part of an IRL tool isn't the code, it's deciding what should never be shown on stream.
What's next
A full run in LA during TwitchCon week, a delay on the live map for extra privacy, and even more streams on the fully automatic mode where the streamer only taps complete or fail.
Built With
- firebase
- nextjs