A fast, fully client-side flashcard tool. No login, no server, no analytics. Cards live in your browser; export the whole library to JSON any time.
Requires Node 20+ and npm.
npm install
npm run dev
Opens at http://localhost:5173 with hot module reload.
| Command | What it does |
|---|---|
npm run dev |
Vite dev server with HMR |
npm run build |
Production build โ dist/ |
npm run preview |
Serve the production build locally |
npm run check |
svelte-check (types + Svelte diagnostics) |
idb-keyval โ tiny IndexedDB wrapper for local card storage.marked + DOMPurify โ markdown rendering, sanitized.Builds to ~46 KB gzipped JS + ~3.5 KB CSS, under the 50 KB target.
src/
โโโ App.svelte โ top-level layout + view switch
โโโ app.css โ CSS tokens, shared button system, base styles
โโโ main.ts โ font imports, mount()
โโโ components/
โ โโโ Header.svelte โ brand + nav tabs
โโโ lib/
โ โโโ router.ts โ hash-based router
โ โโโ storage.ts โ IndexedDB get/save/delete
โ โโโ markdown.ts โ marked + DOMPurify
โ โโโ theme.ts โ light / dark / system
โ โโโ shortcuts.ts โ global g-chord nav handler
โ โโโ keyboard-help.ts โ shortcut reference rendered on About
โ โโโ export.ts โ JSON backup download
โ โโโ import.ts โ JSON merge restore
โ โโโ id.ts โ URL-safe 8-char id generator
โ โโโ types.ts โ Card type
โโโ views/
โโโ Add.svelte โ capture / edit a card
โโโ Browse.svelte โ list, export, import, delete
โโโ Quiz.svelte โ shuffled queue with flip animation
โโโ About.svelte โ intro, settings, shortcuts, data location
#/add โ capture a new card (default)#/edit/:id โ edit an existing card#/browse โ list of all cards#/quiz โ flip through a shuffled queue#/about โ intro, theme picker, keyboard shortcuts, data locationNav is Gmail-style chord shortcuts: g a (Add) ยท g b (Browse) ยท g q (Quiz). Quiz: Space to flip, n/p (or โ/โ) to navigate, e to edit. Save in Add is โ/Ctrl + Enter; Esc clears or cancels.
Full list on the About page.
Cards live in your browser's IndexedDB under the flashcards database. Nothing is sent anywhere.
flashcards โ Delete database.Hosted on Cloudflare Pages with Git integration โ every push to main rebuilds and ships.
| Setting | Value |
|---|---|
| Build command | npm run build |
| Build output | dist/ |
| Node version | 20 (via NODE_VERSION env var) |
MIT ยฉ 2026 Bhargav Kowshik.