A simple web app for displaying (reasonably) up-to-date enrollments in courses at Minnesota State University Moorhead for the current semester.
Live demo: http://headcounts.herokuapp.com
- Search and filter courses by subject, college, term, LASC area, writing intensive, and more
- Responsive, modern UI for desktop and mobile
- Download results as CSV or Excel files
- Summary statistics: credit hours, tuition revenue, empty seats, and more
- Disclaimer: Data is not real-time; it is scraped from the public-facing MinnState-maintained course search tool.
- Powered by:
When data for a new semesters' courses becomes available, the following steps are needed to update the app:
- Edit the
DEFAULT_TERMvariable inconfig.pyto be a tuple with the new term code and name (e.g.,('20265', 'Spring 2026')) - Edit the
SEMESTERS_LISTlist inconfig_terms.pyto add a new tuple with the new term code and name (e.g.,('20265', 'Spring 2026')) to the list. - Edit
daily_update_script.shto change theyear_termsvariable to a SPACE-delimited list of terms to scrape.
- UI icons: Font Awesome
- Fonts: Google Fonts (Montserrat, Tinos)
- Original version developed by: Matthew Craig
- Backend upgraded to use Polars and currently maintained by: Juan Cabanela
- GUI redesign and front-end development: Natoli Tesgera
- Data processed with Polars
- Hosted by Heroku
- Thanks to Kenneth Reitz for the conda buildpack for Heroku