Web2026
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.
- Production
- DevCards
- Role
- Solo: content and app
- Year
- 2026
- Status
- Live
- Format
- Web
- Built with
- Next.jsTypeScriptTailwind CSSlocalStorageLeitner scheduling
- Where to find it
- Visit the siteSource


Treatment
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.
تغطي DevCards ثلاثة عشر مجالًا بثلاثة مستويات صعوبة: هندسة البرمجيات، والواجهات الأمامية والخلفية، وتصميم الأنظمة، والخدمات المصغّرة، والتخزين المؤقت، وقواعد البيانات، والأمان، وReact وPHP وLaravel وNext.js وNode.js. كل بطاقة متعددة الخيارات وتُصحَّح فورًا، مع إجابة قصيرة وشرح أعمق لما يجري خلف الكواليس.
There is no backend at all. Progress lives in the browser, which means it opens instantly and costs nothing to run.
لا خادم إطلاقًا. يبقى التقدّم في المتصفح، فيُفتح فورًا وبلا كلفة تشغيل.
Challenges
Getting it right once is not learning it
The problem
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.
What I did
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.
No backend means no account to restore from
The problem
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.
What I did
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.
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.قادر على العمل دون اتصال بالكامل، ويُدار بالكامل من لوحة المفاتيح.