kotlin · jetpack compose · android

aisoul

a personal ai harness that lives on your phone — a persistent agent with a file-based soul, memory that compounds, and real tools it uses only with your permission.

kotlin jetpack compose android ai agent local-first on-device byo key encrypted backup

what it is

aisoul is a personal ai harness that lives on your phone — not a chat wrapper, but a harness: a persistent agent with a file-based soul, memory that compounds over time, real tools it can use with your permission, and a home screen it reshapes around your life.

the whole thing is built on one stubborn idea: your ai, your keys, your files, your drive. no account, no backend, no subscription. everything the ai knows about you lives as plain files on the device — readable, editable, and deletable by you. the app runs zero servers and can see zero user data.

what it does

→the soul interview — on first launch the ai interviews you, then drafts its own identity and its picture of you as two plain text files. you review and edit both before anything starts.
→memory that compounds — after each conversation a distill pass turns what mattered into small markdown files. a memory screen shows exactly what was learned, and when — each entry deletable in one tap.
→real tools, gated by you — the agent can read and write its files and run commands in a sandboxed terminal shipped inside the app. every action is visible in chat, and anything beyond its basics needs your explicit approval.
→an adaptive dashboard — the ai notices what you actually do and proposes home-screen widgets. you see a plain-language summary of what a widget may touch, approve it, and its capabilities are frozen from then on.
→encrypted backup to your own drive — optional. files are archived and encrypted on the phone with a passphrase only you know, then stored in your own google drive using the narrow drive.file scope — it can only ever see files it created.

bring your own key

aisoul works with the ai provider you choose — anthropic, openai, google gemini, or any openai-compatible endpoint — using your own api key, stored encrypted on the device. the app talks to exactly two kinds of servers: your ai provider, and (only if you enable backup) your own google drive. nothing else.

architecture

it's a native android app in kotlin with a jetpack compose ui. the harness keeps the soul and memory as plain files on disk; a provider layer abstracts anthropic, openai, and gemini behind one streaming interface; an agent runtime drives a tool loop guarded by a permission gate and approval sheets; a toolbox ships busybox, curl, and jq as sandboxed native binaries for the terminal; and a widget engine runs a small dsl with a capability-freeze model. backup uses argon2-derived keys and on-device encryption before anything touches drive. keys never leave the device unencrypted.

kotlinlanguage
composeui
androidplatform
local-firstarchitecture

built by dharun ashokkumar