Hi. I made this interactive learning tool designed to help me study using the spaced repetition technique. I use this to review python syntax, but you can use it for anything (biology, history, or whatever). I built this using Streamlit and Supabase for cloud database storage. Here's the list of features I made:
- Enter a question and its answer
- It appears in today's review list
- Once marked reviewed, it reappears after 3, 6, 12 days, and so on
- This increasing interval follows a spaced repetition schedule
- View all added questions
- Edit or remove questions anytime
- Daily review count visualized like GitHub contribution heatmaps
- Check which questions you reviewed on a specific date
- View all questions due for today
- Start reviewing with a single click
- Write your answer
- Click “Reveal Answer” to check correctness
- Mark as reviewed to schedule it for the next interval
- Frontend: Streamlit
- Database: Supabase (PostgreSQL backend)
- Visualization: Plotly (for daily activity heatmap)
This is the MVP, so I haven't made account login yet to track it by user, but if you want to use this, you can easily setup yourself. Here's the steps:
git clone https://github.com/your-username/spaced-repetition-learning-app.git
cd spaced-repetition-learning-apppip install -r requirements.txtCreate .streamlit/secrets.toml:
SUPABASE_URL = "supabase-project-url"
SUPABASE_KEY = "anon-key"streamlit run streamlit_app.pyIf using local: $env:LOCAL="1" streamlit run streamlit_app.py
- Hosted on Streamlit Cloud
- Uses Supabase for data storage
