Inspiration
It started with a 1 AM realization in our residence hall kitchen.
While making instant noodles, a floormate walked in - also making instant noodles. We both laughed, then got quiet. Because just three hours earlier, another floormate had made the exact same grocery run to the same store. Three people. Same day. Same items. Three separate 40-minute round trips.
That's when it hit us: campus life is overwhelming enough. Between classes, assignments, clubs, and trying to maintain some semblance of a social life, grocery shopping becomes this thing we all procrastinate until we're literally out of food. Then we panic, make rushed trips alone, forget half of what we needed, and do it all over again next week.
The group chats are chaos. Someone posts "going to Fairprice, need anything?" and by the time you see it 2 hours later, they're already back. Or worse - you ask them to grab something, they forget, and now it's awkward.
We realized our halls had this invisible coordination problem. Everyone was solving the same problem individually when we could've been solving it together. So we built GrocerMate- not as some grand entrepreneurial vision, but because we were genuinely tired of wasting time on disorganized grocery runs.
What it does
GrocerMate turns your residence hall into an actually coordinated community when it comes to groceries. Essentially everyone in your hall has access to a shared grocery list. Throughout the week, people add what they need (eg. cereal, shampoo, energy drinks). When someone's planning a store run, they check the app, see what everyone needs, and can pick stuff up for the group.
After shopping, they snap a photo of the receipt. The app reads it, figures out who requested what, calculates the split, and everyone gets a notification of what they owe. People pay back, mark it settled in the app, and that's it.
No more:
- Missing notifications in a 200-message group chat
- Awkward "hey did you get my hummus?" conversations
- Mental math trying to split a grocery bill fairly
- Multiple people making the same trip on the same day
- Feeling guilty asking someone to grab stuff for you
How we built it
We started by literally interviewing people on our floor about their grocery habits. Turned out everyone had the same frustrations, just slightly different pain points. The tech stack:
- A clean React Native (Expo 54) frontend for mobile + web
- A PostgreSQL backend to manage lists, costs, and settlements
- Real-time syncing across all users
- An automated settlement engine that parses bills and assigns costs with zero manual input
We kept the design super minimal - if you can use a group chat, you can use GrocerMate. That was the bar.
Challenges we ran into
The "coordinating chaos" problem: Early on, we realized multiple people might claim they're going shopping at the same time, or someone might buy something that two people requested. We had to build in smart conflict resolution and claiming systems.
Receipt parsing accuracy: Turns out grocery receipts are formatted wildly differently across stores. Getting the OCR to consistently pull the right items and prices was harder than expected. We're still improving this.
Deployment headaches: Getting PostgreSQL, Docker, and our backend to play well together during deployment took way longer than we thought. Like, embarrassingly longer.
Accomplishments that we're proud of
We actually use it. Building a fully functional cross-platform app, creating a settlement system that works surprisingly smoothly, designing a UI simple enough for even the most sleep-deprived hostel student AND reducing grocery runs from multiple daily trips to a single coordinated one.
Also proud that we kept it simple and efficient.
What we learned
Group coordination is HARD: This seems obvious in retrospect, but designing systems that work for groups, where everyone has different schedules, preferences, and habits, is way more complex than single-user apps. Every feature had to account for edge cases we didn't initially consider.
What's next for GrocerMate
We've got a running list of ideas based on feedback:
Smarter receipt scanning: Right now you upload a photo; we want it to auto-extract items and costs with near-perfect accuracy using better OCR and maybe some AI.
Low-stock reminders: The app could learn what items people buy regularly and remind the hall when staples are probably running low.
Trip incentives: Maybe some light gamification i.e. people who frequently help others out get highlighted, or the app suggests whose "turn" it is to do a run.
Log in or sign up for Devpost to join the conversation.