Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Selah Notes icon

Selah Notes

Capture sermon notes and personal spiritual trackers β€” with the MKJV Bible built right in.

Version Platform Built with Flet Python Offline

β€œBe still, and know that I am God.” β€” Psalm 46:10


✨ Overview

Selah Notes is a calm, offline-first note-taking app for the everyday church-goer and Bible-college student. Jot sermon notes, keep personal spiritual trackers (prayers, dreams, visions), and study lecture notes β€” all with the MKJV Bible a tap away for pulling verses straight into your notes.

No accounts. No servers. No tracking. Your notes live on your device.

πŸ•ŠοΈ Built with the prayer that it's a blessing β€” a quiet place to hear, reflect, and remember.


πŸ“Έ Screenshots

Home Note editor Verse index Lock screen

πŸš€ Features

πŸ“ Your Notes, Your Way

  • Three note types β€” Sermon Notes, personal Trackers (Prayer, Dream, Vision, Testimony…), and Bible College lecture notes.
  • Templates at creation β€” start from a Sermon outline or Lecture skeleton, or a blank page.
  • Context fields β€” Minister (sermon notes) with autocomplete, Course + Lesson (college notes).
  • Folders you can create, rename, recolour and re-icon; pin notes to the top.

πŸ“– Scripture, Woven In

  • MKJV Bible bundled offline (66 books).
  • Verse picker β€” search a book, pick chapter & verse (or a range like JHN 3:16-18), preview, and drop it in as a chip.
  • Reference-aware search β€” PSA23:1, psa 23.1-3, 1 cor 13, psalms all just work.
  • Verse of the day on the home screen.
  • Verse cross-references β€” tap a verse chip to see every other note that cites it, plus a dedicated Verse Index of your most-referenced scriptures.

🏷️ Organise & Find

  • Series field for sermon series, and colour + icon Tags you can create and manage.
  • Full-text search across notes and the entire MKJV.
  • Multi-select to bulk move / pin / trash. Trash keeps deletions for 30 days with one-tap undo.

πŸ“Ž Rich Content

  • Photo attachments β€” snap a slide or handout; auto-downscaled to keep things lean (5 MB / file, 25 MB / note caps).
  • Reminders β€” recurring, with due banners (and OS notifications where supported).

πŸ”’ Private & Secure

  • PIN app-lock with a keypad, filling dots, and a custom unlock animation. PINs are PBKDF2-hashed, never stored in plaintext. Auto-locks after time in the background.
  • Local-first β€” all your data stays on-device.

πŸ’Ύ Portable

  • Backup & restore to a JSON file (includes photos and tag styling).
  • .snn note files β€” share a single note (all metadata + photos) and import it on another device with full fidelity.

🎨 Polished

  • Light / Dark / System themes, accent palettes (+ custom colour), app & scripture fonts.
  • Collapsible detail panes, smooth route transitions, tasteful animations, a personal birthday greeting, and an in-app update checker.

πŸ› οΈ Tech stack

Language Python 3.10+
UI Flet 0.85.3 (Flutter under the hood)
Storage SQLite β€” MKJV.db (read-only scripture) + userDB.db (your data)
Imaging Pillow (photo downscale/re-encode)
Tooling uv for env & builds
Extensions flet-local-notifications (vendored) for OS reminders

🏁 Getting Started (development)

# 1. Install uv (https://github.com/astral-sh/uv), then sync deps
uv sync

# 2. Run on desktop for quick iteration
uv run flet run

# 3. Build a signed Android APK (see Release workflow below)
uv run flet build apk

Note: Android release builds use a vendored build template (flet-build-template/) that carries a core-library-desugaring patch β€” keep it committed.


πŸ“¦ Release Workflow

Two helper scripts (git-ignored, since they hold local paths/secrets) make releases a two-step affair:

# Build a signed APK β€” prompts for the keystore password, auto-increments versionCode
.\build-release.ps1

# Commit, tag (vX.Y.Z), push, and publish the GitHub release
.\create-release.ps1            # prompts once for a message used as commit + release notes
.\create-release.ps1 -Build     # chain both: build then release

Signing uses Play App Signing-ready release keys (your .jks is the upload key). Releases are published to the public downloads repo.

πŸ“₯ Download The Latest APK here: github.com/3th4n-J/selah-notes-app/releases


πŸ—‚οΈ Project Structure

src/
β”œβ”€ main.py                # entry point: theming, routing, app-lock gate, lifecycle
β”œβ”€ assets/                # MKJV.db, fonts, icon, splash, unlock animation
└─ app/
   β”œβ”€ config.py           # constants, palettes, templates, version
   β”œβ”€ db.py               # SQLite data layer (notes, tags, photos, backup, .snn)
   β”œβ”€ prefs.py            # JSON preferences + transient nav state
   β”œβ”€ security.py         # PIN hashing (PBKDF2)
   β”œβ”€ media.py            # photo downscale/re-encode
   β”œβ”€ theme.py            # Material 3 theming + accent handling
   β”œβ”€ ui.py               # shared components (cards, chips, dialogs, pickers)
   β”œβ”€ updates.py          # in-app GitHub release check
   β”œβ”€ verse_picker.py     # MKJV verse picker
   └─ views/              # home, editor, folder, search, settings, reminders,
                          # trash, verses, lock
extensions/               # vendored flet-local-notifications
flet-build-template/      # vendored build template (desugaring patch)

πŸ” Privacy

Selah Notes is offline-first and account-free. Your notes, photos and reminders never leave your device. The only network request is an optional check to GitHub for app updates. Backups and shared .snn files are created only when you choose to export them.


πŸ™ Acknowledgements & Author

Made with care by Ethan Johnston.

Scripture text: Modern King James Version (MKJV).

May this app be as much of a blessing to you as it was building it. Jesus loves you and wants a deeper relationship with you. Be blessed.❀️


Β© 2025–2026 Ethan Johnston Β· Selah Notes

About

πŸ“– Offline sermon & Bible-study notes with the MKJV Bible built in β€” free, private, ad-free. Download the latest Android APK under Releases.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors