An offline-first, low-connectivity educational platform designed to break down barriers to learning.
About • Features • Tech Stack • Getting Started • Architecture
Vidyapath is a Progressive Web Application (PWA) built from the ground up to solve the internet barrier in education. Millions of students face slow networks, stringent data limits, or no internet connection at all. Vidyapath runs a lightweight local server right inside the browser, enabling students to cache high-quality video lessons, PDFs, and quizzes to their device and learn completely offline.
When connectivity is restored, the application quietly synchronizes progress and quiz scores back to the cloud.
- Frontend App: https://remotelearn-ai.vercel.app/
- Backend API: https://remotelearn-lowconnectivity-learning.onrender.com
- Download Once, Learn Anywhere: Cache full courses, videos, and PDFs locally.
- Service Worker Caching: Zero buffering and instant page loads via Workbox caching strategies.
- Auto Sync: Background synchronization of learning progress when the device reconnects.
- 18 Regional Languages: Learn in the language you think in (Hindi, Bengali, Tamil, Telugu, Marathi, and more).
- Accessible Fonts: Optimized typography for complex scripts.
- Language Persistence: Preserves UI language and conversation history per language.
- Personalized Help: Powered by Groq API, the AI tutor explains complex topics simply.
- Context-Aware: Knows exactly which lesson or chapter the student is studying.
- Multi-Lingual Responses: Receives and responds in the student's preferred language.
- Native app-like experience on Android, iOS, Windows, and macOS.
- Bypasses traditional app stores.
- Takes less than 2MB of local storage (excluding downloaded media).
- Real-time updates for new courses or announcements.
- Admin portal capable of targeting specific classes or all students.
- Content management (upload videos, PDFs, create quizzes).
- User management and analytics.
- Push notification broadcasting.
- Framework: React 19 + Vite
- Styling: Tailwind CSS 4 + Framer Motion (Animations)
- State Management: Zustand + TanStack Query (React Query)
- Local Database: Dexie.js (IndexedDB wrapper for offline storage)
- PWA: Vite PWA Plugin + Workbox Custom Service Workers
- Runtime: Node.js + Express
- Database: PostgreSQL (hosted on Supabase)
- ORM: Prisma
- Authentication: JWT + HTTP-only Cookies
- SMS OTP: Twilio integration
- AI Integration: Groq LLM API
- Node.js (v20+ recommended)
- PostgreSQL database
- API Keys (Twilio, Groq, VAPID for Push Notifications)
git clone https://github.com/LuckysHorizon/RemoteLearn-LowConnectivity-Learning-Application.git
cd RemoteLearn-LowConnectivity-Learning-Applicationcd api
npm install
# Setup environment variables (copy from .env.example)
cp .env.example .env
# Generate Prisma Client and push schema
npx prisma generate
npx prisma db push
# Start the development server
npm run devcd ../web
npm install
# Setup environment variables
echo "VITE_API_BASE_URL=http://localhost:3001/api/v1" > .env
# Start the development server
npm run dev- App Shell & UI Assets:
CacheFirststrategy. - API Requests:
NetworkFirstwith aggressive stale-time settings for smooth offline fallback. - Media (Videos/PDFs): Stored directly in IndexedDB via Service Worker interception for robust playback without internet.
- User provides Phone Number.
- Backend generates OTP, sends via Twilio SMS, and stores in memory.
- User submits OTP.
- Backend verifies and issues JWT Access Token (JSON body) and Refresh Token (HTTP-Only Cookie).
Designed and engineered for the future of accessible education.