Cram
Study a little every day. Remember it for good.
Live at cram-eta.vercel.app.
Cram is a study workspace for students: Notion-style notes organised by subject, AI quizzes
generated from your own notes, spaced review that tells you what you're about to forget, a
focus timer, and a gamified streak/XP system designed to bring you back every day.
Features
Notes
- Notion-style editor (BlockNote): headings, lists, tables, images, code, toggles and
multi-column layouts (type
/col, or drag a block to another block's side).
- Page options (
⋯ next to the title): Full width, Small text, Copy link.
- Folders as subjects, with a page tree in the sidebar.
- Heading outline: a rail of dashes on the right edge; hover it for a clickable,
indented table of contents.
- Tabs: open several pages at once.
+ opens a new tab; Ctrl/Cmd+click or middle-click any
link opens it in a background tab.
- Breadcrumbs with hover menus to jump between sections, folders and pages.
- Search (
Ctrl/Cmd + K) across titles and the text inside your notes.
Learning
- AI quizzes (Gemini) from any selection of pages, at three difficulties. Every wrong answer
links back to the page it came from.
- Spaced repetition: each quiz updates a per-page mastery score and schedules the next
review (strong recall stretches the interval, weak recall brings it back tomorrow).
Due pages show on Home and on the folder page with a one-click Review quiz.
Planning
- Planner with natural-language dates ("review notes tomorrow", "stretch everyday"),
priorities, repeating tasks and an optional subject per task.
- Folder page sidebar: a To-do list for that subject and a Roadmap, a checklist of
every topic to cover, with a progress bar.
- Pomodoro focus page that always fits the window: large numerals, segmented progress for
the session cycle, and shortcuts (Space start/pause, R reset, S skip). The timer
keeps running across the app (mini timer in the top bar, countdown in the browser tab), and you
can link a task to the session.
Motivation (gamification)
- Daily goal ring: pick 10–90 min or set a custom goal (up to 12 hours). Focus sessions
and time spent writing notes both count.
- Streaks with streak freezes (one earned per week, max 2) that protect a missed day.
- XP and levels, 17 achievements, and celebration popups for unlocks and level-ups.
- Progress page: level, stats, where your time went (study time per folder, and per task
for tasks without a folder, by week / month / year, with the tasks inside each folder), a
year-long activity heatmap and every
achievement.
- Weekly leaderboards in shared folders (opt out in Settings).
- Reset progress (Settings): start streak, XP, level, achievements and study stats over from
zero, behind a type-RESET confirmation. Notes, folders, tasks and quiz history are kept.
- Reminder emails in the student's timezone: a morning plan (reviews and tasks due), a
streak-at-risk nudge at 8 pm, comeback nudges after a few days away, and a Sunday recap. Each
can be turned off in Settings or from the email itself. The live site sends these to the owner's
account only: emailing every student needs a paid domain (see docs/EMAILS.md).
| Action | XP |
|---|
| Each minute of focus or note-writing | 1 |
| Completing a quiz | 10, +5 per correct answer, +20 for a perfect score |
| Hitting your daily goal | 20 |
| Completing a task | 5 (first 10 per day) |
| Covering a roadmap topic | 10 (first 10 per day) |
A day counts toward your streak after a focus session, a quiz, or 5 minutes of writing notes.
Accounts & onboarding
- Continue with Google, or email/password sign-up with a strong-password policy: at
least 10 characters with upper- and lowercase letters, a number and a symbol, shown as a live
checklist and strength meter. (Microsoft sign-in is also supported; its button appears once the
Azure provider is enabled in Supabase.)
- Forgot password:
/forgot-password emails a reset link, which leads to
/reset-password to choose a new password. The link must be opened in the same browser that
requested it.
- Product tour for new accounts: a spotlight walks through the app, opening each page it
describes (Skip / Back / Next). Replay it from the profile menu → Take the tour.
Collaboration
Folders can be shared with other Cram users as Viewer (read and quiz), Editor (edit
pages) or Admin (also manage members). Quizzes, streaks, XP, to-dos and roadmaps are always
personal.
Tech stack
- Next.js 16 (App Router, Server Actions, Turbopack) + TypeScript
- Tailwind CSS v4 + shadcn/ui on Base UI primitives, Motion for animation
- Prisma 7 → Supabase Postgres
- Supabase Auth (email/password + Google) and Supabase Storage (note images, max 4 MB)
- BlockNote editor +
@blocknote/xl-multi-column
- Google Gemini for quiz generation
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗