Home
Softono
Shiori-v1

Shiori-v1

Open source MIT JavaScript
43
Stars
2
Forks
6
Issues
0
Watchers
1 week
Last Commit

About Shiori-v1

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

Platforms

Web Self-hosted Docker

Languages

JavaScript

ๆ ž 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
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.

  1. Check good first issues
  2. Read CONTRIBUTING.md
  3. 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!