Settings

    A real iPhone in your browser

    Every app on VP0 runs live in a pixel-accurate iPhone — not a screenshot, not a video. Grab it, scroll it, type in it. Then embed it anywhere.

    Today
    2 of 4 done
    Fieldnotes
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·
    ·

    What it does

    Instant boot
    Approved apps ship pre-compiled — the simulator opens on a running app, no bundler spinner.
    Dynamic Island, alive
    Apps drive real Live Activities: timers tick, music plays, calls ring — with the real iOS spring.
    A living iOS
    Lock screen, wallpapered home screen, the real app-open morph, flick-home, and a live App Switcher card.
    Feels like a phone
    Momentum drag-scroll with iOS deceleration, a QuickType keyboard, haptics you can see.
    Guided tours
    Every app can demo itself — a synthetic finger taps and scrolls; touch it and you take over instantly.
    Any npm package
    The runtime bundles pure-JS npm dependencies on demand — no fixed allowlist ceiling.
    Simulator.app tricks
    Slow animations, color-blindness filters, Dynamic Type, RTL, the iconic 9:41 status bar.
    Record & embed
    Record the device to video in one click, or embed the live phone on any website.

    Embed a live app on your site

    Every public app has a live embed at vp0.com/embed/<slug>. Paste this and the phone boots on your page:

    <iframe
      src="https://vp0.com/embed/YOUR-APP-SLUG?theme=dark"
      width="360" height="780"
      style="border:0;border-radius:16px"
      allow="autoplay" loading="lazy"></iframe>

    Params: theme=light|dark, appearance=light|dark, device=iphone-16-pro|iphone-se|ipad-pro-11|…. Platforms with oEmbed (Notion, Medium, WordPress) expand pasted VP0 links automatically.

    Devices

    DeviceLogical sizeScaleSafe areaSensor
    iPhone 16 Pro402×874 pt@3xT59 · B34Dynamic Island
    iPhone 16 Pro Max440×956 pt@3xT62 · B34Dynamic Island
    iPhone 16393×852 pt@3xT59 · B34Dynamic Island
    iPhone SE375×667 pt@2xT20 · B0
    iPad Pro 11"834×1194 pt@2xT24 · B20

    The honest ceiling

    The simulator runs React Native through react-native-web inside a locked-down sandbox — no network egress, no native binaries. Native-only modules (camera hardware, Bluetooth, HealthKit) are refused with a clear reason; maps, video, and web views render honest offline equivalents. Real-device behavior always wins: export the Expo or Xcode project from any app page and run it in Xcode.