Skip to content
gonzaromanPublic

About

Vibe coding in your pocket. A native Android app that creates apps and games from text, voice or a photo with AI, runs them full screen with their own data, and controls your phone just by asking. Works with Claude, OpenAI, Gemini or any OpenAI-compatible model.

Topics

Resources

Stars

149 stars

Watchers

5 watching

Forks

Latest commit

ย 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒฐ Acornix

Create apps and control your phone just by asking.

Vibe coding in your pocket. Describe an app, a game or a tool, and watch the AI write it live. Seconds later it runs full screen on your phone, saves its own data and can sit on your home screen like any other app. Or just ask the assistant to do things for you.

Latest release Android 8.0+ Kotlin License: MIT

โฌ‡๏ธ Download the APK



Homeย  Writing the app liveย  The new app, readyย  The assistant at work


What is Acornix?

Acornix turns your phone into a place where software gets made. You bring an API key from your favourite AI (Claude, GPT, Gemini or any OpenAI-compatible model), and Acornix does the rest:

  • Creates apps and games from a sentence, your voice or a photo, and lets you keep improving them by asking.
  • Runs them like real apps: full screen, offline, on your home screen, each with its own private database.
  • Acts as an assistant that can open apps, search YouTube, set alarms, blink the flashlight in Morse, read and change your apps' data and, if you allow it, tap and type inside other apps for you.
  • Turns your phone or tablet into a desktop with AcornixOS: windows, a Dock and a Launchpad, like a little Mac in your pocket.

No terminal, no server, no account. Everything you create lives on your phone.

Acornix started as a Python tool for Termux. Version 2.0 is a full native Android app that does everything the old one did and much more. Looking for the Termux version?


โœจ What you can do

๐Ÿ› ๏ธ Create apps by describing them

Type what you want, dictate it ๐ŸŽ™๏ธ or attach a reference photo ๐Ÿ“Ž ("make an app like this"). Pick a type (game, utility, musicโ€ฆ) or tap one of the ideas, and Acornix writes a complete, mobile-first web app live in front of you.

When it's done you get an interactive preview, an Open button, an Add to home screen button and a suggested next improvement. Apply the suggestion or ask for your own changes ("add sound effects", "make the buttons bigger", "add a dark mode"). Every change is saved as a new version.

Describe your appย ย  The code is written liveย ย  Preview, suggestions and improvements

๐Ÿงฌ Functionalities: apps that use your phone

Functionalities are apps that talk to your device through a built-in JavaScript bridge, window.Acornix. They can vibrate, switch the flashlight on, speak out loud, read the battery, send notifications, share, copy, open other apps and even ask the AI from inside the app. Some examples: a big SOS button, a battery dashboard, a pocket translator that speaks, a Pomodoro timer that vibrates.

๐Ÿค– An assistant that gets things done

One chat for everything. Ask in your own words and the assistant picks the right tools, showing every step it takes:

  • "Create a piano and open it"
  • "Turn on the flashlight in SOS" ยท "Set an alarm at 7:30" ยท "Start a 10 minute timer"
  • "Search Nirvana videos on YouTube" ยท "Open Maps and find a pharmacy"
  • "Add bread to my shopping list" ยท "What's my best score in Bowling?"
  • "How much battery do I have?"

Total control (optional). Turn on the Acornix total control accessibility service and the assistant can also see the screen and tap, type and scroll inside other apps, for example "open Settings and turn on dark mode". It only acts while a task you asked for is running. It asks before sending, paying, calling or deleting anything, never sees password fields, and you can stop it at any time from the notification.

Assistant

๐Ÿ“ฑ Your apps, like real apps

All your creations live in My Apps, a launcher with live thumbnails, search and filters. Tap to open full screen; long-press for more:

  • Improve with AI or edit the code by hand.
  • Versions: every creation, improvement or edit is kept, and you can restore any of them.
  • Add to home screen: a real icon that opens the app in its own window, like an installed app.
  • Data: see, export or clear what the app saved.
  • Share it as a ZIP, with or without your data, or rename and delete it.

My Appsย ย  App actions

๐Ÿ–ฅ๏ธ AcornixOS: your phone as a computer

Open AcornixOS from Tools and your apps become a desktop, inspired by macOS:

  • Windows you can drag, resize, minimize and maximize, with the classic red, yellow and green buttons. Touch one and it comes to the front.
  • A Dock with your favourite apps and the ones you have open. Long-press to add or remove.
  • A Launchpad with all your apps and a search box.
  • Wallpapers to choose from, and a menu bar with the time and battery.
  • Apps open in a window; tap the green button (or double-tap the title) to make one full size. On a tablet you get several apps side by side, like a real computer.

Every window is the real app, with its own data, camera and files. Add AcornixOS to your home screen and it opens like any other app.

AcornixOS on a tablet with several windows

An app in a window on a phoneย ย  The Launchpad

๐Ÿ—„๏ธ A private database for every app

Every app gets its own fast SQLite database (Acornix.db), so a to-do list keeps its tasks and a game keeps its saves and high scores. The data:

  • survives improvements, because the AI is told which collections and fields already exist;
  • can be read and changed by the assistant ("add eggs to my to-do list");
  • can travel inside the app's ZIP;
  • is included in backups.

Each app runs on its own isolated origin, so apps never see each other's data.

The Data screen

โ˜๏ธ Backups and sharing

  • Full backup: one ZIP with all your apps, their versions, data and files. Save it to Google Drive or anywhere else from the system picker, and restore it on any phone.
  • Android backup: your apps and data are also included in your Google account backup.
  • Import ZIPs shared by friends, including apps made with the original Termux version of acornix.

๐Ÿ“‹ Manual studio: no API key needed

Don't have an API key? Copy a ready-made prompt, paste it into ChatGPT, Claude or Gemini on the web, then paste the answer back. Acornix checks the code, warns you if something is missing and installs the app.

๐Ÿ”” Always up to date

Acornix checks GitHub for new versions. When one comes out you'll see what's new and can update with one tap, right from the app.

And more

Phone status (battery, memory, storage), Material You colors with light and dark themes, and an interface in English and Spanish. Generated apps follow your phone's language too.

Home in dark modeย ย  Settings in dark mode
Dark mode too


๐ŸŽฎ Apps included

Acornix comes with eight example apps, rebuilt for 2.0. They all work offline, adapt to any screen in portrait or landscape, and save their data with Acornix.db.


Calculator
History saved, proper operator precedence

BMI
Gauge, healthy range and progress chart

Drummer
8 pads, 16-step sequencer, saved beats

Matrix Camera
Live Matrix / ASCII / halftone camera

Bowling
Swipe to throw, hook spin, real scoring

Piano
4 instruments, multitouch, recordings

Castle Defense
Waves, bosses and an upgrade shop

Super M
Platformer with endless levels

๐Ÿ“ฒ Install

  1. Download acornix.apk from the latest release on your phone.
  2. Open it. If Android asks, allow your browser or file manager to install apps, then tap Install. Google Play Protect may warn you because the app doesn't come from the Play Store; tap More details โ€บ Install anyway.
  3. Open Acornix and follow the three-step welcome: choose your AI provider, paste your API key and tap Test connection.

Requirements: Android 8.0 or newer, and an API key from one of these providers:

Provider Where to get a key Notes
Anthropic (Claude) console.anthropic.com Excellent for code; uses the official Anthropic SDK
OpenAI platform.openai.com Any chat model your account can use
Google Gemini aistudio.google.com Has a free tier
OpenAI-compatible OpenRouter, Groq, Together, a local Ollamaโ€ฆ Set your own base URL

Tap โ–พ next to Model in Settings to load the models available to your account.

Updating: Acornix tells you when there's a new version. Tap Update and Android installs it over the current one, keeping all your apps and data. The first time, Android will ask you to allow Acornix to install apps.

Total control (optional): Android Settings โ€บ Accessibility โ€บ Acornix total control โ€บ On. You can also get there from the Assistant or from Acornix Settings.


๐Ÿ” Privacy and security

  • Your API key is encrypted with the Android Keystore and only ever sent to the provider you chose.
  • Your apps and their data stay on your phone, except for what you send to your AI provider when you create or improve something. Acornix has no servers, accounts or analytics.
  • Each app is sandboxed on its own origin with its own database. The phone bridge only answers that app's own pages.
  • The assistant asks first before sending messages, calling, paying, buying or deleting. It never sees password fields, and a notification with a Stop button is shown while it works.

๐Ÿง‘โ€๐Ÿ’ป For creators: the window.Acornix API

Every app made with Acornix can use this API, and so can your own HTML apps imported as a ZIP. All calls return Promises.

// Phone
await Acornix.vibrate(200);                 // or a pattern: [100, 50, 100]
await Acornix.flashlight(true);
await Acornix.speak('Hello!', 'en-US');
await Acornix.notify('Timer', 'Time is up');
await Acornix.toast('Saved');
const { level, charging } = await Acornix.battery();
const info = await Acornix.deviceInfo();
await Acornix.share('Look what I made');
await Acornix.openUrl('https://example.com');
const answer = await Acornix.askAI('Give me a fun fact about acorns');

// Database (private to this app)
const tasks = Acornix.db.collection('tasks');
const t = await tasks.add({ text: 'Buy bread', done: false });     // โ†’ {_id, _created, _updated, ...}
await tasks.update(t._id, { done: true });
const pending = await tasks.list({ where: { done: false }, orderBy: '_created', desc: true, limit: 50 });
const big = await tasks.list({ where: { score: { $gt: 100 } } });  // $gt $gte $lt $lte $ne $in $contains
await Acornix.db.set('highScore', 1200);
const best = await Acornix.db.get('highScore');

// Files (photos, drawings, exportsโ€ฆ)
const file = await Acornix.files.save('photo.jpg', blob);          // Blob or data URL โ†’ {name, url, size}
document.querySelector('img').src = file.url;

// Refresh when the assistant changes your data
window.addEventListener('acornixdata', () => reload());

If window.Acornix is missing (the app was opened in a normal browser), fall back to localStorage. Apps generated by Acornix already do this.


๐Ÿ› ๏ธ Build from source

You need Android Studio Ladybug or newer (AGP 8.7) and the Android SDK 35.

git clone https://github.com/gonzaroman/acornix.git
cd acornix
./gradlew assembleDebug          # app/build/outputs/apk/debug/app-debug.apk
./gradlew testDebugUnitTest      # unit tests

Release builds are signed with a keystore kept outside the repository: -PacornixSigning=/path/to/keystore.properties, with storeFile, storePassword, keyAlias and keyPassword. Without it, release builds are unsigned.

Project structure
app/src/main/java/com/gonzaroman/acornix/
โ”œโ”€โ”€ ai/        AI providers (Anthropic SDK, OpenAI & compatible, Gemini), streaming, tool calling
โ”œโ”€โ”€ core/      Prompts, response parser, app generator
โ”œโ”€โ”€ data/      Settings (encrypted keys), apps + versions, per-app SQLite store,
โ”‚              ZIP import/export, full backups, sample apps, update checker
โ”œโ”€โ”€ device/    Phone actions (flashlight, vibration, speech, alarms, intentsโ€ฆ), shortcuts
โ”œโ”€โ”€ control/   Accessibility service for "total control"
โ”œโ”€โ”€ agent/     Assistant tools and conversation loop
โ”œโ”€โ”€ web/       Full-screen app runner, per-app origins, window.Acornix bridge
โ””โ”€โ”€ ui/        Jetpack Compose screens (Material 3)
app/src/main/assets/sample_apps/   The eight example apps

Tech: Kotlin, Jetpack Compose and Material 3, OkHttp, kotlinx.serialization, DataStore, SQLite, AndroidX WebKit, Coil, and the official Anthropic Java SDK.


๐ŸŒณ Looking for the original Termux version?

Acornix began as an AI-powered Python system for Termux. That version is kept in the termux branch (tag v1-termux). Version 2.0 replaces it: no Termux, Python or local servers needed, just install the app.


๐Ÿค Contributing

Ideas, bug reports and pull requests are welcome. Open an issue to tell us what you built with Acornix or what you would like it to do next.

๐Ÿ“„ License

MIT ยฉ Gonzalo Romรกn Mรกrquez

About

Vibe coding in your pocket. A native Android app that creates apps and games from text, voice or a photo with AI, runs them full screen with their own data, and controls your phone just by asking. Works with Claude, OpenAI, Gemini or any OpenAI-compatible model.

Topics

Resources

Stars

149 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages