ๆ Shiori
The AI-powered study companion for serious students.
๐ฎ Try Demo ยท ๐ Docs ยท ๐ Report Bug ยท ๐ก Request Feature
What is Shiori?
Shiori (ๆ , bookmark in Japanese) is an open-source AI study companion built for students who take their grades seriously. It combines AI-powered study tools, gamification, and productivity features into one beautiful dark-mode app.
No subscription required for core features. Bring your own free Gemini API key. Self-hostable in 5 minutes.
๐ฎ Try the live demo โ no account, no API key needed.
โจ Features
| Feature | Description |
|---|---|
| ๐ค AI Quiz Generator | Generate MCQ quizzes from your notes with Gemini AI |
| ๐ AI Flashcards | Auto-generate spaced repetition flashcard decks |
| ๐ Grade Tracker | Weighted grade calculator with GPA predictor |
| ๐ Assignment Manager | Due dates, priorities, completion tracking |
| ๐ Markdown Notes | Two-panel editor with live preview |
| ๐ฏ Focus Mode | Pomodoro timer with task linking |
| ๐ Leaderboard | Compare XP and streaks with friends |
| ๐ Analytics | Study time, grade trends, completion rates |
| ๐ฑ Habit Tracker | Daily habit streaks with completion heatmap |
| ๐ Study Plans | AI-generated day-by-day study schedules |
| ๐ Syllabus Import | Parse syllabi to auto-create assignments |
| โจ๏ธ Keyboard Shortcuts | Power-user navigation (gh, ga, gn, gq...) |
| ๐ฎ Gamification | XP system, levels (Freshman โ Graduate), achievements |
๐ Quick Start
Option 1: Live demo (no setup)
๐ shiori-v1.vercel.app/demo
No account. No API key. Full experience.
Option 2: Deploy to Vercel (1 click)
Option 3: Self-host locally
Prerequisites: Node.js 18+, free Supabase account, free Gemini API key
# Clone
git clone https://github.com/kaorii-ako/Shiori-v1.git
cd Shiori-v1
# Configure
cp .env.example .env
# Edit .env with your Supabase URL + anon key
# Run Supabase schema
# โ Open supabase/schema.sql in your Supabase SQL Editor and run it
# Install + start
npm install
npm run dev
Open http://localhost:5173 โ click Try Demo or sign up.
Environment Variables
| Variable | Required | Where to get |
|---|---|---|
VITE_SUPABASE_URL |
โ Yes | supabase.com โ Settings โ API |
VITE_SUPABASE_ANON_KEY |
โ Yes | supabase.com โ Settings โ API |
VITE_GEMINI_API_KEY |
Optional | aistudio.google.com/apikey (free) |
๐ Tech Stack
Frontend: React 18 + Vite + Zustand
Database: Supabase (PostgreSQL + Auth)
AI: Google Gemini 1.5 Flash (client-side, BYOK)
Deployment: Vercel
โจ๏ธ Keyboard Shortcuts
| Shortcut | Action |
|---|---|
g h |
Go to Home |
g a |
Go to Assignments |
g n |
Go to Notes |
g f |
Go to Flashcards |
g q |
Go to Quiz |
g g |
Go to Grades |
? |
Show all shortcuts |
๐ Project Structure
Shiori-v1/
โโโ client/ # React + Vite frontend
โ โโโ src/
โ โโโ pages/ # 16 pages (Home, Assignments, Grades, Notes...)
โ โโโ components/ # Shared components (Sidebar, GlassCard, AIChat...)
โ โโโ stores/ # Zustand state management
โ โโโ utils/ # theme.js, gemini.js, demoData.js
โ โโโ lib/ # supabase.js, db.js
โโโ server/ # Express.js backend (optional, for Stripe webhooks)
โโโ extension/ # Chrome MV3 extension
โโโ supabase/ # Database schema + setup guide
โโโ docs/ # Screenshots, specs
๐ค Contributing
Contributions are welcome! Shiori is built by students for students.
- Check good first issues
- Read CONTRIBUTING.md
- Fork โ branch โ PR
๐ License
MIT โ free for personal and commercial use.
Made with โค๏ธ by Tawin Tangsukson
If Shiori helps you study better, please consider giving it a โญ โ it means a lot!