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