cat ~/projects/devcards.md

DevCards

Spaced-repetition flashcards for engineering interviews.

Hundreds of multiple-choice questions across thirteen topics, each with a full explanation, scheduled by a Leitner system so the cards you get wrong keep coming back until they stick. Entirely frontend: no backend, no account, no network calls.

Role
Solo: content and app
Year
2026
Status
Live
type
Web
Built with
Next.jsTypeScriptTailwind CSSlocalStorageLeitner scheduling
Where to find it
projects/devcards.png2880×1800
Interface of DevCards

head -n 40 overview

What it is

Interview prep material is either a list of questions with one-line answers you forget immediately, or a course you never finish. Neither does the thing that actually works, which is being asked the question again a few days after getting it wrong.

DevCards covers thirteen areas at three difficulty levels: software engineering, frontend, backend, system design, microservices, caching, databases, security, React, PHP, Laravel, Next.js and Node.js. Every card is multiple choice and graded instantly, with a short answer and a deeper 'behind the scenes' explanation.

There is no backend at all. Progress lives in the browser, which means it opens instantly and costs nothing to run.

diff before after

Challenges

A line taken out, a line put in. The problem first, then what actually replaced it.

  1. Getting it right once is not learning it

    A plain quiz shuffles and moves on, so a question you guessed correctly and a question you actually know are treated identically, and the ones you got wrong are the ones you never see again.

    A Leitner system with self-rating. A missed card drops to box zero and returns almost immediately, both later in the same session and in future ones, while cards you know climb to longer intervals.

  2. No backend means no account to restore from

    Keeping everything client-side is what makes the app free and instant, but it also means progress is tied to one browser and can be cleared without warning.

    I took the trade deliberately rather than adding accounts for a study tool. Storage reads and writes are defensive so a cleared or blocked store degrades to a fresh session instead of a crash.

tail outcomes

Results

  • Thirteen categories, hundreds of graded questions with explanations.
  • Leitner scheduling plus in-session re-queueing of missed cards.
  • Fully offline-capable; keyboard-driven throughout.

Keep readingتابع القراءة

openhadanati

All projects

Next design — BentoSee all 14