Projects

Things I have built

Things I build to use or to learn, with notes on how they work and what I took away from them.

Danish for “forget-me-not”

A self-hosted Danish flashcard app whose review scheduler is a machine-learning model, with a full MLOps loop built around it.

  • FSRS is the champion; challengers, including a LightGBM model, predict every review in shadow mode
  • Nightly retraining and evaluation, tracked in MLflow
  • A champion/challenger gate: bootstrap test over cards plus a calibration check
  • Grafana dashboards for model health and learning progress
  • A public model report, published by the pipeline itself
  • k3s
  • Ansible
  • Tailscale
  • GitHub Actions
  • PostgreSQL
  • MLflow
  • Grafana
  • LightGBM
  • FSRS

More details