Delivered, stakeholder handover in progress
An AI-assisted scheduling system for the Hungry Wildcat Food Pantry, built to replace a 15-to-20-hour manual process, and to never pretend a schedule is finished when it isn't.
Organization
Chico State Basic Needs, Hungry Wildcat Food Pantry
Role
Product Owner and AI-Assisted Developer
Period
July 2026 – Present
Status
Delivered, stakeholder handover in progress
Version 1.2 delivered and already demonstrated live to the pantry coordinator. Four of five requests from that demo have shipped; formal handover to Basic Needs staff is in progress. 349 automated tests passing.
The pantry coordinator spent an estimated 15 to 20 hours building each semester's student-employee schedule by hand in Excel, then edited it continuously as classes changed and students called out. She had already tried automating it with a general-purpose AI chatbot. It failed: it placed lunch breaks at the start of shifts instead of the middle, produced fragmented one-hour blocks, and invented schedules that weren't real when the actual data couldn't support one. She abandoned it and went back to doing it by hand.
Build a system that encodes the pantry's actual scheduling rules as tested, deterministic logic, does the arithmetic automatically, explains every recommendation, and, the part that mattered most, reports honestly when a schedule cannot be completed rather than producing something that only looks finished.
I ran the discovery process myself: a stakeholder interview, a review of completed sample schedules, and an availability spreadsheet. I diagnosed why the coordinator's earlier chatbot attempt had failed and turned that diagnosis directly into the architecture: a deterministic rules engine with AI kept out of every scheduling decision. I directed the build with Claude Code as an AI-assisted development partner, reviewing and testing as it went, wrote the 27 scheduling rules from the interview and the sample schedules, and wrote the documentation (project charter through a maintenance guide for whoever takes it over next).
Only what’s actually in the codebase. Nothing added because it was discussed but not used.
The coordinator has a system that encodes her actual rules instead of guessing at them, and that tells her the truth when a week can't be fully staffed instead of quietly producing something that looks done. Running her own data through it surfaced a real, previously invisible problem: the roster couldn't cover the week's required hours, a finding worth more than any schedule the tool could generate. I'm not claiming a time savings yet. The 15-to-20-hour figure is the coordinator's own description of the old process, not a measurement of the new one, and measuring that properly is part of the handover still in progress.
Every name shown below is a fictional placeholder, generated by the project's own demo seed script. No real student data appears here or anywhere else this project is shown.





Want to talk through how this applies to your team?