Skip to content

doseeare/Flint

Repository files navigation

Flint - Android companion for Git-backed Markdown vaults, Obsidian notes, and AI-agent memory

🔥 Flint

Android companion for Git-backed Markdown vaults, Obsidian notes, and AI-agent memory

Kotlin Android Compose Clean Architecture Hilt Private

Download Flint APK GitHub Release v1.0.0


📖 About

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-Agent Memory on Mobile

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

💡 Why Flint?

  • 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

🎯 Use Cases

  • 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

✨ Features

📂 Vault Browser

Browse note files in an Obsidian-like structured list with paths.

📝 Editor With Preview

Edit and preview modes, quick-formatting toolbar, [[wikilinks]] insertion, undo and redo.

🕸️ Note Graph

Force-directed Canvas graph with panning, zooming, filters, and tap previews.

🔄 Git Sync

Pull and push through JGit, backups before updates, remote change checks, and last-write-wins conflict behavior.

🔐 Token Auth

Secure GitHub token storage through EncryptedSharedPreferences. Public repositories can be opened without a token.

🌐 Localization

Russian, English, Arabic, Spanish, Hindi, and Chinese.


🏗️ Architecture

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

🛠️ Technology Stack

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

🚀 Quick Start

Requirements

  • Android Studio Koala+ with AGP 8.13
  • JDK 17+
  • Android SDK 36 / API 36

Build

git clone https://github.com/doseeare/Flint.git
cd Flint
./gradlew assembleDebug

The APK will be generated in app/build/outputs/apk/debug/.

Usage

  1. Open the app and try the built-in Flint Test Vault.
  2. Add your own GitHub repository when you are ready.
  3. Use a token for private repositories or push access.
  4. Read notes in Reader, explore the graph, edit notes, and sync changes back to Git.

📄 License

Private - all rights reserved.


Made with ❤️ for Obsidian users, developers, and AI-agent workflows.

About

Android companion for Git-backed Markdown vaults

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages