New
Apps 1,163Makers 1,161This week 1,163
Promote your app−30%
1views in
the last 30 days

FlashMind — AI-Powered Study Tool

AI study engine - turn notes, PDFs, or any topic into study notes, FSRS-scheduled flashcards...

Built with Claude Code

by 0xmortuex · added Oct 29, 2026
no ratings0 comments

FlashMind — AI-Powered Study Tool

Turn any notes, PDF, web page, or topic into structured study notes, flashcards, and a Turkish-style exam — with an AI tutor, FSRS spaced repetition, and device sync. Free, no signup, runs in the browser.

🔗 Live: 0xmortuex.github.io/FlashMind


What it does

Give FlashMind some material and it generates a complete study set in one streamed call — you watch the stage checklist tick off and the flashcard counter climb while it writes:

  • 📝 Notes — a clean summary with sections, key terms, important dates, common mistakes, and simple diagrams. Read-aloud (TTS) included.
  • 🃏 Flashcards — 3D flip-card deck with a drag-to-rate study mode (swipe right = Got it, left = Again, up = Hard) scheduled by FSRS, plus one-click cloze cards built from your notes' key terms. Add, edit, and delete cards by hand (with an optional image), study in typed-recall mode (type the answer, get a verdict before rating), or hit ⚡ Cram the night before — hardest cards first, schedules untouched.
  • 📋 Exam (Turkish style) — mixed-format exam with two modes: Practice (per-question feedback, optional timer) and Simulation (deneme sınavı) — one overall countdown, optik-form question navigator, results only at the end. Results include a per-topic accuracy breakdown, and the question bank only grows: generate more questions any time (deduped automatically).
  • 📄 Exams from real papers — upload a real exam or MEB sample booklet (PDF or photos): FlashMind learns its style and konu dağılımı, files its readable questions into the bank (keyed from the booklet's answer key, or AI-solved and sent to the answer checker), writes new questions in the same style, and weights adaptive practice by the topic distribution. Open-ended answers can be photographed in handwriting (OCR, correct, then AI-graded), and a photographed graded paper becomes a lost-marks report (per topic + the 3 things to fix first) with its mistakes filed, plus one-click flashcards and practice. Links to the official free sources (MEB ÖDSGM, OGM Materyal, MEBİ) are built in.
  • 📕 Mistake notebook (yanlış defteri) — every wrong answer is filed automatically; retake just your mistakes, ask the AI for a harder retake built from them, and correct answers clear them.
  • 📊 Stats — day streak with streak freezes (earned every 7 study days, auto-bridge a missed day), review charts, a 6-month activity heatmap, a 7-day due forecast, exam-score history, and an AI weekly report.
  • 💬 Ask AI — a tutor with your material as context; one click on any wrong exam answer asks it "explain this". Feynman mode flips the roles: you explain the topic, the AI grades your explanation and lists what's missing. Struggling cards (2+ lapses) get a one-click AI mnemonic.
  • ☀️ Today queue — one session that pulls every due card from all your decks, with a home-screen banner, PWA app-icon badge, and an opt-in daily reminder notification.
  • 📅 Exam planner — give a deck its exam date and FlashMind works backwards: FSRS pulls every review in before the exam, new cards are spread across the days left (the last day is kept for a final review + cram), and you get a day-by-day plan, a readiness score (predicted recall on exam day), a countdown on the deck, and an "Upcoming exams" strip on the home screen with one-tap Start today's plan.
  • 🧠 Mind map — an interactive, collapsible concept map of the set: built instantly from the notes' outline, or rebuilt by the AI as a richer concept map. Click a node to expand it and read its explanation, or ask the AI about it.
  • 🎧 Audio overview — a podcast-style recap to listen to on the go: a two-host deep dive, a one-host brief, or an offline quick recap of your notes. Played with your device's voices (one per host), with speed control and a clickable transcript.
  • 🧪 Interactive labs — hands-on simulations built from your material: graphs with sliders, projectiles and pendulums, a circuit you can rewire (series/parallel, open switches), a timeline to scrub. Each lab has a goal and live-checked challenges. The AI only fills in a declarative spec; formulas run in FlashMind's own small expression evaluator (no eval). Starter labs work offline.
  • 🎬 Video lessons — a narrated slide lesson per topic: the AI writes a storyboard (bullets, formulas, diagrams, narration) and the player shows it like a video with transitions, browser narration, captions, speed, slide markers and keyboard controls. Export as a printable/PDF slide handout.
  • 📎 Sources & citations — build one set from several sources (a PDF + a web page + a YouTube video + your notes), toggle each in or out of the AI's context, and re-read them in a viewer. AI answers quote the passages they're based on; each quote is checked against your actual material and anything that can't be found is flagged. Every notes section can show the source passage it came from.
  • ∑ Math & formulas — $...$ / $$...$$ LaTeX in notes, cards, exams and chat is typeset with KaTeX (lazy-loaded, cached for offline use); generation asks for formulas in LaTeX.
  • 🖼️ Image occlusion — turn a labelled diagram into cards: draw boxes over the labels, and each box becomes a "what's hidden here?" card (hide all / hide one modes).
  • 🎙️ Voice tutor — talk out loud with an AI tutor about the open set (Gemini 3.8 Live): it quizzes you, lets you explain a topic back and finds the gaps, or answers your questions, with a live transcript of both sides. The worker mints a single-use token locked to the tutor setup, so the browser never holds the Gemini key.
  • 📷 Check my work — a voice-tutor mode for maths, physics and chemistry: point the camera (front/back or any camera) at your written solution and talk it through; the tutor checks each step, names the first wrong one and coaches you instead of giving the answer. Frames (~640px JPEG) go up about once a second only while you talk or when the page changes.
  • 🏫 Lecture companion — record a lesson: live transcript (Gemini Live transcription, with the browser's speech recognition as a fallback), teacher cues like "bu sınavda çıkar" flagged as they happen, and every ~5 minutes the new part becomes notes, flashcards and exam alerts appended to a new or the open deck, with the transcript saved as a source. Sessions renew seamlessly past Gemini's 15-minute limit; up to 90 minutes.
  • ⏱️ Focus timer — a Pomodoro timer (25/5, 50/10, 15/3) that survives reloads; finished focus blocks are logged in Stats and count toward your streak.

Not sure? Hit Try an example on the home screen for an instant sample deck — no waiting, no API call.

Inputs

  • Paste text (notes, a transcript, a textbook chapter).
  • Upload a PDF — text extracted client-side with PDF.js.
  • A photo — point your camera at a textbook page or your notes; text is extracted client-side with Tesseract.js OCR (English + Turkish).
  • Upload JSON — re-import a FlashMind export, or load any JSON as raw text.
  • Upload CSV/TSV — flashcards from our export, Anki exports, or any front/back sheet.
  • A URL — the backend fetches the page and extracts its readable text.
  • A YouTube link — the backend pulls the video's caption transcript (prefers your UI language, falls back to English/auto-generated).
  • Just a topic — type "Photosynthesis" and it teaches the subject.

Turkish-style exam (Türk sınav sistemi)

Type Turkish Notes
Multiple choice Çoktan seçmeli 5 options (A–E) — YKS/lise format
True / False Doğru-Yanlış single statement
Fill in the blank Boşluk doldurma typed answer, accepts synonyms
Matching Eşleştirme match term ↔ definition
Open-ended Açık uçlu / klasik written answer, AI-graded (practice mode)

Scoring follows Turkish conventions: Doğru / Yanlış / Boş counts and a Net for the multiple-choice section (net = doğru − yanlış ⁄ 4), a 0–100 puan shown on an animated gauge, and a letter grade. Answer with the keyboard (A–E, Enter for next), filter types, shuffle, set timers, review every answer, and export a printable exam sheet with an answer key.

Study features

  • 🧠 FSRS spaced repetition — the modern scheduler (FSRS-4.5) plans each card's optimal review date; lapses feed weak-spot targeting, which generates new cards for the categories you struggle with.
  • 🧬 Personal memory model — every review is logged (compact, capped per deck); after 200 spaced reviews FlashMind fits your own initial stabilities and forgetting rate by maximum likelihood and schedules with them. Stats shows predicted vs actual recall and a per-topic forecast for exam day.
  • 🎯 Exam predictor — for decks with an exam date: predicted score with a 90% range, plus "the next 2 hours that gain the most marks" (cards ranked by expected marks per minute).
  • 🕸️ Concept map — one graph across all decks from key terms and categories, with mastery per concept and prerequisite gaps ("you keep missing X because you haven't mastered Y"); an optional AI pass adds links.
  • 🧭 Autopilot coach — "What should I do now?" picks and launches your best next 20 minutes (reviews, high-yield cards, mistakes retake, adaptive exam, voice quiz, mind map) and suggests the next step afterwards.
  • 🎚️ Difficulty dial — generate the same material as Simple, Standard, or Advanced (exam-prep depth).
  • 📚 Deck library — every set is saved locally; rename, duplicate, search, export, delete, group into folders, or merge decks (review progress carries over); mastery rings and due counts at a glance.
  • 🔁 Device sync — account-less: enable sync, enter the private code on another device, and decks/stats merge (deletions propagate too). Disabling wipes the cloud copy.
  • 💾 Backup — one file backs up the whole library including schedules, stats, and mistake banks; drop it on any FlashMind to restore.
  • 🔍 Search, 🔗 permanent share links, 📤 exports (Markdown, PDF, Anki-compatible CSV, printable exam, JSON).
  • 🌍 Community gallery — optionally list a shared deck publicly; the home screen shows the latest community decks, one tap to open.
  • 🏫 Class mode — account-less classes: a teacher gets a public join code and a private teacher code, sends decks/exams (with an optional due date) to the class, and sees a students × topics heatmap, the weakest topics, who's behind, and a one-click revision exam on the weakest topics. Students join with the code and a nickname; class decks stay updated without losing their own FSRS progress, and only small aggregated progress reports are sent.
  • ⚔️ Quiz battles — Kahoot-style live games on a deck's exam questions: the host shows a room code, link and QR; players join on their phones, everyone gets the same question with a countdown, faster correct answers score more, with a live leaderboard and a podium. Timing, scoring and the answer key stay on the server (a Cloudflare Durable Object per room).

Interface

  • ⌘ Command palette — Ctrl+K for tabs, actions, and decks; ? shows all keyboard shortcuts.
  • 🌗 Light & dark theme with an animated circular reveal; motion everywhere is GPU-cheap and respects prefers-reduced-motion.
  • 🔊 Opt-in sounds & haptics — WebAudio-synthesized, off by default.
  • 📱 Mobile-first PWA — bottom navigation, swipe gestures, installable, offline for saved decks.
  • ♿ Accessible — focus-trapped dialogs, ARIA roles, keyboard support throughout.
  • 🌍 Full English and Turkish UI; generated content matches the source language.

How it's built

  • Frontend — vanilla HTML/CSS/JS, no framework, no build step. Hosted on GitHub Pages.
  • Backend — a Cloudflare Worker (flashmind-worker) that proxies generation/grading to OpenRouter (Claude) with SSE streaming, stores shares and sync blobs in KV, extracts text from URLs, and rate-limits per IP. The API key lives only as a Worker secret.
  • Storage — decks, FSRS schedules, mistake banks, and stats persist in localStorage; sync/share blobs in Worker KV under random bearer codes.
  • Charts & scheduling — hand-rolled: inline-SVG charts and mind map, canvas confetti, and an FSRS-4.5 implementation with exam-date capping — no libraries. The only CDN dependencies are PDF.js, and two lazy-loaded ones: Tesseract.js for OCR (only when you drop a photo) and KaTeX (only when a formula appears).
  • AI features without new endpoints — mind maps, audio scripts and citations ride the Worker's existing chat action with structured-JSON prompts; audio is spoken by the browser's Speech Synthesis.
  • CI — Puppeteer smoke checks plus data and browser regression suites run on every push (badge above).

Run locally

It's static — open index.html, or:

npx serve .

Generation/sharing/sync call the hosted Worker. To run your own backend, deploy flashmind-worker (see its README) and point WORKER_URL in js/api.js at it. Run the tests with Node.js 20 or newer. Install the browser test dependencies and start a local server:

npm install --no-save puppeteer serve
npx serve -l 4173 .

In a second terminal:

node --test tests/regression.js
node tests/smoke.js
node tests/browser-regression.js
node tests/contrast.js

The regression suites use mocked AI/sync responses; they do not upload study material. See AUDIT.md for the audit findings, fixes, and remaining architectural work.

Privacy

Material is processed on demand and not stored server-side. Your library lives in your browser. Shared sets and sync data are stored (by you, on demand) under random codes until you delete them — disabling sync deletes your cloud copy.

License

MIT

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#education · #flashcards · #notes