Specifically, I decided to reimplement in Streamlit a Computerized Adaptive Testing (CAT) and Item Response Theory (IRT) demo I originally built years ago in good old Excel.

The app illustrates the estimation of a psychological trait of learning agility and showcases several key ideas behind CAT and IRT-based testing:

  • Item-level modeling – how individuals respond to questions is modeled based on both the characteristics of each item (e.g. difficulty, discrimination) and the test-taker’s underlying trait or ability.
  • Continuous ability estimation – the app updates the trait estimate in a Bayesian way after each response, rather than only at the end of the test.
  • Adaptive item selection – items are chosen based on how informative they are given the test-taker’s current estimated trait level.
  • Efficiency and precision – fewer items are needed to reach a reliable estimate compared to traditional fixed-form tests.

Here’s the link to the app (given that the app is hosted on Streamlit Community Cloud, it doesn’t stay awake all the time regardless of traffic—so if it hasn’t been used recently, you might need to wake it up and wait a few minutes). If you’re interested, you can copy the full code from GitHub and customize the app to better suit your needs.

⚠️ Caveat: The app isn’t intended as a valid and reliable measure of learning agility - it’s purely for illustration purposes!


📄 Read the original post with full outputs on my blog.