cover page
Inspiration
Observed persistent food insecurity among UCF students and wanted to lower the barrier to access pantry resources.
Inspired by “no questions asked” campus initiatives and the idea that a discreet, mobile solution could normalize asking for help.
Saw an opportunity at a hackathon to combine real-time data, barcode scanning, and simple UI to streamline both requests and donations.
What it does
Browse & Reserve : Students log in with their NID, view live pantry inventory, add up to five items to a cart, and pick a contact-free pickup slot.
Donate by Scanning : Community members scan UPC barcodes (or enter manually) to pledge or drop off needed goods.
Inventory Management : Staff add/edit items, flag low stock, and see real-time reservation and donation activity.
Analytics Dashboard : Visualize popular items, inventory trends, and pledge fulfillment rates to inform restocking and outreach.
How we built it
Frontend
Mobile-web: React with responsive layouts
Native PoC: Expo + expo-image-picker on iOS via Expo Go
Backend
Authentication: Firebase Auth configured for UCF Single Sign-On (OIDC)
Data: MongoDB to store inventory, carts, donations, and time-slot reservations
Deployment
Mobile-web on Expo (HTTPS for getUserMedia)
Expo Dev builds on physical devices for demo
Challenges we ran into
Camera & Permissions : Getting reliable getUserMedia on mobile-web required HTTPS and clear fallback messaging.
Barcode Database Gaps : Many generic or fresh-produce items lacked UPC info, so we built a manual-entry fallback and local cache.
SSO Integration : Mapping UCF NID claims into MongoDB Auth and restricting access to campus accounts added complexity.
Concurrent Reservations : Preventing two users from booking the last “low-stock” item forced careful transaction logic.
Time Constraints : Prioritizing core flows (browse, reserve, donate) meant pushing advanced stretch goals to future sprints.
Accomplishments that we’re proud of
One of the 4 projects to win at the hackathon.
Delivered a fully functional prototype within 12 hours that supports both mobile-web and Expo Go.
End-to-end barcode-scan donation flow with automated look up (public API) and manual fallback entry.
Seamless UCF NID login with campus-only access control.
Live, synchronized inventory updates with “low stock” indicators and real-time reservation counts.
Staff dashboard featuring interactive charts of item popularity and donation fulfillment rates.
What we learned
How to integrate barcode scanning on both browser and native platforms.
Best practices for real-time Firebase rules to enforce stock limits and anonymous checkouts.
Handling OAuth/OpenID Connect flows for single-sign-on in a student-facing app.
Designing resilient UIs that gracefully degrade when permissions or APIs fail.
Rapid iteration techniques to scope MVP features under a tight hackathon deadline.
What’s next for Knight’s Pantry
Multi-language support for international students.
Nutrition filters (gluten-free, vegan) and allergen tags.
Campus ID integration for seamless pickup check-in.
Enhanced analytics : predictive restocking recommendations and automated low-stock alerts.
Pilot deployment in partnership with Knights Pantry staff to gather user feedback and plan full production rollout.
Notifications : Push/SMS alerts remind students of pickups, announce new arrivals, and broadcast urgent needs.
Try it out
Log in or sign up for Devpost to join the conversation.