Skip to content

Case study — 2025

Purdue Connect CLI

A command-line tool that makes Purdue campus services scriptable — courses, dining, and events from the terminal.

Year
2025
Role
Creator & maintainer
Stack
TypeScript · Distributed systems
Links
GitHub
Purdue Connect CLI placeholder image

Purdue publishes course timetables, dining-court menus, and campus events across a handful of separate web portals — each fine to click through once, useless the moment you want to automate anything. Purdue Connect started as a personal itch: I wanted my class schedule, the nearest open dining court, and today’s events available where I already live, the terminal.

The CLI wraps those services behind a small set of composable commands with stable, greppable output. Every command prints plain text by default and JSON on request, so results pipe cleanly into shell scripts, cron jobs, and status bars. Under the hood it’s a typed TypeScript client with a thin caching layer that stays polite to the upstream endpoints.

It found an audience faster than I expected — around 1.2k weekly installs — and turned into a small maintenance practice: triaging issues, versioning the command surface, and keeping the scrapers alive as the university quietly reshapes its pages.

Next project