About this project
Jolito is an open-source flashcard app aimed at learners of spoken Mexican Spanish. It pairs a spaced-repetition review loop with audio immersion and a keyboard-driven practice flow, and it can run as an installable, offline-capable web app or as a native iOS package.
Highlights described in the README:
- Keyboard-first reviewing: Enter to reveal, keys 1-4 to grade, Space to play audio, with autofocused inputs so hands stay on the keyboard.
- Ear-first audio: spoken Mexican Spanish audio attached to both prompts and answers.
- Active typed recall: learners type answers rather than only recognizing them; an instant visual diff highlights spelling differences, while grading remains self-assessed.
- Dual-card workbench: linked Spanish-English reciprocal cards are created together with side-by-side previews and batch authoring.
- Offline lexicon assistant: bundled Mexican Spanish dictionary for translations, lemmas, and verb conjugation hints.
- Duplicate detection across card creation, deck management, and editing.
- Anki import: existing decks can be brought in via .apkg packages or text exports, with learning history and review schedules preserved.
- Native iOS build via Capacitor with haptic feedback for reveals and grading.
- Offline-first storage with local persistence and service-worker caching; a PWA install option.
- Personal decks with passwordless email sign-in and multi-device sync backed by Supabase.
The project is positioned between two extremes: general-purpose spaced-repetition tools that require manual card authoring (audio clipping, images, templates), and gamified learning apps with fixed curricula. Jolito's stated goal is zero-friction card creation with learner control over which real-world phrases are studied.
Running locally requires Node.js >= 24 and npm. After cloning, `npm ci` installs dependencies and `npm run dev` starts a dev server at http://localhost:5173. To check the installable production build, `npm run build && npm run preview` serves it at http://localhost:4173; loading once while online allows testing offline reload behavior. Remote development is documented for SSH with a forwarded port, since Mosh alone cannot carry the TCP port.
Further documentation in the repository covers product vision, design principles, roadmap, an architecture description referencing a hexagonal domain structure with local-first storage, a quality guide describing the test pyramid, accessibility invariants and CI contracts, and a development guide for Supabase sync configuration and Cloudflare Workers deployment. The project is licensed under Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.