explaingit

kappaemme-git/codex-phone-lab

26ShellAudience · vibe coderComplexity · 2/5ActiveLicenseSetup · easy

TLDR

A Codex skill that lets the assistant scaffold small Expo apps and preview them on a real phone via Expo Go, skipping Xcode and TestFlight.

Mindmap

mindmap
  root((codex-phone-lab))
    Inputs
      Codex prompt
      Phone with Expo Go
      Wi-Fi network
    Outputs
      Expo project
      QR code preview
      Live reload on phone
    Use Cases
      Prototype mobile apps
      Skip Xcode setup
      Hot-reload from Codex
    Tech Stack
      Shell
      Node.js
      Expo
      Expo Go

Things people build with this

USE CASE 1

Prototype a phone app from a Codex prompt without installing Xcode or signing into App Store Connect.

USE CASE 2

Preview a generated Expo app on an iPhone over LAN by scanning a QR code in Expo Go.

USE CASE 3

Fall back to Expo tunnel mode when the laptop and phone are on different Wi-Fi networks.

USE CASE 4

Run doctor.sh to verify a working Node and npm setup before starting a new Expo project.

Tech stack

ShellNode.jsExpoJavaScript

Getting it running

Difficulty · easy Time to first run · 30min

Needs Node, npm, the Expo Go app on a phone, and the phone on the same Wi-Fi for LAN mode, otherwise fall back to tunnel mode.

MIT license, you can use, modify, and redistribute it freely, including commercially, as long as you keep the copyright notice.

In plain English

Codex Phone Lab is an add-on for Codex, a coding assistant, that helps it build small phone apps and show them on a real iPhone or Android device. The whole point is to skip the slow parts of mobile development. You do not need Xcode, you do not need a TestFlight invite, and you do not need to put anything in the App Store. Instead, the app runs inside Expo Go, an app you install from your phone's normal store. Installation is a single command, npx --yes codex-phone-lab, which copies the skill files into a hidden folder named .codex/skills/codex-phone-lab in your home directory. After that, you can ask Codex something like, use codex-phone-lab and make me a notes app for my phone, and the skill takes over the setup steps. What the skill actually does is checking your local Node and npm install, creating a new Expo project, starting the Expo preview server, and showing a QR code that Expo Go on the phone scans to load the app. The README highlights that it nudges Codex to write real mobile screens instead of the generic web-style landing pages that mobile prompts sometimes produce, and that it keeps a tight loop where editing the code refreshes the running app on the phone. The project defaults to Expo SDK 54 because Expo Go on the public app stores is usually tied to a specific SDK version and using the wrong one causes an incompatibility error. There is a way to override the template through an environment variable if you have a newer Expo Go installed. If the phone and computer cannot find each other on the same Wi-Fi network for the default LAN mode, there is a tunnel mode that routes the connection through Expo's servers instead. The README lists three small shell scripts that ship with the skill: new-expo-app.sh to create a new project, start-phone-preview.sh to start the live preview, and doctor.sh to do a quick environment check. The license is MIT.

Copy-paste prompts

Prompt 1
Install codex-phone-lab with npx --yes codex-phone-lab, then ask Codex to scaffold a notes app with local storage. Show the exact prompt I should type.
Prompt 2
I get an Expo Go SDK mismatch error with codex-phone-lab. Walk through the env var override to target a newer SDK and what to install on the phone.
Prompt 3
My phone cannot see the Expo preview from codex-phone-lab on LAN. Diagnose firewall and Wi-Fi issues, then switch to tunnel mode step by step.
Prompt 4
Read start-phone-preview.sh from codex-phone-lab and explain exactly which commands it runs and how the QR code is generated.
Prompt 5
Extend codex-phone-lab so it also runs a Jest test pass before printing the QR code, and only previews on green tests. Show the script diff.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.