Learner's Progress Monitoring Tool for AWS re/Start Program
Summary
I built this web app to automate progress monitoring for the AWS re/Start program. It reads Canvas LMS gradebook exports and turns them into a summary of each learner’s Knowledge Check and Lab progress across cohorts.
Problem
Canvas gradebook exports can have 170+ columns per cohort. Managing 10 or more cohorts in one batch by hand was hopeless: reading each file does not scale, and it is easy to get wrong. The program also ran in Indonesia and India at the same time, which doubled the files I had to read.
Solution
Coordinators upload several gradebook files at once and get a clean summary back.
flowchart LR
A[Upload CSVs] --> B["Parse and Aggregate<br/>Data"]
B --> C[Download Summary]
The workflow is just three steps:
- Upload the CSV files (one per cohort)
- The app parses and aggregates KC and Lab data
- Download the summary
Coordinators install nothing; it runs in the browser.


Impact
- Used across 3 AWS re/Start batches
- Supports 50+ cohorts in Indonesia and India
- Manual gradebook work became uploading files and downloading the summary
- It helped coordinators spot struggling learners sooner
Tech Stack
Nothing fancier than Pandas and Streamlit. Gradebooks are CSVs and the users are coordinators, not engineers, so boring tools were the right tools.
- Python
- Pandas
- Streamlit
- Deployed on PythonAnywhere
Extras
I also added a learner-facing progress leaderboard using Google Sheets. Learners could see their own KC and Lab scores next to everyone else in the cohort. It cut down the reminder messages coordinators had to send, and learners started checking their own progress instead of waiting to be told.
The step I would change is the one that comes before all of this: someone still has to export the gradebooks from Canvas and upload them, and I never got around to wiring that to the Canvas API.
Related Article
The full build story lives here:
Creating Learners Progress Monitoring for AWS re/Start Using Canvas Gradebooks