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.
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 deviceJotcell
JavaScript on JavaScriptCore, with the tracer, REPL and assistant.
Runs on deviceJava Compiler
Current JDK, compiled and run in the cloud.
Cloud compilerKotlin Compiler
The official Kotlin toolchain.
Cloud compilerSwift Compiler
Current Swift release, with full stdlib.
Cloud compilerStep 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.
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.
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.
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.
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
Everything unlocked. Cancel any time from the App Store.
Yearly
The same as monthly, at roughly a third of the price over a year.
Lifetime
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.