memoria-android

Memoria

A Life Memory Operating System for Android — turn voice, shares, notes, and photos into an organized, searchable, Git-backed Markdown knowledge vault, with minimal manual typing.

License: MIT Stars Last commit Kotlin CI Download APK

Memoria is a Life Memory Operating System for Android — a personal memory, life-capture, journaling, and knowledge-extraction system that transforms your activity into an organized, searchable knowledge vault with minimal manual typing.

Not a journaling app. Not a note-taking app. A life memory OS.

Links: Repo · Landing page · 📱 Download the latest APK → (sideload directly — enable “install unknown apps”).

If this is useful, please star the repo — it helps other people find it.

Source of truth

Your private GitHub repo of Markdown + YAML frontmatter (an Obsidian vault). No proprietary storage, no vendor lock-in. The app writes markdown and commits+pushes directly (JGit, on-device). Markdown is canonical; Git is canonical.

How it works

flowchart TD
    cap["Capture<br/>(voice / share / quick-note / photo)"]
    ai["AI enrich<br/>(summarize + extract entities, tags, tasks)<br/>BYOK, free-first: Pollinations → OpenRouter-free → Ollama → paid"]
    org["OrganizationEngine<br/>routes to vault folder + note type"]
    vw["VaultWriter<br/>renders Obsidian markdown<br/>(frontmatter + [[wikilinks]])"]
    jgit["JGit<br/>commit locally"]
    sync["GitSyncWorker<br/>pull --rebase + push"]
    repo[("User's private<br/>GitHub git vault")]

    cap --> ai --> org --> vw --> jgit --> sync --> repo

Principles

Tech stack

Repo structure

app/            # Android application module
core/           # common, model, ui, testing, database, datastore, security
domain/         # OrganizationEngine + domain logic
data/           # vault (VaultWriter), git (JGit), ai (providers), repository
feature/        # capture, timeline, search, settings
build-logic/    # Gradle convention plugins
docs/           # vault-schema, ai-providers, permission-matrix

Build

./gradlew assembleDebug        # build
./gradlew testDebugUnitTest    # unit tests
./gradlew ktlintCheck detekt   # static analysis

Requires JDK 17, Android SDK (compileSdk 35). Convention plugins live in build-logic/.

Configuration

No environment variables and no secrets live in this repo. AI is BYOK (bring your own key) — you enter provider API keys in-app at runtime, stored on-device. The free-first providers (Pollinations, OpenRouter-free, Ollama) work with no key at all.

Docs

Part of the oriz family

One of ~80 oriz projects — small, sharp, open-source tools.

Contributing

PRs welcome. Conventional commits are the changelog.

Status

WIP / MVP — see ROADMAP.md for the MVP → V3 → 10-year plan.

License

MIT © 2026 Chirag Singhal · chirag@oriz.in