Current product
macOS desktop + iOS companion

PlanToCode is a desktop workspace for agentic coding

Use Codex chat, reusable skills, implementation plans, git review, terminal sessions, voice and video context, and an iOS companion from one local workspace.

Local desktop runtime
macOS
Codex chatLocal storage

Sessions, plans, run history, skill metadata, and terminal output stay attached to the desktop workspace.

Download the desktop app

Codex workspace

Chat with Codex CLI in a persistent desktop timeline, attach files, choose access modes, and keep project sessions organized.

Reviewable work

Use plans, markdown artifacts, inline file previews, and a git diff panel to inspect changes before execution or merge.

iOS companion

Connect from iPhone or iPad to monitor runs, continue workspace chat, browse project files, review git changes, and dictate instructions.

Plans and artifacts

Generate and edit implementation plans, keep merged plans as markdown, and preview referenced files inline.

Local terminal

Run PTY sessions from the desktop backend, persist output, restore sessions, and keep command logs attached to the workspace.

Context capture

Use native dictation, text improvement, screen recording, and Gemini video analysis when a task needs more context.

What the app does today

  • The macOS desktop app is the main workspace for project sessions.
  • Codex CLI chat streams into a persistent timeline with file attachments and access-mode controls.
  • Skills are discovered from project, global, and external sources, then verified into a local cache.
  • Plans, markdown artifacts, file previews, and git diffs stay reviewable before handoff.
  • Terminal sessions run locally through the Tauri/Rust backend with persisted output and restore support.
  • The iOS companion connects to desktop for sessions, runs, workspace chat, files, git changes, and voice dictation.

Data and model access

Sessions, plans, chat history, terminal output, skill metadata, and run records are stored locally in SQLite. Prompts and selected context are sent to model providers when you run chat, planning, transcription, or video analysis.

Hosted builds use managed provider access; private deployments can configure their own provider routing and keys.