kaorii-ako
Shiori-v1
JavaScript✨ New

Open-source AI study companion — Google Classroom sync, Gemini AI plans, SRS flashcards, GPA predictor, AI quiz, MCP server for Claude Code. Try demo at shiori-v1.vercel.app

Last updated Jul 8, 2026
39
Stars
2
Forks
6
Issues
0
Stars/day
Attention Score
38
Language breakdown
JavaScript 94.8%
CSS 2.1%
HTML 1.8%
Shell 1.1%
Dockerfile 0.1%
Files click to expand
README

栞 Shiori

The AI-powered study companion for serious students.

GitHub stars License: MIT Live Demo CI

🎮 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)

Deploy with Vercel

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 | |----------|----------|--------------| | VITESUPABASEURL | ✅ Yes | supabase.com → Settings → API | | VITESUPABASEANONKEY | ✅ Yes | supabase.com → Settings → API | | VITEGEMINIAPIKEY | 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.


📄 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!

🔗 More in this category

© 2026 GitRepoTrend · kaorii-ako/Shiori-v1 · Updated daily from GitHub