Sync your emulator to the
Extentos Simulator.
The Extentos Simulator is a pair of smart glasses in a browser tab.
Build and tune your whole app against it. When you tell your agent to mint a simulation, your emulator automatically gets wired to the simulator and the Simulator opens in your browser. If your agent can’t open a browser, it prints out the URL for you to click.
No hardware needed
Your device's webcam, mic, and speaker stand in for the glasses' camera, microphone, and audio. Plug nothing in to start.
How it's wiredSeconds per loop
Save a file and refresh — no device to grab, no APK to push, no Xcode launch between tries. The build loop is hot.
Try it liveiOS and Android at once
Point your iOS and Android emulators at the same Simulator session and exercise both platforms side by side, in one place.
Read the SDK docsEvery vendor in one Simulator
Ray-Ban Gen 2, Display, Oakley Meta — and more vendors on the roadmap — all simulated from the same browser tab. Switch glasses, keep the loop.
Cross-vendor architectureYou or your agent drives it
Click through it yourself in the browser, or let Claude Code, Codex, or Cursor drive it over MCP and verify each step.
See Extentos MCP
Test end to end.
Your Simulator and emulator work together exactly how they would in production.
1import GlassesCore 2 3final class CoachHandler { 4 let glasses: any ExtentosGlasses 5 6 func start() { 7 Task { 8 for await t in glasses.audio.transcriptions() { 9 guard case .final(let text, _, _, _) = t, 10 text.lowercased().contains("ask my coach") 11 else { continue } 12 13 _ = await glasses.audio.speak("What would you like to know?") 14 guard case .success(let q) = 15 await glasses.audio.recordDiscrete() 16 else { continue } 17 18 let answer = try await anthropic.ask(q.transcript) 19 _ = await glasses.audio.speak(answer) 20 } 21 } 22 } 23}
Install the MCP. Tell your agent to mint a simulation.
Drop the Extentos MCP server into Claude Code, Cursor, or Windsurf — and minting a Simulator is one prompt away.