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

  1. Frontend
    • Mobile-web: React with responsive layouts
    • Native PoC: Expo + expo-image-picker on iOS via Expo Go
  2. Backend
    • Authentication: Firebase Auth configured for UCF Single Sign-On (OIDC)
    • Data: MongoDB to store inventory, carts, donations, and time-slot reservations
  3. 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.
Share this project:

Updates