StudyAI is a next-generation, all-in-one AI study platform designed to transform how students approach their curriculum. By leveraging the power of Google’s Gemini API, StudyAI parses complex syllabi, generates personalized learning roadmaps, and creates intelligent assessment loops to ensure mastery of every topic.
Upload your syllabus or text and watch StudyAI generate a week-by-week study roadmap. It breaks down complex subjects into digestible topics with specific learning objectives.
Complete a topic and instantly generate a 10-question MCQ assessment. The AI evaluates your understanding and tracks your performance over time.
Built-in resilience against 429 rate limits. StudyAI dynamically cycles through multiple Gemini API keys to ensure uninterrupted service, even on free tier quotas.
Built with Capacitor, StudyAI runs seamlessly as a modern web application and as a native Android application.
Visualize your study streaks, topic completion rates, and subject mastery through a sleek, animated dashboard.
Interactive 3D visualization of your study subjects and topics using react-force-graph-3d, helping you see the connections between your learnings.
- Framework: Next.js 15+ (App Router)
- Styling: Tailwind CSS 4 & Framer Motion
- AI Engine: Google Gemini AI (with custom key rotation logic)
- Database: PostgreSQL (Supabase) via Prisma ORM
- Authentication: Firebase Auth (Phone & Google login)
- Mobile: Capacitor JS (Android)
- Icons: Lucide React
- Node.js 20.x or later
- A Supabase project (for PostgreSQL)
- Firebase project credentials
- Gemini API Key(s)
-
Clone the repository:
git clone https://github.com/sarthakagrawal3105/studyai.git cd studyai -
Install dependencies:
npm install
-
Environment Setup: Create a
.env.localfile and add your credentials:# Database DATABASE_URL="your_supabase_postgresql_url" # AI - Add multiple keys separated by commas for rotation GEMINI_API_KEY="key1, key2, key3" # Firebase NEXT_PUBLIC_FIREBASE_API_KEY="..." # ... other firebase vars
-
Database Migration:
npx prisma generate npx prisma db push
-
Run the development server:
npm run dev
To sync the web build with the Android project:
# Build the web app
npm run build
# Sync with Capacitor
npx cap sync android
# Open in Android Studio
npx cap open android/app: Next.js pages, actions, and layouts./components: Reusable UI components (Sidebar, Navbar, AI Cards)./lib: Core utilities (Gemini rotation logic, Firebase config, Prisma client)./prisma: Database schema and migrations./android: Capacitor-generated Android project files.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Built with ❤️ for students, by Sarthak Agrawal