# Build and ship your website from your phone.

NomaDev runs Claude Code on the computer where your sites live, and leaves the decisions to you, on your phone: read the changes it made, approve them, commit, and publish to your server. Even when you're not at your desk.

WordPress · Laravel · Symfony · Nuxt · Next.js · Astro · plain HTML — any site that lives in a folder and goes onto a server.

## Claude writes the code. You make the decisions.

No change is applied before you've seen it. Green is what Claude has already done; amber is what's waiting for an answer from you.

- **Say what you need** — Type it or dictate it. If you have Claude skills installed on that computer, the app finds them and you pick one from a list.
- **Follow the work live** — You see the files it opens, the commands it runs, the tests it launches. When it finishes, or stops on a question, you get a notification.
- **You allow the commands** — Before running a command, Claude shows it to you and waits for your answer. Nothing runs just because you were away from your desk.
- **You check every change** — You see the lines added and removed, file by file, in colour. If a change doesn't convince you, you undo it from your phone.
- **Git works as usual** — Switch branch, commit, open pull requests, resolve conflicts. All from your phone, without opening the laptop.
- **Put the site online** — First you run the site locally to check it, then you upload the files to your web server with one tap.

## You upload only the files you meant to upload.

For each server you save the address, the destination folder and the list of what must never leave. The rules are written the way you already write them in `.gitignore`: `node_modules`, `*.log`, `/dist`. Excluded files stay put, and the check happens before the connection to the server is even opened. If you use JetBrains, you can import the setup you already have with one tap.

- **SFTP, FTP or FTPS** — Use the protocol your hosting offers. With SFTP you can use the SSH key already on your computer, or a password.
- **One file or the whole site** — Upload the single file you just fixed, or run the full upload to a destination.
- **Check it before it goes live** — Run the site locally with the live preview, then publish when it looks right.
- **Included in Studio** — Publishing online is part of the Studio level, and you can try it free for the first seven days.

## And when you need to, you step into the server.

A real SSH terminal inside the app: restart a service, read a log or run a migration on the server you just published to, without another app. The servers you publish to are already there, and you can add more, for one project or for all of them.

- **The keys your phone is missing** — Above the keyboard you get Esc, Tab, Ctrl, Alt and the arrows. Ctrl and Alt apply to the next key, and a double tap locks them. vim and htop work too.
- **Sessions that don't close on their own** — Up to five sessions, in tabs. Switch to another app or lock the screen and they stay open; when you come back everything is there, output included. You close them, or they close after the time you choose.
- **Straight from the phone** — The SSH connection goes from the phone straight to the server: it doesn't pass through your computer or through us. It works even with your computer switched off.
- **Included in Studio** — The terminal is part of the Studio level, together with online publishing, and you can try it free for the first seven days.

## Your code stays on your computer.

NomaDev is built so that your work never has to pass through us. Here is what that means in practice.

- **Your projects stay home** — The server runs on your machine and your phone connects to it directly, over Tailscale or HTTPS. There is no server of ours in between.
- **Passwords stay on your phone** — FTP, SFTP and SSH passwords and key passphrases are kept only in your phone's Android Keystore. For an upload your computer uses them in memory and never writes them to disk; the terminal's never even pass through your computer.
- **SSH keys only move if you ask** — To publish, the server uses the keys already on your computer, and they stay there. The terminal's keys live on the phone, encrypted and protected by fingerprint or PIN: a key from your computer reaches the phone only if you ask, once, over an encrypted connection.
- **Only phones you allow** — Connecting a phone takes a single-use code or the QR shown on your computer. Only a fingerprint of each phone's token is stored, and you can disconnect any phone.
- **Nothing open without a key** — Every request needs the phone's token; live connections and the site preview use single-use tickets. NomaDev remembers each FTPS or SFTP server's fingerprint and warns you if it changes.
- **What our servers keep** — Only the notification relay, which stores your phone’s notification token. It never receives code, text, passwords or keys. Usage statistics start only if you accept them, go to Google Analytics and never contain code or project data.

Claude Code sends Anthropic what it needs to work on your code, with your own subscription — exactly as in a terminal. NomaDev doesn't change that.

## Three steps to get going.

1. **Install the server where you keep your sites** — One command, on Windows, macOS, Linux or a VPS. It installs what's needed, prepares the configuration, makes the server start on its own, and shows you the code to connect your phone.
1. **Connect your phone** — Scan the QR code that opens on your computer, or type its address and code. The app then checks everything is there — git, Claude Code, SSH keys, the connection — and if something is missing it tells you the exact command to run.
1. **Add a project and ask** — Point it at the project folder and write what you want done. Your first commit from a phone takes about a minute.

## Get NomaDev.

Two pieces: the Android app on your phone, and the server on the computer where your projects live.

### The Android app

Install it from Google Play. The 7-day trial starts when you connect your first phone, no card needed. Coming soon to Google Play.

## Install the server on your computer

Pick your system. Run it as your normal user, not with sudo: it asks before installing anything that's missing, and asks for your password only when it has to install system packages.

### Windows

In PowerShell, as your normal user:

```
irm https://nomadev.app/install.ps1 | iex
```

### macOS

In Terminal:

```
curl -fsSL https://nomadev.app/install.sh | bash
```

### Linux

In a terminal, as your user (not with sudo):

```
curl -fsSL https://nomadev.app/install.sh | bash
```

### VPS

Over SSH, as the user the server will run as:

```
curl -fsSL https://nomadev.app/install.sh | bash -s -- --vps
```

Running it again is safe: it skips what's already there and keeps your configuration.

## Start free, pay for what you need.

Free stays free forever. The seven-day trial gives you all of Studio, starting when you connect your first phone. Pro and Studio are paid through Google Play: change plan or cancel there in two taps.

- **Free**: Free  · Free  — Chat with Claude, approvals, files and changes, from your phone. Free, forever.
- **Pro**: €6.99 / month · €58.99 / year — Everything in Free, plus site preview, file editing, voice, attachments and the full git workflow: branches, sync, history and GitHub pull requests.
- **Studio**: €11.99 / month · €99.99 / year — Everything in Pro, plus publishing to your web server over SFTP, FTP or FTPS and an SSH terminal to your servers.

| Feature | Free | Pro | Studio |
|---|---|---|---|
| Chat and sessions, approvals, Claude's questions | ✓ | ✓ | ✓ |
| Files: browse and search; mockups and documents | ✓ | ✓ | ✓ |
| Changes: diff of changed files, undo a file | ✓ | ✓ | ✓ |
| Git status: current branch, changed files | ✓ | ✓ | ✓ |
| Live site preview | — | ✓ | ✓ |
| Edit files from your phone | — | ✓ | ✓ |
| Dictation and attachments | — | ✓ | ✓ |
| Branches: pick one at session start, switch, view files at a branch or commit | — | ✓ | ✓ |
| Sync with the remote, merge, undo a merge | — | ✓ | ✓ |
| History: commits, commit details, history of a file | — | ✓ | ✓ |
| GitHub: open pull request in the git status, merge the PR | — | ✓ | ✓ |
| Publish online over SFTP, FTP or FTPS | — | — | ✓ |
| SSH terminal to your servers | — | — | ✓ |

7-day trial of Studio, no card needed: it starts when you connect your phone.

You also need your own Claude subscription: the Max plan, the one that includes Claude Code. You pay that to Anthropic, not to us.

## The next stops.

What we're working on, in the order it will arrive. No dates: each one ships when it's ready.

1. **Android and Claude Code** (Today) — The Android app that drives Claude Code on your computer: chat, approvals, git, preview, publishing and SSH terminal.
1. **iPhone app** (Next) — The same app on iPhone and iPad too, with the same server on your computer.
1. **Codex too** (After that) — Besides Claude Code, you'll be able to put OpenAI's Codex to work on your projects and pick it project by project, with the same approvals from your phone.
1. **Docker projects** (Further on) — For sites that run in containers: start and stop docker compose services, read the logs and open the preview, all from your phone.

Missing something? Write to us: we shape this list together with the people who use NomaDev. nomadev@estroverso.com

## The most common questions.

### Does my code pass through your servers?

No. Your phone connects straight to the computer where you installed NomaDev, and your code never passes through us. The only service we run forwards notifications to your phone: it receives the kind of notification, the project name and an identifier, never code or text. Claude Code, on the other hand, sends Anthropic what it needs to work on your code — exactly as it does in a terminal, with your own subscription.

### Do I need a Claude subscription?

Yes. NomaDev uses the Claude Code already installed on your computer, with your account. When you connect your phone, the app checks whether it can find it and whether you've signed in, and tells you.

### Which level do I need?

Free if you mostly talk to Claude and review changes. Pro if you also want to see the site, edit files and work with branches, sync and pull requests. Studio if you publish sites to a web server over SFTP, FTP or FTPS, or want an SSH terminal on your servers.

### Can I open a terminal on my servers?

Yes, with Studio: a real SSH terminal, with Esc, Ctrl and arrows, to the servers you publish to and the ones you add. It connects from the phone straight to the server, and sessions stay open even when you switch apps.

### What kind of projects does it work with?

Any website or web app that lives in a folder and gets published to a server: WordPress, Laravel, Symfony, Nuxt, Next.js, Astro, plain HTML. If you can build it on your computer and upload it, it works.

### Which systems can run the server?

Windows, macOS, Linux or a VPS. The app is for Android. At home your phone reaches the computer over Tailscale; with a VPS, over your own domain with HTTPS.

### What happens when my computer is off?

Nothing happens, because the work is done by your computer and not by a service of ours. If you need it always available, install the server on a VPS, which stays on.

### What happens when the trial ends?

You move to Free: chat with Claude, files, git status, diffs and undoing changes stay, and the app doesn't lock. Preview, file editing, voice, attachments, branches, sync, commit history and pull requests come back with Pro, and publishing with Studio, when you pick a level on Google Play. Nothing is deleted on your computer.

### Is there an iPhone version?

Not yet: Android only for now. The app is built with Capacitor, so an iPhone version is possible — a matter of time, not of rewriting it from scratch.

### What if I lose my phone?

Disconnect it from another connected phone, in Settings: from that moment it can no longer connect. If the app was open, also restart the server, which closes the connection it already had.


