A comprehensive AI-powered study platform with local AI capabilities. Features include intelligent Q&A, flashcard generation, study planning, material organization, and voice transcription - all powered by local AI models running on your laptop.
- Smart Q&A - Ask questions and get answers from your study materials using RAG
- Flashcard Generation - Automatically create flashcards from any content
- Study Plan Creation - Get personalized study plans based on your materials
- Voice Transcription - Upload audio lectures for automatic transcription
- Semantic Search - Find relevant materials using AI-powered search
- Material Organization - Upload and organize PDFs, images, and notes with folders
- JARVIS Assistant - Voice-activated AI assistant for study help
- Progress Tracking - Dashboard with tasks, habits, and analytics
- Calendar Integration - Schedule study sessions and track deadlines
- Pomodoro Timer - Focus sessions with built-in timer
- Habit Tracker - Build and maintain study habits
- Task Management - Organize your study tasks with priorities
- Streak Tracking - Stay motivated with streak counters
- Framework: Next.js 16 with App Router
- Language: TypeScript
- Styling: Tailwind CSS + shadcn/ui
- Authentication: Firebase Auth
- Database: Firebase Firestore
- Framework: FastAPI (Python)
- AI Models: Ollama (Mixtral + Qwen)
- Vector DB: Qdrant
- Speech-to-Text: OpenAI Whisper
- Embeddings: sentence-transformers
Run the full AI backend on your laptop and expose it via a secure tunnel.
Prerequisites:
- Docker (for Qdrant)
- Ollama (for AI models)
- Python 3.10+
- Ngrok OR Cloudflare Tunnel
Start everything:
./scripts/start_everything.shSee docs/local_hosting.md for detailed instructions.
Deploy backend to Render/Railway and frontend to Netlify.
See deployment docs for instructions.
- Node.js 18+ installed
- npm or pnpm package manager
- Firebase project (for authentication and database)
- Clone the repository:
git clone https://github.com/hrideymarwah15/StudyPal.git
cd StudyPal- Install dependencies:
npm install --legacy-peer-deps- Configure Firebase:
- Create a Firebase project at https://console.firebase.google.com/
- Copy your Firebase config credentials
- Update
.env.localwith your credentials:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
NEXT_PUBLIC_FIREBASE_DATABASE_URL=your_database_url- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
app/
βββ api/ # API routes
βββ flashcards/ # Flashcard pages
βββ groups/ # Study group pages
βββ jobs/ # Job listings
βββ login/ # Authentication pages
βββ materials/ # Study materials
βββ planner/ # Exam scheduler
βββ signup/ # User registration
βββ support/ # Mental health resources
βββ layout.tsx # Root layout
βββ page.tsx # Homepage
components/
βββ ui/ # Reusable UI components
βββ auth-provider.tsx
βββ error-boundary.tsx
βββ navigation.tsx
βββ webgl-hero.tsx
lib/
βββ hooks/ # Custom React hooks
βββ api-client.ts
βββ firebase.ts
βββ utils.ts
- Local Hosting Guide - Complete guide for local AI setup
- Quick Reference - Command cheat sheet
- Backend API - API documentation
- Deployment Guide - Cloud deployment instructions
- Qdrant stores your study materials as vectors for semantic search
- Ollama runs AI models (Mixtral, Qwen) locally on your laptop
- Whisper transcribes audio lectures to text
- FastAPI provides REST API for the frontend
- Tunnel (Ngrok/Cloudflare) exposes your local backend to the internet
- Netlify hosts the frontend and connects to your local backend
User β Frontend (Netlify) β Tunnel β Local Backend β AI Models
β
Qdrant (Vector DB)
./scripts/run_local_backend.sh- Start backend with all checks./scripts/setup_tunnel.sh- Create public HTTPS tunnel./scripts/start_everything.sh- One-command setup./scripts/test_services.sh- Verify all services
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
Frontend (.env.local):
NEXT_PUBLIC_API_URL=https://your-tunnel-url
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_idBackend (backend/.env):
QDRANT_URL=http://localhost:6333
OLLAMA_BASE_URL=http://localhost:11434
FRONTEND_URL=https://assistantstudy.netlify.appnpm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Email/password authentication
- Form validation with Zod
- Protected routes
- Error handling
- Upload PDFs, images, and notes
- AI-powered organization
- Search and filter
- Tag-based categorization
- AI-generated from materials
- Interactive flip cards
- Progress tracking
- Custom deck creation
- Real-time chat
- Group discovery
- Member management
- Subject-based matching
- AI-generated schedules
- Progress tracking
- Task management
- Deadline reminders
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Built with Next.js and React
- UI components from Radix UI
- Icons from Lucide React
- 3D graphics with Three.js