Organize • Practice • Master
The ultimate study companion that transforms scattered screenshots into a structured, AI-driven learning engine.
Key Features • Tech Stack • Getting Started • Contributing • License
Quesify isn't just storage—it's an active learning partner. It bridges the gap between chaotic study materials and structured academic mastery.
- Zero Typing Needed: Upload a screenshot, and our AI instantly extracts questions, options, and diagrams into perfectly formatted LaTeX.
- Auto-Tagging: Automatically detects subject, chapter, topic, and difficulty levels.
- Smart Deduplication: Identifies existing questions in the global bank to prevent clutter.
- Daily Practice Feeds: A curated "Daily Mix" targeting your weak areas and spacing out revisions.
- Spaced Repetition: Built-in scheduling ensures you review concepts right before you forget them.
- Performance Analytics: Tracks solving speed and accuracy to adapt future recommendations.
- Community Solutions: Explore multiple approaches to the same problem from peers worldwide.
- Strategic AI Hints: Get a tactical nudge without revealing the full answer.
- Peer Validation: Upvote and verify the best explanations and solutions.
- Aesthetic UI: A clean, modern, and dark-themed interface designed for focus.
- Mobile-First & PWA: Seamless experience on any device, installable as a native app.
- Fast & Scalable: Powered by Bun and Redis for near-instant response times.
| Component | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Runtime | Bun |
| Database | Supabase (Postgres + pgvector) |
| AI Engine | Google Gemini 2.0 Flash |
| Caching | Redis (Upstash) |
| State | Zustand + TanStack Query |
| Styling | Tailwind CSS + shadcn/ui + Framer Motion |
| Math | KaTeX (Fast LaTeX rendering) |
- Bun (v1.3.2 or later)
- Supabase project and credentials
- Google AI Studio API key (for Gemini)
- Upstash Redis credentials
-
Clone the repository
git clone https://github.com/UtkarshTheDev/Quesify.git cd Quesify -
Install dependencies
bun install
-
Environment Setup Create a
.env.localfile in the root:cp .env.example .env.local
Populate it with your keys:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_service_role_key GOOGLE_API_KEY=your_gemini_api_key UPSTASH_REDIS_REST_URL=your_redis_url UPSTASH_REDIS_REST_TOKEN=your_redis_token
-
Database Configuration Run the migrations in your Supabase SQL Editor in order:
supabase/migrations/01_setup_and_enums.sqlsupabase/migrations/02_tables_and_indexes.sqlsupabase/migrations/03_functions_and_triggers.sqlsupabase/migrations/04_rls_and_seed.sql
-
Run Development Server
bun run dev
Visit
http://localhost:3000to start practicing.
We love contributions! Whether you're fixing a bug, improving documentation, or proposing a new feature.
- Check the Contributing Guide.
- Follow the Conventional Commits standard.
- Ensure code is linted and typed.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by students, for students.