DEV Community

ritesh mishra
ritesh mishra

Posted on

Recall Loop: A local LLM study card drafter and goal setter

What I Built

I built Recall Loop for a friend preparing for an exam who gets easily confused on the topics she already studied about multiple times, just because she forgets them the next moment understands them. The app
turns a wrong answer into a small, editable review card, so the student can revisit the idea behind a mistake instead of only rereading the correct answer.

For each mistake, the student enters the subject, question, the answer they gave, the correct answer, and an optional note about what confused them. A local model can draft a key concept, a short explanation, a hint, a new recall question, and its expected answer. The student reviews and edits the draft before saving it.

Generated explanations are not verified, so the student should check them against their study materials.

The app also supports spaced reviews, daily review goals, subject-based study tasks, progress tracking, and light and dark themes. Review attempts and streak activity are tracked separately: repeating a card can help with practice, but only a new card or an explicitly completed study task counts as streak activity.

Demo

Try Recall Loop: https://recall-loop-if6f.onrender.com

Code

View the GitHub repository

How I Built It

Recall Loop is a React, TypeScript, and Vite web app. It uses WebLLM to run the open-weight Llama-3.2-1B-Instruct-q4f16_1-MLC model in a browser worker with WebGPU. The model is optional: if local inference isn’t available, the student can create a card manually.

Study cards, review history, preferences, and study tasks are saved in IndexedDB on the user’s device. Model files are cached separately by the browser. The app has no backend for study data and doesn’t send question content, answers, notes, or generated cards to a third-party AI API.

flowchart LR
    Student --> App[Recall Loop web app]
    App -->|Mistake details| Worker[Browser worker]
    Worker -->|Local inference| Model[WebLLM + WebGPU]
    Model -->|Editable draft| App
    App -->|Cards, reviews, tasks, preferences| DB[(IndexedDB)]
    Student -->|Edit and approve| App

Why Does Open Innovation Matter?

This is a study tool, so a student’s mistakes and notes can be personal. Running generation locally lets Recall Loop draft a card without sending that study content to a hosted AI API. An open-weight model and an open-source browser inference runtime also make the AI path more inspectable and adaptable.

That choice has trade-offs. The first model setup requires a large download; WebGPU support and performance depend on the browser and device; and the browser may evict cached model files. Local inference also doesn’t guarantee correct explanations, which is why generated text stays an editable, unverified draft and manual card creation remains available.

Prize Categories

The frontend is deployed on Render. Inference runs locally in the browser, not on Render.

Best Use of Render — Render hosts the deployed Recall Loop frontend.

Thanks for checking out Recall Loop!

Top comments (0)