Repository navigation
Home
BibleWeb is a bilingual Bible reading and study application designed for reading, listening to, studying, and tracking Scripture in English and Tamil.
The application provides a responsive reading experience for desktop and mobile devices, with support for reading plans, bookmarks, highlights, progress tracking, audio playback, presentation mode, cloud synchronization, and installation as a Progressive Web App.
- Bible Reader
- Bilingual Reading
- Bible Search
- Bookmarks and Highlights
- Reading Progress
- Custom Reading Plans
- Audio Scripture
- Presenter Mode
- Themes and Display Settings
- Cloud Sync and Account Access
- Daily Reminders
- Progress Backup and Restore
- Progressive Web App
- Mobile and Accessibility Support
BibleWeb allows users to explore the complete Bible using a clean, responsive interface. The application supports all 66 books of Scripture:
- 39 books in the Old Testament
- 27 books in the New Testament
- 1,189 chapters in total
The app is especially designed for users who want to compare Tamil and English Scripture while reading, studying, memorizing, or following a structured reading plan.
The Bible Reader is the primary feature of the application.
Users can:
- Select any Bible book
- Select a chapter
- Move to the previous or next chapter
- Open a complete chapter list
- Jump directly to another book
- Continue reading from a selected location
- Mark chapters as completed
- Read verses individually
- Copy verse content
- Bookmark verses
- Highlight verses
- Listen to Scripture audio
Each verse displays its book, chapter, and verse reference. Verse-level controls appear when the user interacts with or hovers over a verse.
The reader provides several ways to navigate:
-
Book selector
Opens a list of Bible books with English and Tamil names. -
Chapter selector
Allows users to jump directly to any chapter in the current book. -
Chapter grid
Displays all chapters in a compact grid for quick access. -
Previous and next controls
Allows continuous movement through a book. -
Continue reading
Progress pages and reading plans can link users directly to their next unread chapter.
Reader routes use the following format:
/read/<book-id>/<chapter>?mode=<language>
BibleWeb supports three reading modes.
Parallel mode displays English and Tamil Scripture side by side on larger screens. On smaller screens, the two languages are displayed vertically.
This mode is useful for:
- Comparing translations
- Learning Tamil or English
- Bible study
- Translation reference
- Family or group reading
Tamil mode displays only the Tamil Scripture text. It uses a Tamil-optimized serif font and increased line spacing for readability.
English mode displays only the English Scripture text using a serif reading font.
The language mode can be changed from the reader's View menu without leaving the current chapter. The selected mode is preserved when navigating to other chapters.
The search feature allows users to search Bible content using words or phrases.
Search results include:
- English book name
- Tamil book name
- Chapter and verse reference
- English verse text
- Tamil verse text
- A link to open the verse's chapter
Example searches include:
love
faith
ஆண்டவர்
மீட்பு
Search results are presented in a bilingual format so users can compare the matching verse in both languages.
Users can save individual verses by selecting the star icon next to a verse.
A bookmark stores:
- English book name
- Tamil book name
- Chapter number
- Verse number
- English verse text
- Tamil verse text
- Date saved
The Bookmarks & Highlights page provides:
- A list of saved verses
- Direct links back to the original verse
- Individual bookmark removal
- A clear-all option
- Backup and restore tools
Verses can be highlighted using three available colors:
- Yellow
- Green
- Rose
Highlights are useful for categorizing verses such as:
- Important teachings
- Personal encouragement
- Prayer references
- Verses to memorize
- Study notes or themes
Highlights are saved in the browser and restored when the same user returns to the application.
The Reading Progress dashboard records which chapters the user has completed.
The dashboard includes:
Displays:
- Percentage of the Bible completed
- Number of chapters read
- Number of chapters remaining
- A visual progress bar
Tracks the 39 Old Testament books separately.
The dashboard shows:
- Old Testament percentage
- Chapters read
- Chapters remaining
- Book-level progress
Tracks the 27 New Testament books separately.
The dashboard shows:
- New Testament percentage
- Chapters read
- Chapters remaining
- Book-level progress
Each Bible book displays:
- Completion percentage
- Number of completed chapters
- A progress bar
- A chapter selection dialog
Completed chapters are visually distinguished from unread chapters.
BibleWeb calculates a reading streak based on the user's reading activity. The current streak is displayed at the top of the progress dashboard.
The dashboard estimates when the user may finish the remaining Bible chapters at different reading speeds:
- One chapter per day
- Three chapters per day
- Four chapters per day
Users can reset all locally stored reading progress. This action should be used carefully because it removes the stored completion records from the current browser.
Users can create multiple custom reading plans at the same time.
Examples include:
- Read the New Testament in 90 days
- Read the entire Bible in one year
- Read the four Gospels
- Read Psalms and Proverbs
- Create a personal devotional plan
The application includes predefined scopes:
| Scope | Chapters |
|---|---|
| Entire Bible | 1,189 |
| New Testament | 260 |
| Four Gospels | 89 |
| Psalms and Proverbs | 181 |
When creating a plan, users can configure:
- Plan name
- Reading scope
- Start date
- Target end date
- Chapters per day
- Daily reminder time
The application automatically calculates:
- Required daily pace
- Expected duration
- Estimated completion date
Users can calculate the plan either by:
- Selecting a target completion date, or
- Selecting a daily chapter pace.
Each plan maintains separate progress. A plan card displays:
- Plan name
- Reading scope
- Start and end dates
- Daily chapter target
- Completed chapters
- Completion percentage
- Expected progress by today
- Whether the user is on track
- Estimated completion date
- A progress bar
Each plan provides a Next Chapter link that opens the first unread chapter in that plan.
When reading through a plan, chapter completion is associated with the active plan rather than only the user's general reading history.
If the user falls behind or gets ahead, the plan pace can be recalculated based on:
- Remaining chapters
- Remaining days
- Original target end date
Reading plans can be exported as an .ics calendar file. The calendar event includes:
- Plan name
- Daily reading pace
- Start date
- End date
- Daily reminder time
- A recurring daily schedule
The exported file can be imported into compatible calendar applications.
BibleWeb provides audio playback for Scripture.
Users can:
- Play the current chapter
- Pause playback
- Resume playback
- Stop playback
- Move to the previous verse
- Move to the next verse
- Start playback from a selected verse
- Select Tamil audio
- Select English audio
- Adjust playback speed
Available playback speeds include:
- 0.75x
- 1.0x
- 1.25x
- 1.5x
The audio player displays the current book, chapter, and verse. A persistent audio dock remains available while reading.
Users can enable autoplay to continue to the next chapter after the current chapter finishes.
When audio playback finishes, the chapter can also be marked as read automatically.
Audio functionality uses the application's audio player and server-side text-to-speech support.
Presenter Mode is designed for churches, Bible studies, classrooms, and group meetings.
It displays one verse at a time using a large, high-contrast layout.
Presenter Mode includes:
- English and Tamil text together
- Large presentation typography
- Current verse reference
- Verse counter
- Previous and next controls
- Fullscreen mode
- Black screen mode
- White screen mode
- Keyboard navigation
| Key | Action |
|---|---|
| Right Arrow | Next verse |
| Space | Next verse |
| Page Down | Next verse |
| Left Arrow | Previous verse |
| Page Up | Previous verse |
| F | Toggle fullscreen |
| B | Toggle black screen |
| W | Toggle white screen |
| Escape | Exit black or white screen mode |
Presenter Mode can be opened from the reader's View menu.
BibleWeb includes display settings for comfortable reading.
The standard light theme uses a bright background and dark text.
The sepia theme uses warm paper-like colors. It is intended to resemble a printed book and reduce visual harshness during extended reading.
The dark theme uses a dark background and light text. It is useful for nighttime reading and low-light environments.
Users can increase, decrease, or reset the reader text size using:
- A- to decrease text size
- Reset to restore the default size
- A+ to increase text size
Theme and text-size preferences are stored locally and restored automatically on future visits.
The reader includes a distraction-free focus mode called Zen Mode.
When enabled:
- The global site header is hidden
- Reader controls are minimized
- More space is dedicated to Scripture text
- The user can concentrate on reading without extra navigation elements
Focus Mode can be enabled from the reader's View menu.
BibleWeb supports optional cloud synchronization.
Users can sign in using a passwordless email link. After signing in, reading data can be synchronized between supported devices.
Cloud synchronization may include:
- Reading progress
- Reading streak information
- Bookmarks
- Highlights
- Custom reading plans
- User preferences
- Open Settings.
- Select Sign In with Email.
- Enter an email address.
- Open the sign-in link sent to the email address.
- Return to the application after authentication.
Signed-in users can:
- View their connected email address
- Manually sync data
- Sign out
Users who do not sign in can still use the application locally in their browser.
BibleWeb supports daily reading reminders.
Users can enable browser push notifications from the Settings panel. The reminder feature is intended to help users maintain a regular reading habit.
Reminder settings include:
- Enable or disable notifications
- Daily reminder time
- Reading plan reminder support
Browser notification permissions must be granted for push reminders to work.
BibleWeb allows users to export and restore their personal reading data.
The export function creates a backup file containing locally stored user data, such as:
- Reading progress
- Bookmarks
- Highlights
- Reading plans
- Related preferences
Users can restore a previously exported JSON backup file.
To restore data:
- Open the Progress or Bookmarks page.
- Select Restore.
- Choose a previously exported JSON file.
- Confirm or review the restored data.
Backups are useful when:
- Clearing browser storage
- Moving to another browser
- Changing devices
- Testing new application versions
- Keeping an offline copy of personal study data
BibleWeb can be installed as an app on compatible devices.
The Progressive Web App features include:
- Installable application experience
- Home-screen access
- Application manifest
- Service worker registration
- Standalone display mode
- Mobile-friendly layout
- Cached application resources where supported
- Open BibleWeb in a supported browser.
- Open Settings.
- Select Install as App when available.
- Confirm the installation.
Alternatively, use the browser menu and select Add to Home screen or Install app.
- Open BibleWeb in Safari.
- Tap the Share button.
- Select Add to Home Screen.
- Confirm the installation.
The application is designed to work across different screen sizes.
Responsive behavior includes:
- Mobile-friendly navigation
- Responsive verse layouts
- Touch-friendly controls
- Compact chapter selectors
- Responsive presenter mode
- Adjustable text size
- High-contrast dark mode
- Tamil-specific typography
- Reduced interface clutter during reading
The bilingual reader automatically changes from a side-by-side layout on larger screens to a stacked layout on smaller screens.
BibleWeb uses a combination of local and cloud-based storage.
Unauthenticated users can use browser storage for:
- Reading progress
- Bookmarks
- Highlights
- Reading plans
- Themes
- Text-size preferences
Local data is specific to the browser and device where it was created.
Authenticated users can synchronize supported data through the configured cloud account service.
For reliable access across devices, users should sign in and synchronize their data.
BibleWeb uses the following primary technologies:
- HTML and Jinja templates for page structure
- JavaScript for interactive features and local data management
- Python for server-side application logic
- FastAPI for the web application server
- Uvicorn for application serving
- SQLite for Bible data storage
- gTTS for text-to-speech audio generation
- Supabase for optional authentication and cloud synchronization
- Service workers for Progressive Web App support
- Tailwind CSS for responsive styling
The application includes a Render deployment configuration.
The configured deployment uses:
- Python runtime
- Python 3.11.9
- Uvicorn
- Automatic deployment
- A SQLite Bible database
- The
DATABASE_PATHenvironment variable
The application start command is:
uvicorn app.main:app --host 0.0.0.0 --port $PORT --workers 1Contributions are welcome.
Recommended contribution workflow:
- Create a feature branch.
- Make focused changes.
- Test the feature locally.
- Verify English and Tamil layouts.
- Test both mobile and desktop views.
- Confirm that reading progress and bookmarks continue to work.
- Commit the changes with a descriptive message.
- Open a pull request.
When adding a new feature, update this wiki so users and contributors can understand how it works.
Source code is available at: