English | 日本語
Making daily scripture study more fun and meaningful.
An open-source web application designed to help people build a lasting and joyful daily scripture study habit together with friends and family.
💡 Interested in contributing or improving features?
You don't need to understand the entire codebase! Feel free to pick a feature from/docsthat catches your interest and start small.
default.mp4
Web Application: https://scripturehabit.app
Live Demo (No registration required): https://scripturehabit.app/en/demo
"Can we make daily scripture study more joyful and meaningful?"
To be completely honest, I was never very good at reading the scriptures consistently on my own, and I found myself repeatedly giving up after just a few days.
Rather than turning study into an obligation or a mechanical checklist, I wished for a place where friends and family—even when living far apart—could simply share what they read and felt each day. With that hope in heart, I sat down and began writing code, which became the beginning of Scripture Habit.
There is no single "correct answer" when it comes to building tools for scripture study.
That is why this project is open-source: so that we can open it to the world, learn through trial and error together, and shape something that brings joy to Heavenly Father and blesses the lives of others.
Daijiro Sagane
Scripture Habit is actively deployed and running in production. Currently, an average of 10+ users consistently write and share study notes every day.
- Growth & Streak Tracking: Experience steady progress as daily note-taking accumulates into continuous study days and levels.
- Today's Reading Guide: Gently displays the suggested passage for the day, allowing you to open the scripture page with a single tap.
- Note Editor: Freely record and preserve your personal thoughts, promptings, and insights.
- Reliable Synchronization: Executes Firestore transactions upon saving to seamlessly update study days, sync group chats, and refresh data without conflict.
- Search & Filtering: Browse past study notes and easily revisit previous reflections using tags and keywords.
- AI Reflection Letters (LetterBox): Delivers thoughtful letters that embrace your notes and connect your insights with scripture stories.
- Letters to Future Self (Time Capsule): Seal words of encouragement and SOS reminders for future milestones (Day 10, 25...), unlocked alongside a snapshot of your past journey.
- Scripture Link Conversion: Automatically identifies scripture references in messages and formats them into clean, interactive links.
- Real-Time AI Translation: Instantly translates messages and names from friends around the world into natural, everyday language.
- Personal Habit Rules: Establish custom study guidelines to keep your daily learning fresh and sustainable.
- Profile & Preferences: Flexibly customize your avatar, language, and notification preferences at your own pace.
- Security Measures: Thorough validation with Firebase AppCheck and Zod ensures secure and trustworthy communication (see Security Policy).
- Error Monitoring: Sentry integration actively monitors and catches unexpected production issues in real time.
- Quality Verification: Continuous testing with Vitest (Unit) and Playwright (E2E) guarantees stable and reliable operation.
| Category | Technologies |
|---|---|
| Frontend | React 19, TypeScript 7.0 (Native), Vite 8.1, Vanilla CSS |
| State Management | React Context (Split Context), useReducer, Zustand |
| Backend API | Node.js 26.0, Express 5.0, Vercel Serverless Functions |
| Database / Auth | Google Cloud Firestore, Firebase Authentication, Firebase AppCheck |
| AI Integration | Google Gemini API (Real-Time Translation & Reflection Letters) |
| API Documentation | OpenAPI 3.0, Swagger UI (/api/docs) |
| Testing | Vitest (Unit Tests), Playwright (E2E Tests) |
Interactive Swagger UI documentation is publicly available:
- Swagger UI Screen:
https://scripturehabit.app/api/docs
The full documentation site (generated by VitePress + TypeDoc) is available at:
To run locally:
npm run docs:dev
Scripture Habit is an open-source project. Whether you write code, refine translations, improve UI design, or share thoughts on daily usability, every form of participation is warmly welcomed.
Tip
You don't need to understand the whole codebase! Pick a feature from /docs that interests you and start small.
For setup steps and guidelines, please see our Contributing Guide and Code of Conduct.
We would especially love your help in these areas:
- Translations & Phrasing: Polishing expressions for natural phrasing and adding new languages.
- Dashboard & UI: Improving usability, layouts, and mobile experience.
- User Experience & Testing: Reporting bugs and suggesting ideas to make daily study smoother.
- Feature Ideas: Sharing thoughts on how to nurture lasting scripture habits.
Feel free to open an issue or submit a pull request anytime.
Special thanks to the wonderful people who support this journey:
daijir |
Sembatya2020 |
GreiceMoreira |
Bimbolin |
KadenTheHero |
Special thanks to the following platforms for generously supporting this open-source project:
- Vercel: Providing serverless hosting, edge routing, and web analytics.
- Sentry: Supporting real-time production error monitoring, performance tracking, and diagnostic tracing.
- GitHub: Providing repository hosting and continuous integration / automated testing pipelines (GitHub Actions).
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.










