Ashri Bhakti
A devotional and educational application for children, combining bhajan and story content with Gita shlokas, a Rashifal calendar, and a set of playable games behind a parent gate.
Overview
Ashri Bhakti is a modern devotional and educational application for children. It combines spiritual and cultural content — bhajans, stories, Gita shlokas, a calendar and Rashifal — with news and editorial content, and then adds a set of children's games and a quiz so the app is genuinely interactive rather than a static reader.
Content is managed through a CMS and delivered by a Laravel API to a Flutter application, so new content can be published without an app release. A parent gate protects the game and quiz areas from younger children navigating away unsupervised.
Problem
Devotional content for children is usually either static — a fixed list of bhajans and stories baked into the app — or scattered across general websites that are not designed for young users.
There is no separation between content a child should explore freely and areas intended for parents, and no safe way to gate interactive sections on a shared device.
Publishing an update to content normally means shipping an app release, which is slow and reaches users unevenly.
Solution
A Flutter application using Riverpod for state and GoRouter for navigation, so each content area is a clean, navigable section rather than one long page.
A CMS-backed content pipeline: editors publish bhajans, stories, shlokas, calendar entries, Rashifal and news, and the Laravel API serves them to the app.
A parent gate in front of games and quizzes, with PIN-based unlocking, so a child cannot wander out of the intended area.
Guest access for reading, with optional Google sign-in for a personalised experience, and AdMob integrated for the Android build.
Features
Each feature is labelled by its current state: Implemented means it is built and working, Integrated means it is connected to hardware or an external service, and In Development means it is actively being built and is not yet complete.
Bhajan and content sections
ImplementedCategorised devotional content served from the backend.
Stories
ImplementedNarrative content presented as a browsable, child-friendly section.
Gita shloka content
ImplementedShloka content with supporting explanation delivered via the API.
Calendar
ImplementedAn in-app calendar section as part of the content structure.
Rashifal
ImplementedRashifal content managed and delivered through the CMS pipeline.
News and editorial content
ImplementedA CMS-backed content feed alongside the devotional material.
Kids games
ImplementedQuiz, memory, puzzle and temple kitchen games as interactive sections.
Parent gate with PIN and biometric support
In DevelopmentPIN-based gating is in place; the biometric-related portion is still being completed.
Guest and user access
ImplementedReadable without an account, with Google sign-in available when wanted.
CMS-based content management
ImplementedEditors publish content; the app renders it without a release.
AdMob integration
IntegratedGoogle AdMob wired into the Android build.
Technology
Application
- Flutter
- Dart
- Riverpod
- GoRouter
Backend
- Laravel
- PHP
- REST API
- CMS
Data
- PostgreSQL
Platform
- Google Sign-In
- AdMob
- Local authentication
Architecture
Content flows one way: editors publish into the CMS, the Laravel API serves it, the Flutter application presents it, and children interact with it under a parent gate.
Layers
CMS
Editors manage bhajans, stories, shlokas, calendar, Rashifal and news
Laravel API
Serves structured content and handles user and parent-gate logic
Flutter Application
Riverpod state, GoRouter navigation, games and quiz
Children / Parents
Children read and play; parents unlock gated areas
Integrations
- Google Sign-In
- Google AdMob
- Device biometrics / local PIN
Challenges
Keeping a children's app focused
A large amount of very different content — devotional material, editorial news and four games — has to feel like one product. Consistent theming and a clear navigation model did more work here than any individual screen.
A parent gate that actually holds
The gate has to stop a determined child without being annoying for a parent who opens the app ten times a day. That pushed toward device-local unlocking rather than an account-based check.
Content updates without app releases
Routing all content through the CMS and API means the app's reading surfaces stay stable while the content changes underneath them.
My Contribution
- Designed the application structure and content categories for the Flutter app.
- Built the Flutter frontend with Riverpod state management and GoRouter navigation.
- Built the Laravel API and the CMS-driven content pipeline.
- Implemented the kids' games: quiz, memory, puzzle and temple kitchen.
- Implemented the parent gate and PIN flow, with the biometric portion in progress.
- Integrated Google sign-in and AdMob for the Android build.
- Designed the PostgreSQL schema for content, users and gate state.
Results / Current Status
Devotional, educational and interactive content now lives in one application rather than a fixed static app.
Content is published through a CMS, so updates no longer depend on an app release.
The parent gate keeps the game and quiz areas separate from the content a child explores on their own.
Biometric-related functionality is still in development; the rest of the listed content and game sections are implemented.