VorexO v1.0

VorexO Docs

A code editor with a built-in AI assistant, for Android.

VorexO is a lightweight mobile IDE — write code, preview it live, and work with AI models from OpenAI, Anthropic, Google and more using your own API keys. Everything runs on your device.

Download APK Getting started

v1.0 (build 33) · 6.5 MB · Android 5.0+ · bring your own keys

Introduction

VorexO is a mobile IDE for Android built around a simple idea: your phone is enough to write and ship small projects. It bundles a code editor (CodeMirror 6), a live preview sandbox, a project file manager, and an AI assistant that can explain code, plan features, or write entire files for you.

The AI side follows a BYOK (bring your own key) model. VorexO ships without any API keys and has no backend of its own — you pick a provider, paste your key in Settings, and the app talks to that provider directly from your device. Twelve providers are supported out of the box, including a local Ollama instance running on your own network.

Details

Packagecom.vorexo.app
Current releasev1.0 (versionCode 33)
APK size~6.5 MB
Android5.0+ (minSdk 21, targetSdk 34)
EngineAndroid shell + embedded web runtime (Capacitor)
NetworkDevice talks straight to the AI provider — no middleman server
Earlier buildsv3.9-V / v3.10-V were private test builds; v1.0 is the first public release

Features

Chat mode

Quick questions and snippets. Ask for a regex, an explanation, or a fix without leaving your editor.

Think mode

Step-by-step reasoning for harder problems — architecture decisions, debugging plans, trade-offs.

Agent mode

Describe a task, get complete files back. The agent writes full files and offers to save each one into your project.

Code editor

CodeMirror 6 with syntax highlighting for HTML, CSS, JS, JSON, Python and more, plus a mobile-friendly insert toolbar.

Live preview

A sandboxed runtime renders your web project instantly, with a localStorage shim so most apps just work.

Projects

Create, rename, duplicate and export projects. Files live in the app's private storage — export anytime.

Cloud sync

Optional backup of projects and settings to your own Firebase project. Restore on any device in one tap.

Dark UI

A single, distraction-free dark theme tuned for long sessions and one-handed use.

The three AI modes

Every conversation runs in one of three modes, switched from the selector above the input:

ModeBest forBehaviour
chatQuick answersDirect, low-latency replies. Code blocks are copyable but not filed into the project.
thinkPlanning, hard bugsThe model is pushed to reason step-by-step and structure a plan before writing code.
agent"Build this for me"The model outputs complete files in the [FILE] protocol — see Agent mode.

Installation

VorexO is distributed as a direct-download APK (VorexO-v1.0.apk). It isn't on Google Play yet, so Android will ask you to allow installs from your browser or file manager once.

Coming from a v3.x test build? Uninstall it first. The public release is signed with a new key, and Android won't update an app when the signature changes — the installer will fail with "App not installed". Before uninstalling, copy your API keys out of Settings and export any projects you want to keep. Uninstalling wipes the app's private storage and there's no way back. If you had cloud sync enabled, signing in and restoring covers projects and settings (keys are never synced, by design).

1. Uninstall any test build

Android Settings → Apps → VorexO → Uninstall. Skip this on a fresh device.

2. Install the APK

Open VorexO-v1.0.apk and allow "Install unknown apps" for the app you opened it with. Play Protect shows a generic warning because the APK is self-signed — choose Install anyway.

3. Verify the build

Open Settings → About and confirm versionCode 33. If you want to double-check the file itself, the release APK's SHA-256 starts with 5628be139cad8d9a.

Permissions

PermissionWhy
INTERNETAI provider requests, optional cloud sync, preview assets.
ACCESS_NETWORK_STATEDetecting connectivity so the app degrades gracefully offline.

That's the whole list — no contacts, location, storage-wide access or phone state. The build also disables Android backup (allowBackup=false), so app data isn't copied around during device transfers.

Quick start

From install to a working page, roughly two minutes.

1. Create a project

Tap New Project, name it, and start from the blank HTML scaffold. You get a small file tree:

project structure
landing-page/
├── index.html   ← entry point
├── style.css
└── script.js

2. Add an API key

Settings → AI Providers → pick a provider → paste your key → choose a model → Test. Google Gemini is a good first pick (free tier, see AI providers).

3. Let the agent build something

Switch to agent mode and try: "Build a dark portfolio page with a hero, three project cards and a contact section." Each returned file shows up as a card — tap Save to write it into the project.

4. Preview and iterate

Open the Preview tab to see the result. Tweak the code directly, or ask in chat mode: "center the hero and make the title a gradient."

Editor tips

  • The toolbar above the keyboard inserts brackets, quotes and tabs so you don't fight the soft keyboard.
  • Long-press a file to rename, duplicate or delete it.
  • Project menu → Export zips the whole project for sharing or backup.

AI providers

All providers work the same way: create an account, generate an API key, paste it in Settings → AI Providers. Keys are stored locally on your device and sent only to the provider you configured — they're never embedded in the app, never proxied, and (as of v1.0) excluded from cloud sync.

ProviderEndpointGet a keyNotes
OpenAIapi.openai.complatform.openai.comGPT models, pay-as-you-go.
Anthropicapi.anthropic.comconsole.anthropic.comClaude models, good with long files.
Google Geminigenerativelanguage.googleapis.comaistudio.google.comFree tier — easiest start.
DeepSeekapi.deepseek.complatform.deepseek.comCheap; deepseek-coder is solid for code.
Groqapi.groq.comconsole.groq.comFree tier, very fast.
Mistralapi.mistral.aiconsole.mistral.aiFree experiment tier.
OpenRouteropenrouter.aiopenrouter.ai/keysOne key, hundreds of models.
Together AIapi.together.xyzapi.together.aiHosted open-source models.
Fireworks AIapi.fireworks.aifireworks.aiFast OSS serving, free credits.
NVIDIA NIMintegrate.api.nvidia.combuild.nvidia.comFree API credits.
Ollamahttp://<ip>:11434no keyLocal/self-hosted, free. See below.
Customany OpenAI-compatible URLyoursLiteLLM, LM Studio, gateways.

Ollama over your network

The Ollama provider accepts a full base URL, so the model can run on a PC on the same Wi-Fi while you code on the phone. Start Ollama listening on all interfaces, then point VorexO at the machine's LAN IP:

PC running Ollama
# expose Ollama on your LAN, then pull a model
OLLAMA_HOST=0.0.0.0:11434 ollama serve
ollama pull qwen2.5-coder:7b

# in VorexO: Settings → Ollama → Base URL
http://192.168.1.42:11434   ← your PC's LAN IP, key stays empty

Both devices must be on the same network and the PC's firewall must allow TCP 11434. Quick check: open http://<pc-ip>:11434/api/tags in the phone's browser — you should see JSON.

Key safety

  • Set a spending limit on the provider's dashboard before pasting a key anywhere.
  • Use scoped or capped keys where offered (OpenRouter key limits, OpenAI project keys).
  • Cloud sync deliberately excludes API keys — after restoring on a new device, re-enter them manually.

Agent mode

Agent mode changes the system prompt so the model stops describing code and starts shipping files. The model replies with a one-line plan, then emits every file inside this wrapper:

agent output format
I'll build a modern landing page.

[FILE:index.html]
<full, complete HTML code here — no placeholders>
[/FILE]

[FILE:style.css]
/* full CSS here */
[/FILE]

[FILE:script.js]
// full JS here
[/FILE]

VorexO parses the reply and shows a card per file: path, syntax-highlighted preview, and Save / Copy / Dismiss buttons. Saving writes (or overwrites) that path in the current project — existing files are marked as an update.

Getting good results

  • Name your stack — "plain HTML, one CSS file, vanilla JS, no build step" keeps the agent inside what the preview can run.
  • Split big tasks. Ask for the file list first, then request files one by one; short replies fail less than a whole project in one shot.
  • Mind the output limit. Each model has a maximum response length. v1.0 clamps maxTokens to the model's real cap, but a truncated file can still happen on small models — ask for a re-emit of just that file.

Responses arrive all at once rather than streaming token-by-token — the embedded network layer buffers the full reply. For a long build that can mean a minute of quiet before the files appear.

Cloud sync

Sync is optional and runs on your own Firebase project. The app ships with its default project preconfigured, but plugging in your own Firebase web config (Settings → Cloud) gives you full ownership of the data. Sign in with email, and VorexO stores a snapshot of your workspace in Realtime Database.

What gets synced

DataSyncedNotes
Projects and filesyesFull contents under your user node.
SettingsyesTheme, editor preferences, mode selection.
API keysneverStripped before upload in v1.0; keys are merged back in from local storage on restore.

Each account gets its own node:

realtime database layout
vorexo-default-rtdb
└── users/
    └── uid_<firebase-uid>/
        ├── projects/   ← every project and file
        └── settings/   ← app preferences, no keys

Lock the database down

If you use your own Firebase project, replace the default rules so only the owning account can read or write its node. Firebase Console → Realtime Database → Rules:

database.rules.json
{
  "rules": {
    "users": {
      "$uid": {
        ".read":  "auth != null && auth.uid === $uid.replace('uid_', '')",
        ".write": "auth != null && auth.uid === $uid.replace('uid_', '')"
      }
    }
  }
}

Don't leave test-mode rules live. Firebase's default test rules make the whole database world-readable for 30 days. Your project source is private data — apply the rules above before enabling sync.

To restore: fresh install → Settings → Cloud → sign in → Load from Cloud. Projects and settings come back immediately; re-enter your API keys and you're done.

FAQ

Install fails with "App not installed"
You're trying to update over a v3.x test build signed with a different key. Uninstall the old build first (back up keys and projects), then install the release APK.
The AI returns an error or an empty response
Check that the key is valid and has quota (test it in the provider's console), and that the selected model belongs to the selected provider. In agent mode, very large single-file requests can hit the model's output limit — ask for one file at a time.
Claude replies come back cut off
Older builds only read the first text block of Anthropic's response. Fixed in v1.0 — all text blocks are joined. Anything still missing is the model's own output cap, not a parsing bug.
Ollama won't connect from the phone
Make sure Ollama is bound to 0.0.0.0 (not localhost) on the PC, both devices share the network, and TCP 11434 passes the firewall. Test http://<pc-ip>:11434/api/tags in the phone's browser.
Where are my API keys stored?
In the app's private storage on your device. They travel only to the provider you configured, over HTTPS. The developer has no server that could see them, sync uploads exclude them, and Android backup is disabled so they don't ride along on device transfers.
Does it work offline?
The editor, file manager and UI do — the interface is cached by a service worker. AI features need connectivity, unless you point the Ollama provider at a machine on your LAN. After an app update, a stale cache can make pages look off; clearing the web cache from Settings fixes it.
Play Protect flagged the APK
Normal for any self-signed APK outside the Play Store. The release is signed with a dedicated key (valid until 2044); compare the file's SHA-256 against the one published with the release (16639bf0…) and install anyway if it matches.

Changelog

v1.0

build 33 · interface polish · Aug 2026

A pass over interface details reported from everyday use. Same feature set, smoother edges.

Fixed

  • The phone's status bar and bottom control area no longer show white — both use the app's near-black so the interface blends seamlessly with the system.
  • The files sidebar sits flush against the top header on every device instead of leaving a gap below it.
  • Tapping Start AI Chat repeatedly no longer stacks up empty conversations — extra taps land in the same chat until a message is actually sent.
  • The generic bot logo is gone from chat: replies being generated are led by the animated V draw mark, and finished assistant messages carry a quiet V badge.
  • Removed the tips card from Settings → Deploy & GitHub.

v1.0

build 32 · first public release

v3.9-V and v3.10-V were private test builds shared with a small group for testing. v1.0 is the first public release and carries all the fixes that came out of that testing.

Highlights

  • Three AI modes (chat, think, agent) with the [FILE] save-to-project protocol.
  • Twelve providers via BYOK, including Ollama on your own network and any OpenAI-compatible endpoint.
  • CodeMirror 6 editor, sandboxed live preview with a localStorage shim, project manager with import/export.
  • Optional cloud sync to your own Firebase project; API keys never leave the device.
  • Targets Android 14 (targetSdk 34) on a 6.5 MB APK; runs from Android 5.0.

Fixed during testing

  • Raised targetSdk 29 → 34 so the app meets current Play Store requirements.
  • Rewrote the UI patch layer: no more 3-second polling loop and full-DOM scans; idle-coalesced MutationObserver instead.
  • Agent requests now clamp maxTokens to each model's real output cap, fixing provider 400 errors.
  • Anthropic responses: all text blocks are read and joined, not just the first.
  • Service worker cache bumped and patch script cache-busted, fixing stale UI after updates.
  • Chat polish: the bot avatar and the V draw animation now show inside the conversation while a message is being generated, not only at the top.
  • Agent mode narrates its work: the file currently being written and its line count appear under the Analyzing/Building status, and files are revealed one by one instead of appearing all at once.
  • About screen rebranded to v1.0 and the tech-stack block removed.

Security

  • API keys are stripped from cloud-sync uploads and merged back in locally on restore.
  • Android backup disabled (allowBackup=false).
  • APK rebuilt with aligned resources.arsc and signed with v1+v2+v3 schemes; 40 automated checks pass on the release artifact.

Streaming responses (token-by-token) are the known gap — the embedded HTTP layer buffers full replies. A native streaming plugin is on the roadmap.