Offline-first read-it-later app for Android and iOS. Save articles from the share sheet, read them without ads or accounts, and keep everything on your device.
- Save from anywhere — Share a link from Safari, Chrome, or any app via the system share sheet (iOS Share Extension + Android intent).
- Offline reading — Articles and images are stored locally; no account or cloud sync required.
- Clean reader — Stripped article text, reading progress, bookmarks, and featured items.
- Organize — Tags, search with recent queries, and filtered views.
- Export — Export your library as Markdown, HTML, or JSON from Settings.
- Private by design — No telemetry, no tracking, no servers. Data stays on the device unless you export or share it.
| Library | Tags | Search |
|---|---|---|
![]() |
![]() |
![]() |
| Reader | Add link | Manifesto |
|---|---|---|
![]() |
![]() |
![]() |
- Flutter 3.x (stable channel)
- Xcode 15+ (iOS / Share Extension)
- Android Studio or Android SDK (API level per
flutter.minSdkVersion)
git clone https://github.com/Aries-Spring/bitkeep.git
cd bitkeep
flutter pub get
flutter run- Open
ios/Runner.xcworkspacein Xcode. - Set Signing & Capabilities for both Runner and ShareExtension to your Apple Developer team (the repo may ship with a team ID for the original author — replace it with yours).
- Ensure the App Group
group.com.ariesspring.bitkeepis enabled on both targets. - Run on a device or simulator:
flutter run.
Release builds expect a local android/key.properties file (never committed). Copy the example and point it at your upload keystore:
cp android/key.properties.example android/key.properties
# Edit key.properties with your keystore path and passwords
flutter build apk --releaseDebug builds work without key.properties.
After changing lib/db/app_database.dart:
dart run build_runner build --delete-conflicting-outputslib/
main.dart # App entry, share-intent handling
screens/ # Library, reader, search, tags, settings, manifesto
providers/ # Library + settings state (Provider)
db/ # Drift/SQLite schema
services/ # Article scraper, image cache
widgets/ # Shared UI components
ios/ShareExtension/ # iOS share sheet target
android/ # Android app + share intent
All mobile targets use com.ariesspring.bitkeep (iOS Share Extension: com.ariesspring.bitkeep.ShareExtension).
MIT — see LICENSE.





