Skip to content

Latest commit

 

History

241 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jolito the Axolotl mascot logo
Spoken Mexican Spanish at your rhythm.
Try the live app →
Production deployment of main at joli.to

Quality checks

Jolito

Jolito blends the proven power of spaced repetition flashcards with the audio immersion and friction-free flow of a modern practice app. Built for mastering real-world Mexican Spanish, Jolito turns daily language practice into a fast, rewarding habit—online or offline.

Why another flashcard app?

Jolito was born out of a real-life transition: moving to Mexico City with my Mexican wife and twin daughters, and taking intensive Spanish classes at International House in Condesa.

I needed a practical way to internalize what I learned in class and heard on the streets every day at home. While Anki provided the unbeatable spaced repetition algorithm needed for long-term retention, manually creating rich cards—clipping audio, finding pictures, and configuring templates—felt like an exhausting chore when I was tired at the end of the day. Capturing what you learned should feel effortless and fun, with the visual beauty, natural audio, and delightful flow state of modern apps like Duolingo. On the other end of the spectrum, gamified apps locked learners into rigid beginner courses without control over the real-world Mexican phrases they actually wanted to learn.

Jolito was created to bridge that gap: pairing the proven power of spaced repetition and multimodal learning with zero-friction card authoring, ear-first native Mexican Spanish audio, active typed recall, and a joyful keyboard flow.

Anki Duolingo Jolito
Focus General-purpose Rigid beginner courses Real-world spoken language
Adding audio & cards High friction (plugins, templates) None (fixed curriculum) Zero-friction authoring
Review experience Flip-and-grade (typing requires template setup) Multiple choice & word banks Keyboard-first typed recall & audio out of the box
Learner control 100% Low 100% (custom cards & Anki import)

Highlights

  • Fast keyboard reviews: Fly through cards with Enter to reveal, 14 to grade, and Space for audio. Inputs autofocus automatically so your hands never need to leave the keyboard.
  • Ear-first immersion: Spoken Mexican Spanish audio on prompts and answers trains your ear for everyday conversation.
  • Active typed recall: Produce language instead of just recognizing it. Instant visual diffs highlight spelling nuances while you retain full authority over your self-grading.
  • Live dual-card workbench: Create linked Spanish ↔ English reciprocal cards simultaneously with side-by-side previews, contextual explanations, and rapid batch creation.
  • Offline lexicon assistant: Instant smart translations, lemmas, and verb conjugation suggestions powered by a bundled Mexican Spanish dictionary.
  • Duplicate detection: Proactively catches and resolves duplicate cards across creation, deck management, and editing.
  • Anki import: Bring existing Anki decks (.apkg packages or text exports) in seconds, preserving learning history and spaced-repetition schedules.
  • Native iOS app & tactile haptics: Package and run as a native iOS app via Capacitor, featuring sensory haptic feedback for card reveals and self-grading.
  • Offline-first study: Installable PWA and native app with local storage and service worker caching. Once signed in, practice, create, and manage cards anywhere with zero network latency.
  • Personal decks & cloud sync: Passwordless email sign-in unlocks your personal deck with seamless multi-device backup powered by Supabase.

Run it locally

Requires Node.js >=24 (Node 24 LTS or Node 26+) and npm.

# Clone & install
git clone https://github.com/smolkaj/jolito.git
cd jolito
npm ci

# Start the dev server
npm run dev

Open http://localhost:5173. To test the installable, offline-capable production build:

npm run build && npm run preview

Open http://localhost:4173 once while online, then toggle offline in DevTools and reload.

Remote development over SSH/Mosh

ssh -L 5173:127.0.0.1:5173 -t <host> 'cd ~/src/jolito && npm ci && npm run dev -- --host 127.0.0.1'

Mosh cannot carry the TCP port, so SSH provides the tunnel. Substitute a task worktree path for ~/src/jolito when reviewing unmerged work.

Explore more

  • Product Vision: Philosophy, core principles, and the target learner experience.
  • Design Principles: Durable principles for visual hierarchy, interaction, copy, and coherence.
  • Roadmap: Current progress, active tracks, and upcoming capabilities.
  • Architecture: Hexagonal domain structure, local-first storage, and clean abstractions.
  • Quality Guide: Test pyramid, accessibility invariants, and CI contracts.
  • Development Guide: Supabase sync configuration, Cloudflare Workers deployment, and testing workflows.

License

Jolito is licensed under the Apache License 2.0.

Used by

Contributors

Languages