An offline AI tutoring system for 8th–12th students powered by a locally deployed LLM (Qwen-1.5B). Designed to run efficiently on low-resource devices with optimized memory and inference performance.
# Shiksha AI
Offline-first AI tutor app for Class 9-10 students.
## What This Repo Contains
- `app/`: Expo Router screens and navigation.
- `src/features/`: feature-oriented modules (AI, chat, content, progress, user, auth, onboarding).
- `src/core/`: shared core infrastructure (database, sync, supabase integration).
- `src/shared/`: cross-feature shared utilities/styles.
- `backend/`: Express API for tutor, OCR, and vision endpoints.
- `android/`, `ios/`: native projects.
- `docs/`: documentation entry points for developers.
## Core Capabilities
- AI tutor chat (local/online flow)
- OCR from textbook images
- Vision question answering
- Math expression parsing and solving support
- Notes, flashcards, quiz, progress tracking
- Multilingual text-to-speech
## Tech Stack
- Mobile: React Native + Expo (SDK 54), Expo Router, TypeScript
- Local storage: Expo SQLite + AsyncStorage
- Backend: Node.js + Express + Axios + Tesseract.js
- AI runtime: Ollama (`qwen2.5:1.5b` default)
## Quick Start
### 1. Install dependencies
```bash
npm install
cd backend && npm install
cd ..
```
### 2. Configure environment
Create `.env` in project root:
```env
EXPO_PUBLIC_API_URL=
10.0.2.2
```
### 3. Start local model runtime
```bash
ollama pull qwen2.5:1.5b
ollama serve
```
### 4. Start backend
```bash
npm run backend
```
### 5. Start app
```bash
npm start
```
Use Expo options (`a` for Android, `i` for iOS, `w` for web).
## Scripts
- `npm start`: Start Expo dev server
- `npm run android`: Build/run Android app
- `npm run ios`: Build/run iOS app
- `npm run web`: Start web build
- `npm run backend`: Start backend server
## Project Structure
```text
Shiksha-AI/
├── app/ # Route screens (tabs + entry screens)
├── src/
│ ├── features/ # Feature-first modules and domain code
│ ├── core/ # Core infrastructure and integrations
│ └── shared/ # Shared styles/utilities across features
├── backend/ # Express backend + …