MSU Menu App
By Adrien Babet, Last updated 21 Nov 2025
Description
I built this with the MSU Nutrislice API. While there is no documentation for the API, using the inspect network tool on https://montanastate.nutrislice.com/menu/rendezvous-dining-hall revealed GET requests to the endpoints needed.
Calling https://montanastate.api.nutrislice.com/menu/api/schools/ returns JSON data for both halls (Miller and Rendezvous), and their stations.
The url template https://montanastate.api.nutrislice.com/menu/api/weeks/school/{hall id}/menu-type/{station id}/{year}/{month}/{day} will return a full menu for the given hall, station, and date (in fact the whole week will be returned). For example, Miller has id '60011' and its Blaze Grill station has id '30657', so https://montanastate.api.nutrislice.com/menu/api/weeks/school/60011/menu-type/30657/{year}/{month}/{day} gets the full Blaze Grill menu for the week containing {year}/{month}/{day}.
To connect to these APIs, I built Netlify serverless functions, then used vanilla JS for data processing, allowing the user to add foods, and to build FDA style nutrition labels.
© adrienbabet.com