>_ Code Compilers

Run code on your iPhone. Then watch how it ran.

On-device compilers for Python and JavaScript with a step tracer that replays your program line by line, a variables inspector, a real REPL, Shortcuts actions — and an assistant that runs on the phone itself.

Pycell and Jotcell run entirely on your device — no account, no network, no code leaving the phone.

Typing a Fibonacci generator into Pycell and running it on device

Pycell — CPython running on the device

Five apps

One language each, done properly.

Rather than one app that half-supports everything, each app ships the grammar, snippets, keyboard row and runtime for a single language.

Pycell

Python. CPython 3.14 embedded, with the tracer, REPL and assistant.

Runs on device

Jotcell

JavaScript on JavaScriptCore, with the tracer, REPL and assistant.

Runs on device

Java Compiler

Current JDK, compiled and run in the cloud.

Cloud compiler

Kotlin Compiler

The official Kotlin toolchain.

Cloud compiler

Swift Compiler

Current Swift release, with full stdlib.

Cloud compiler

Step tracer

See every line run, and every variable change.

Press Trace instead of Run and the program is recorded as it executes — each line, each call and return, and the value of every variable at that moment. Scrub back and forth or play it like a video, with the current line lit up in the editor. It is what a debugger's stepping does, without the setup.

After any run, the Variables tab lists what the program defined, with type and value. The REPL keeps a session alive between entries. Every saved script is a Shortcuts action.

On-device assistant

An assistant that can actually run your code.

On iPhones with Apple Intelligence, the assistant explains a script, runs it to check the output, traces it to find where a value goes wrong, and proposes a fix you approve before it is applied. It uses Apple's on-device model: no account, no key, and nothing you write leaves the phone.

Live diagnostics

Mistakes surface before you press Run.

The editor parses as you type and marks the exact line that will fail — a missing colon, an unbalanced bracket, a name that was never defined.

Highlighting comes from real tree-sitter grammars, not regular expressions, so colours stay correct inside strings, comments and nested structures instead of falling apart on the tricky cases.

The editor marking line 3 with SyntaxError: expected ':'

A missing colon, caught before the program ever runs

Code snapshots

Turn a snippet into something worth sharing.

Export any selection as an image — light or dark, with or without line numbers, window controls and the console output underneath. Straight into Messages, a pull request, or your notes.

Import and export real source files through the Files app too, so work you start on the phone doesn't get stuck there.

The Code Snapshot screen previewing an exportable image of the code and its output

Every option below is live — theme, line numbers, output

One tap away

The tools, where your thumb already is.

Formatting, documentation, syntax correction, snippets, OCR and the syntax tree all live behind a single button in the corner — not buried three screens deep in a settings list.

Import a .py from the Files app, share what you wrote back out, or clear the editor and start again.

The tool menu open over the editor, showing Snapshot, OCR, AST, Format, Docs, Fix, Snippets and file actions

Python Compiler — the tool menu

A keyboard built for code

An accessory row with the symbols your language actually uses — and you can edit which keys appear.

Snippets you control

Built-in scaffolds for loops, functions and error handling, plus your own, editable and reorderable.

Multiple runtime versions

Pin the language version you care about instead of whatever the service happens to default to.

Abstract syntax tree

Browse a file's real structure as a tree — useful for understanding unfamiliar code quickly.

Text from photos

Lift code out of a screenshot or a textbook page with on-device OCR. Nothing is uploaded.

Fonts, themes, invisibles

Monospace font pack, light and dark themes, and whitespace markers when indentation matters.

Premium

The tools that make it a workshop, not a scratchpad.

Everything below is part of the premium unlock. The free tier keeps the editor, unlimited runs and a daily allowance of credits for the extra features. Premium is what you buy when the phone stops being the place you try things and starts being the place you work.

Mixed two- and six-space indentation being normalised to consistent four-space blocks
Code FormattingNormalises indentation and spacing without reflowing your code. Mixed tabs and two-space blocks come out consistent.
The concrete syntax tree, with keywords and punctuation shown as quoted tokens alongside the named nodes
Syntax TreesThe real tree-sitter parse, in three readings: Symbols for a declaration outline, AST for the named nodes you reason about, and CST for every token the grammar matched, punctuation included. Field names, source text and line:column throughout.
Code recognised from an image, shown in an editable text view before it is inserted
Text from ImagesPoint it at a screenshot or a textbook page. Runs on device with Apple's Vision framework, rebuilding the indentation and dropping the line-number gutter. Always check the result before inserting it.

No watermark on snapshots

Export code images clean, at 3× scale, with the console output attached.

Share and save as source

Send a real .py out to another app, or write it into the Files app.

Custom snippets and keys

Add your own scaffolds and choose which symbols sit on the keyboard row.

Pick the language version

Pin the runtime you target rather than accepting whichever one is default.

Fonts, invisibles, auto-save

A monospace font pack, whitespace markers, and your last input restored on launch.

Documentation & syntax fixes

Optional, and powered by your own OpenAI key — we never proxy your code through us.

Pricing

Free to try. Premium when you need it.

Running code is free and unlimited. Formatting, scanning, file export and watermark-free snapshots use a daily allowance of credits. Premium removes the credit count and unlocks custom snippets, coding fonts and the rest. Bought per app.

Monthly

$3.99 / mo

Everything unlocked. Cancel any time from the App Store.

Lifetime

$29.99 once

One payment, no renewal. Available in Python Compiler and JS Compiler only.

Why lifetime in only two apps? Python and JavaScript run on your device, so they cost us nothing per execution and a one-time price is honest. Java, Kotlin and Swift depend on compilation servers with an ongoing cost — we would rather not sell a lifetime unlock we can't promise to honour.

Questions

Does my code leave the device?

In Python Compiler and JS Compiler, never — both embed a real interpreter and run offline. Java, Kotlin and Swift cannot run their toolchains on iOS, so those three send the editor's contents to a compilation service and show you what comes back. Don't run confidential code in those three.

What is a credit?

Running code never uses credits. A credit pays for one use of an extra feature, such as the formatter, scanning code from an image or a watermark-free snapshot. Free users get a daily allowance that resets at 00:00 UTC. If you run out you can watch a short rewarded video for a few more, up to a daily cap, or go premium for unlimited credits. There are no other ads anywhere in the app.

Do I need an account?

No. There is no sign-up, no email, no profile. Your code and settings live in the app's own storage on your device.

Is premium shared between the apps?

No — each app is a separate purchase, because each one is a separate app on the App Store. Restoring purchases inside an app recovers anything you bought for that app.

What happens if a compilation service disappears?

The cloud-backed apps can be pointed at a different backend remotely, without an app update, and fall back automatically if the primary one is unreachable. That's deliberate — it's what makes the pricing above sustainable.