Simple and intuitive by default
Customizable notes
Customizable highlights
Customizable UI colors
Customizable highlight colors
Customizable fonts
Multiple screens side by side
Multiple screens stacked

Selah is a cross-platform, touch-friendly Bible study application built with Flutter with many features built in to support efficient, distraction-free Bible study. Selah is completely free and has no ads, no analytics, and no gated features.
Supports completely offline install and functionality and also offers free online sync services (for as long as the service can be supported: currently using the free tier on Supabase: https://supabase.com/pricing).
Note also that Selah has built-in data export and import functionality so you do not have to use the online sync service to backup/restore your saved highlights, notes, history, or saved searches (exported data uses a simple, portable JSON format).
- Selah is currently in open beta and your thoughts/contributions/bug reports would be helpful and will shape the future of the app.
- We are especially in need of users to test the app on MacOS desktop and iOS mobile platforms!
- Selah currently does not have self-installing or self-updating features.
- Fixes and features are being added regularily so check for new releases periodically.
- Use the "Issues" tab to report any problem you may have with the app or even if you need assitance installing, running, or using the app.
- AV1769 King James Version - With the words of our Lord colored in red.
- Offline Reading - No internet connection required if you don't want to use the online account sync feature
- Cross-Platform - Runs, looks the same, and has all the same features on all platforms (Android, iOS, Web, Windows, macOS, and Linux). Seemlessly adapts to different platforms and screen sizes.
- Rich Text Notes - Verse-level note support with automatic verse reference linker
- Highlight System - Support for word-level highlighting with customizeable colors
- TSK Cross references - Optionally show TSK (Treasury of Scripture Knowledge) references below each verse
- Verse History - Track and revisit previously viewed verses
- Simple/Advanced Search - Find verses by keywords or phrases with or without using advanced modes (Regular expressions; Nearby mode searches for two or more supplied words within three verses of eachother eg. graven carved)
- Book Navigation - Easy browsing through all 66 books of the Bible using a visual grid, list layout, or manually entering a reference
- Full Touch-screen support - Built from the ground up to be both touch-screen and non-touch-screen friendly
- Seemless, transparent, account based online sync features - Sign up using a free account and use that account across multiple devices (no email required)
- Local SQLite Database - All user data is saved in easy to read and understand sqlite databases. No encryption or obfuscation
- Cloud Sync - Optional Supabase synchronization across devices. Sign in to the same account on multiple devices and they will all seemlessly stay in sync
- Data Export/Import - Export some or all of your data to a backup file (compressed JSON) and easily import it anywhere else. Import from Olive Tree Bible format is also supported but you will have to obtain your backup file from the Olive Tree Bible web site
- Data integrity - Both local and synced data are checked for integrity violations and discarded if anything invalid or corrupted is detected
- Responsive Design - Optimized for phones, tablets, and desktop
- Many Customizeable features - Colors, fonts, and more.
- Supabase Authentication - Secure user accounts and data sync
- Material Design - Clean, intuitive user interface
- Performance Optimized - Fast loading and smooth navigation due to a simple yet robust design
| Platform | Status | Notes |
|---|---|---|
| Android | β Stable | Minimum API 27 (8.1.1 & 12 tested) |
| iOS | β Stable | iOS 11+ (18 tested) |
| Web | β Stable | Modern browsers (Chrome & Firefox on Apache tested; electron-forge (Windows) tested) |
| Windows | β Stable | Windows 10+ (10 untested; 11 tested) |
| macOS | β Stable | macOS 10.14+ (untested) |
| Linux | β Stable | All distributions (Arch/Manjaro/CachyOS, Debian 12+, Ubuntu 22.04+ tested) |
- Visit the "Releases" section, download the file appropriate for your target platform, and manually install and run the application. While in Beta, the app does not come with any self-installing or self-updating capabilities. RPM based Linux distributions will require additional steps (a command line argument; because the RPM files are not signed).
selah/
βββ lib/
β βββ main.dart # App entry point
β βββ data/ # Bible data and metadata, TSK data
β βββ database/ # SQLite database classes
β βββ models/ # Data models for 3rd party import
β βββ screens/ # UI screens
β βββ services/ # Logic services
β βββ utils/ # Utility functions
β βββ widgets/ # Reusable UI components
βββ assets/ # App assets (fonts, icons)
βββ android/ # Android-specific files
βββ ios/ # iOS-specific files
βββ web/ # Web-specific files
βββ windows/ # Windows-specific files
βββ macos/ # macOS-specific files
βββ linux/ # Linux-specific files
Contributions are welcome but it is highly recommended to first discuss it in the issues section before putting in the work for a PR.
Selah is primarily developed on Arch linux and Windows 11. The development environment requirements are
- Visual Studio Code (https://code.visualstudio.com/).
- Flutter (https://docs.flutter.dev/install/manual) (can also be installed easily inside of VS code).
- Optionally install the extensions that VS code recommends while browsing the project folder and source files.
How to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Test your changes
- Submit a pull request
This project is released into the public domain under the Unlicense. You are free to use, modify, and distribute this software for any purpose without restriction.
If you encounter any problems or have suggestions:
- Check existing issues on GitHub
- Create a new issue with detailed description
- Include steps to reproduce any bugs
- Specify your platform and Flutter version
This project uses GitHub Actions for continuous integration and multi-platform builds. Check the Releases section for the latest release or clone the repository to build it yourself.