Illini Media Company
Web Developer
Sept. 2025 – Present
Overview
I work with a team of student engineers in sprint-based development cycles to build internal tools and web applications for the company. Each cycle focuses on a new product or tool, with scoped tasks, frontend and backend implementation, code review, and iteration based on staff needs.
Front Desk Follow-Up Tracker
A shared follow-up board for Illini Media front desk staff to track unresolved emails, requests, and handoff items across shifts.
What I did
- Managed a 3-developer build by writing project specs, planning the timeline, meeting with the front desk manager, and keeping the tool focused on unresolved follow-ups between shifts.
- Connected the tracker to Flask, Jinja, and Google Cloud Datastore so items, categories, statuses, priorities, owners, notes, and email links loaded from the backend and saved across shifts.
- Built direct item updates, search, filters, resolved-item views, live status counts, and category management so staff could update and organize follow-ups without leaving the board.
- Created a flow that turns emails into tracker entries, with sender checks, duplicate detection, metadata parsing, and Gmail cleanup when items are resolved.
Screenshots


Copy Editor Scheduling Dashboard
A scheduling system for Illini Media's copy desk that helps copy editors and Copy Chiefs coordinate weekly shifts, track coverage, and manage drop, pickup, and swap requests in one place.
What I built
- Created the Copy Chief dashboard for managing copy editor shifts from a weekly calendar view.
- Added shift creation, editing, and deletion, with support for two editors per shift and live coverage labels for open, staffed, and full slots.
- Developed editor management tools for adding, editing, filtering, and reviewing copy editors by role, phone number, total shifts, and weekend shifts.
- Connected a weekly load sidebar to the active calendar week so Copy Chiefs could see how many shifts each editor had.
- Implemented a pending requests panel for reviewing drop, pickup, and swap requests before schedule changes are applied.
Screenshots


Stack
FlaskJinjaJavaScriptGoogle Cloud DatastoreSlack APIGoogle Calendar APIGmail API