Inspiration

RecallRadar began with a learning problem many language learners know but rarely track: looking up the same word again and again.

While learning English as a child, I often checked the meanings of some vocabulary words repeatedly—sometimes more than five times. Each lookup gave me the definition again, but it did not tell me that the word had become a recurring memory gap. I realized that a repeated lookup is not just another dictionary search; it can be a signal that passive reading is not creating durable recall.

The same problem appears when I am learning Spanish. A learner may repeatedly search words such as embarazada, ser, estar, por, or para, but ordinary dictionary tools and flashcards do not recognize the pattern or intervene at the moment it matters.

We built RecallRadar to turn that repeated behavior into an active learning opportunity.

What it does

RecallRadar is a no-login, mobile-friendly vocabulary-retention app for English-speaking learners studying Spanish.

The app lets a learner look up a Spanish word and view its meaning, pronunciation hint, part of speech, gender/article when relevant, example sentence, translation, and common confusion warning. It then stores the lookup history locally and detects words that are being checked repeatedly.

When a learner reaches five lookups for the same word and meaning, RecallRadar activates a Memory Rescue intervention:

  • It highlights that the word has become a repeated-memory gap.
  • It presents a concise vocabulary card with context rather than only a translation.
  • It warns about important confusion pairs and false friends, such as embarazada (“pregnant”) versus avergonzado/a (“embarrassed”).
  • It gives the learner an active-recall question.
  • It asks for confidence and records whether the learner remembered or missed the word.
  • It updates an adaptive retention-risk score and places difficult words into a review queue.

The app is designed around a simple idea:

[ \text{Repeated lookup} + \text{recall difficulty} + \text{confidence} \rightarrow \text{targeted review} ]

Rather than treating every saved word equally, RecallRadar prioritizes the vocabulary that appears most likely to be forgotten.

How we built it

We built RecallRadar as a universal app with Expo, React Native, and TypeScript, allowing the same codebase to run as a mobile app through Expo Go and as a web application.

The project uses:

  • Expo + React Native + TypeScript for the cross-platform interface.
  • Expo Router for bottom-tab navigation: Lookup, Review Queue, and Dashboard.
  • Expo SQLite for no-login, privacy-preserving local storage on mobile.
  • A browser-compatible local-storage fallback for the web version.
  • A local JSON seed dataset containing Spanish vocabulary, meanings, pronunciation hints, examples, false-friend warnings, confusion pairs, and recall prompts.
  • A transparent rule-based retention-risk engine that uses lookup count, repeat activity, recall outcomes, confidence, recency, and confusion signals.

We intentionally kept the core MVP independent of external APIs and paid services. This made the prototype reliable for a fast hackathon build and ensured that the app could demonstrate its main learning loop without requiring an account, cloud database, or external LLM.

The app treats accented Spanish words correctly. For example, el and él, as well as si and sí, are stored as distinct vocabulary entries because accents can change meaning.

Challenges we ran into

Distinguishing repeated lookup from true forgetting

A learner may look up a word again for different reasons: a new meaning, a pronunciation check, a grammar question, or genuine forgetting. A lookup count alone is not enough.

To address this, we designed RecallRadar’s score to incorporate multiple behavioral signals instead of relying only on a fixed five-lookup threshold.

Handling Spanish-specific ambiguity

Spanish vocabulary includes accented words, gendered nouns, conjugated verbs, false friends, multiword phrases, and words with multiple meanings. For example, banco can mean a financial institution or a bench.

We handled this by identifying an entry using both the target word and a sense_id, so distinct meanings are tracked separately. The app is accent-aware and does not silently remove or replace accents.

Avoiding unreliable AI-generated definitions

A generative model can create a fluent but inaccurate definition or etymology. For a language-learning product, that is not acceptable.

For this MVP, we chose deterministic, validated seed content for definitions and core learning facts. The project architecture leaves room for a future source-grounded LLM feature that could generate optional mnemonics or extra practice questions without becoming the source of truth.

Building for mobile and web quickly

We wanted the experience to work on both a phone and desktop without creating separate projects. Expo and React Native made a shared codebase possible, while mobile-first cards, large touch targets, and compact screens kept the core interaction usable on smaller displays.

Accomplishments that we're proud of

  • Created a learning tool inspired by a real vocabulary-retention challenge rather than another generic chatbot.
  • Built a clear intervention loop: repeated lookup → risk assessment → Memory Rescue → active recall → review queue.
  • Made the app useful for Spanish learners by supporting accents, multiple meanings, gender/article information, and high-risk confusion pairs.
  • Kept the MVP privacy-oriented: no login, no identity collection, and local learning history.
  • Built one codebase designed to run on Android through Expo Go and in web browsers.
  • Used an explainable retention-risk score instead of making unsupported claims about a trained prediction model.
  • Designed the project so it can later incorporate source-grounded AI safely, while remaining useful without an LLM.

What we learned

We learned that language-learning tools become more useful when they respond to learner behavior, not just learner requests.

A dictionary answers, “What does this word mean?” RecallRadar asks, “Why are you still needing this word, and what type of practice will help it stay in memory?”

We also learned that explainable rules can be a strong first step before training a machine-learning model. In an early product without a large, consented dataset, a transparent risk score is easier to test, validate, and communicate than an opaque model.

Finally, we learned that multilingual applications need careful data handling. Accents, word senses, grammar, gender, and false friends are not small edge cases—they are central to the learner experience.

What's next for RecallRadar

  • Add a trusted Spanish dictionary and pronunciation-data integration with caching and source attribution.
  • Expand the vocabulary dataset beyond the MVP seed words.
  • Add smarter Spanish verb lemmatization so forms such as hablo, hablas, and habló can be connected to hablar while preserving the form the learner encountered.
  • Add adaptive spaced repetition using a scheduler such as FSRS.
  • Add an optional source-grounded local or cloud LLM to create labeled memory aids, additional examples, and targeted recall questions from verified dictionary facts.
  • Add semantic similarity to detect learner-specific confusion groups beyond manually defined pairs.
  • Add pronunciation listening and speaking practice with confidence-aware feedback.
  • Add optional authentication and cloud synchronization so learners can continue their history across phone and web devices.
  • Evaluate the system with a larger study measuring alert precision, recall improvement, delayed recall, and learner satisfaction.

Built With

Share this project:

Updates

Submission history