Quizzes
Active recall, not re-reading. Each question is something an interviewer could ask about a decision made in this codebase. Try to answer out loud before expanding the answer: the gap between "I recognise this" and "I can explain this" is exactly what an interview tests.
Questions are tagged by the level they'd typically be asked at:
Mid Senior Staff
Topics are added here as they're built in the project, including ones already covered elsewhere, so this stays a single place to drill.
Answer first, expand second. If you can't explain the why and the failure case, you don't own it yet.