Inspiration
Over 30 million students in India prepare for hyper-competitive exams like JEE, NEET, and UPSC, where a 1% retention drop costs an entire career year. Active recall works, but manual flashcard creation takes hours, and cloud-reliant study apps crash during daily transit and in rural libraries. We built Smriti (स्मृति) to solve both problems: an offline-first spaced repetition engine that transforms raw study notes into active recall flashcards in seconds, completely resilient to network dropouts.
What it does
- Local Active Recall Loop: Implements scientific spaced repetition intervals powered directly on-device with SQLite for zero-latency review.
- Deterministic Offline Parsing: When internet connectivity drops, Smriti's on-device heuristic parser extracts definitions and key terms without any server connection.
- Gemini 3.6 Flash Synthesis: Connected users unlock instant synthesis of dense, messy textbook prose into high-yield, exam-targeted flashcards.
- Bilingual Bharat Localization: Full English and Hindi UI toggle designed specifically for Tier-2 and Tier-3 aspirants.
- Pro Retention Analytics: Features an interactive Weak-Topic Heatmap and Exam-Day Retention Forecast to prevent negative marking before test day.
- Monetization via RevenueCat: Clean paywall with Monthly (₹99), Annual (₹699), and Lifetime (₹1,499) tiers unlocking unlimited AI synthesis and deep analytics.
How we built it
- Frontend & Runtime: React Native with Expo and TypeScript.
- Local Persistence: On-device SQLite database storing all decks, review schedules, and retention logs.
- AI Engine: Google Gemini 3.6 Flash integrated via a secure BYOK (Bring Your Own Key) architecture.
- Monetization & Entitlements: RevenueCat React Native SDK managing paywall display, subscription states, and Pro entitlement checks.
- DevOps & Distribution: GitHub Actions workflow compiling release-signed multi-architecture Android APKs (ARM64/x86_64).
Challenges we ran into
Handling reliable card extraction without a network connection required building an efficient local regex and pattern-matching parser that operates entirely within mobile memory constraints. In addition, balancing Gemini AI synthesis latency with our local SQLite review loops required seamless optimistic UI updates.
Accomplishments that we're proud of
- Shipped an authentic dual-mode architecture: 100% functional offline heuristic parsing paired with online Gemini 3.6 Flash synthesis.
- Production-ready RevenueCat integration with paywall display, tiered pricing, and active entitlement verification.
- Live Student Validation: Sideloaded the release APK with students in our hostel preparing for engineering and national exams, validating sub-second card creation and study efficiency.
What we learned
Building for low-bandwidth environments taught us the power of local-first architectures. Combining local SQLite storage with modern generative AI provides the ideal user experience for Indian students.
What's next for Smriti
We plan to release Smriti on Google Play Store, introduce community deck sharing with peer-to-peer sync, and expand regional language support to Tamil, Telugu, and Marathi.
Built With
- android
- expo.io
- google-gemini
- react-native
- revenuecat
- sqlite
- typescript
Log in or sign up for Devpost to join the conversation.