A poor man's Stream Deck — powered by the phone you already own.
Phone Extend turns an Android phone or iPhone into a customizable Windows control deck. Run the small tray app on your PC, scan a one-time QR code, and your phone becomes a grid of buttons and sliders for media, volume, apps, shortcuts, windows, and multi-step workflows.
No special hardware. No cloud account. No subscription. Everything stays on your private Wi-Fi.
Note
Phone Extend is an independent community project and is not affiliated with or endorsed by Elgato. “Stream Deck” is used only to describe the style of controller.
![]() |
![]() |
| Design decks on your computer | Control Windows from your phone |
Pairing takes one scan and the code expires after five minutes:
- Control play/pause, previous, next, stop, master volume, and mute
- Control the volume of an individual running application
- Open apps, folders, and websites
- Send keyboard shortcuts or type text
- Minimize, maximize/restore, or close the foreground window
- Combine actions into safe, sequential workflows
- Switch decks automatically when a mapped Windows app becomes active
- Drag buttons and sliders anywhere, with automatic grid snapping
- Use portrait or landscape layouts with configurable rows and columns
- Add custom PNG, JPEG, or WebP icons
- Add long-press, double-tap, press, and release actions
- Configure vibration, sound, label size, and icon size per control
- Keep the phone screen awake while it is connected
- Export or import individual workflows and complete decks
The included Control Center deck works immediately and contains media controls, master volume, mute, File Explorer, a browser shortcut, Copy/Paste, and window controls.
A workflow is an ordered set of actions that runs from one button or gesture. Start with a polished template or a blank workflow, then use the inline Add action panel to search and add steps without leaving the page. The panel collapses after you choose an action so you can immediately configure it in the workflow timeline.
Actions are organized by purpose:
- Apps and windows — launch or focus an app, open a URL, manage the foreground window, save or restore a workspace layout, and control virtual desktops
- Custom app control — use Codex task controls and activity/usage status today, with room for OBS and other integrations later
- Information — show date and time, weather, PC health, network latency, and connection details as individual status actions
- Media and input — control playback and volume, play a sound from a chosen file, send hotkeys, type text, and work with the clipboard
- Logic and safety — insert variables, conditional branches, wait states, delays, and confirmation prompts before sensitive steps
- Navigation — switch decks or profiles as part of a larger routine
Phone Extend includes useful starting points such as Morning Briefing, Codex Focus Session, System Pulse, Save Workspace Snapshot, Restore Workspace Snapshot, Safe Clipboard Paste, and Quiet Media Break. Templates are fully editable; they create normal workflows rather than locked presets.
See the complete workflow guide for action behavior, variables, branching, status widgets, gesture assignments, safety boundaries, and step-by-step examples.
Phone Extend currently supports 64-bit Windows 10 and Windows 11.
- Open the latest Phone Extend release.
- Download the Windows setup file. If a setup file is not listed, download
PhoneExtend-Windows-x64.zipinstead. - For the ZIP version, right-click the file, choose Extract All, and run
Phone Extend.exeinside the extracted folder. - If Windows SmartScreen appears, choose More info → Run anyway. Early community builds are not code-signed yet.
- When Windows Firewall asks, allow access on Private networks only.
Phone Extend appears in the Windows system tray near the clock. Click its tray icon to open the editor.
Open Settings in Phone Extend and enable Launch at Windows login. The app can then sit quietly in the tray whenever you use your computer.
Your PC and phone must be connected to the same trusted home or work Wi-Fi.
- Open Phone Extend on your PC.
- Click Pair phone in the upper-left area of the editor.
- Open your phone's Camera app and scan the QR code.
- Tap the link shown by the camera.
- The controller opens automatically and stays paired until you disconnect or replace it.
Only one phone is paired at a time. Pairing a replacement phone revokes the previous phone.
This makes Phone Extend feel much more like a dedicated controller.
Android / Chrome
- Open the paired controller in Chrome.
- Tap the three-dot menu.
- Choose Add to Home screen.
iPhone / Safari
- Open the paired controller in Safari.
- Tap the Share button.
- Choose Add to Home Screen.
Browser vibration support varies by phone. Visual press feedback always works, and vibration can be enabled per button or slider when the browser supports it.
- Open the desktop editor from the tray icon.
- Choose a deck in the left panel.
- Set its rows, columns, background, and phone orientation.
- Add a Button, Slider, or Status control.
- Drag the control into place. It snaps to the grid and will not allow an invalid overlap.
- Click the control to change its label, icon, color, size, feedback, and assigned workflow.
- Click Save deck. A connected phone updates automatically.
Use the Advanced control section only when you need alternate gestures, custom feedback, or more detailed appearance settings.
A deck can activate automatically for a specific program:
- Find App mappings in the deck editor.
- Search installed or running apps, or click Browse .exe.
- Select the program and save the deck.
- Bring that program to the foreground; Phone Extend switches to its mapped deck.
If no app-specific deck matches, Phone Extend returns to the default deck. You can also pin a deck from the phone to temporarily stop automatic switching.
- Confirm the PC and phone are on the same Wi-Fi.
- Set the Windows network profile to Private, not Public.
- Do not use guest Wi-Fi; many guest networks prevent devices from seeing each other.
- Make sure Phone Extend is allowed through Windows Firewall on Private networks.
- Temporarily disable a VPN on the phone if it blocks access to local addresses.
Leave the page open for a moment; it reconnects automatically. If it does not, reopen the home-screen shortcut. Generate a new QR code only if the phone was revoked or its browser data was cleared.
Look for the Phone Extend icon in the hidden-icons menu beside the Windows clock. Click the icon to open the editor. If the preferred port is already in use, Phone Extend automatically selects another available port.
Avoid assigning both a tap workflow and a press/release pair unless that behavior is intentional. Open the control's Advanced section to review alternate gestures.
Run Phone Extend in the same signed-in Windows session as the apps you want to control. Per-app volume is available only while that application's audio session exists.
Phone Extend is designed for a trusted private LAN:
- Controller requests and WebSocket connections require a revocable device token.
- QR pairing codes are random, single-use, and expire after five minutes.
- Editor and administration routes accept localhost connections only.
- Phone requests from non-private network addresses are rejected.
- Pairing a new phone revokes the old phone.
- Workflows cannot execute arbitrary scripts or shell commands.
- There is no cloud relay, analytics service, or remote internet control.
The controller uses local HTTP so pairing works without certificates. Use it only on a Wi-Fi network you trust.
This section is for developers. Regular users should use the release download above.
Because the project runs locally and its source is available, you can also use Codex, ChatGPT, or another AI coding assistant to shape Phone Extend around your setup. Ask it to add an action type, build an allowlisted integration, refine the editor, or create a workflow template—then review the changes and run the test suite before using them. The workflow guide is the best context to give an AI assistant when extending workflow behavior.
Requirements:
- Windows 10 or 11
- Python 3.11 or newer
- Node.js 20 or newer
# From the Phone Extend repository
py -m venv .venv
.venv\Scripts\Activate.ps1
py -m pip install -e ".[dev]"
Set-Location frontend
npm install
npm run build
Set-Location ..
phone-extendFor console development, run:
phone-extend --no-trayThen open http://127.0.0.1:8765/editor. Phone Extend may choose the next free port if 8765 is occupied.
py -m pytest
Set-Location frontend
npm test -- --run
npm run buildpowershell -ExecutionPolicy Bypass -File packaging\build.ps1The portable application is created in dist\Phone Extend. If Inno Setup 6 is installed, the Windows installer is also created in installer\Output.
Phone Extend is an early Windows-first release. Current limitations include one paired phone per PC, trusted-LAN access only, and no macOS/Linux host. Bug reports and focused pull requests are welcome through GitHub Issues.
User data is stored under %LOCALAPPDATA%\Phone Extend. Database backups are created before schema migrations. Uninstalling the app leaves this data in place unless you remove it manually.
Phone Extend is available under the MIT License.


