Android companion for Git-backed Markdown vaults, Obsidian notes, and AI-agent memory
Flint is an Android app for reading, editing, and syncing Markdown vaults stored in Git. It is built for people who keep knowledge in plain files: Obsidian users, developers, and teams using AI coding agents.
Connect a GitHub repository, open your notes on mobile, follow [[wikilinks]], inspect the graph, and push edits back through Git.
The name Flint refers to the way notes strike sparks of thought as they connect to one another.
AI coding agents increasingly write plans, specs, task notes, research logs, implementation summaries, and project memory into Markdown files. Flint turns that Git-backed memory into a mobile knowledge base you can review anywhere.
Use Flint to:
- read agent-generated plans away from your desk
- inspect project context before a coding session
- follow links between specs, tasks, decisions, and daily notes
- make small edits and sync them back through Git
- keep AI-generated notes in plain Markdown instead of a closed database
- Plain Markdown files, no proprietary database
- GitHub-backed sync you can inspect and control
- Obsidian-style wikilinks and graph navigation
- Works with human-written notes and AI-agent-generated project memory
- Mobile-first reader/editor for your existing vault
- Built-in public demo vault for trying the app without a token
- Personal Obsidian-style vault on Android
- AI-agent project memory and implementation logs
- Git-backed developer notes
- Research notes, specs, and decision records
- Lightweight team knowledge base stored as Markdown
|
Browse note files in an Obsidian-like structured list with paths. |
Edit and preview modes, quick-formatting toolbar, |
|
Force-directed Canvas graph with panning, zooming, filters, and tap previews. |
Pull and push through JGit, backups before updates, remote change checks, and last-write-wins conflict behavior. |
|
Secure GitHub token storage through EncryptedSharedPreferences. Public repositories can be opened without a token. |
Russian, English, Arabic, Spanish, Hindi, and Chinese. |
Flint uses Clean Architecture with a multi-module Gradle structure:
Flint/
├── app/ # Application layer: Hilt, DI, MainActivity
│ ├── FlintApp.kt # @HiltAndroidApp
│ ├── MainActivity.kt # Navigator entry point: OnboardingScreen
│ ├── AppLocale.kt # AppCompat locale switching
│ └── di/AppModule.kt # Hilt modules
│
├── domain/ # Business logic: pure Kotlin
│ ├── model/ # NoteFile, VaultConfig, PullResult, SyncMeta...
│ ├── graph/ # NoteGraphBuilder + Fruchterman-Reingold layout
│ ├── repository/ # GitRepository, NotesLocalStore interfaces
│ └── usecase/ # ConnectRepository, SyncNotes, UpdateNote...
│
├── data/ # Data layer implementations
│ ├── repository/ # JGitRepository: real Git operations through JGit
│ └── store/ # PrefsStore, RepoConfigStore, SecureRepoConfigStore
│
└── presentation/ # UI: Jetpack Compose + Voyager
├── screens/
│ ├── onboarding/ # Welcome flow
│ ├── auth/ # Repository connection: URL + token
│ ├── main/ # Main screen with tabs
│ │ └── tabs/
│ │ ├── files/ # Vault file list
│ │ ├── reader/ # Markdown reader
│ │ ├── graph/ # Interactive note graph
│ │ └── settings/ # Settings
│ ├── editor/ # Markdown editor with preview
│ └── settings/ # Settings screen
├── components/ # MarkdownRenderer, MarkdownWebView, SearchField...
├── base/ # BaseScreen, BaseViewModel, MVI markers
└── ui/theme/ # Colors, theme, typography
| Component | Library |
|---|---|
| Language | Kotlin 2.2 + Compose plugin |
| UI | Jetpack Compose + Material 3 |
| Navigation | Voyager: Navigator, TabNavigator |
| DI | Dagger Hilt 2.57 |
| Git | JGit 6.9 |
| Markdown | Flexmark 0.64 + WebView |
| Serialization | kotlinx.serialization 1.8 |
| Storage | EncryptedSharedPreferences |
| Analytics | Firebase Analytics + Crashlytics |
| Graph | Canvas API with a Fruchterman-Reingold layout |
- Android Studio Koala+ with AGP 8.13
- JDK 17+
- Android SDK 36 / API 36
git clone https://github.com/doseeare/Flint.git
cd Flint
./gradlew assembleDebugThe APK will be generated in app/build/outputs/apk/debug/.
- Open the app and try the built-in Flint Test Vault.
- Add your own GitHub repository when you are ready.
- Use a token for private repositories or push access.
- Read notes in Reader, explore the graph, edit notes, and sync changes back to Git.
Private - all rights reserved.
Made with ❤️ for Obsidian users, developers, and AI-agent workflows.