Project Info
Inspiration
Have you ever wanted food delivered to you, but you don't want to pay those outrageous UberEats/Doordash delivery fees? Or, have you ever had food that you wouldn't use and didn't want to go to waste? Introducing Munchies, the sustainable community-building platform for requesting, delivering, and donating food to others. As college students, we encounter these problems on a daily basis that would be solved with this app.
What it does
Munchies is based on the model of giving and receiving to foster community, specifically in the form of food deliveries or donations. Users can request for food to be delivered by other munchers (such as from a local nearby Chick-fil-a); they simply have to pay the cost for the food, and the request costs some amount of non-monetary points. Therefore, to make requests, users have to help make deliveries to others as well, where each delivery earns them some number of points. This model is exactly the same with donations; users earn points for posting food donations that are picked up by others for use, and those who pick them up only have to pay in points. Community-building is the main goal and is attained implicitly and explicitly through our app's model. Implicitly, users are encouraged to support one another by making deliveries and donating food, simultaneously benefiting from their actions to have food delivered to them in the future. Explicitly, the app aims to encourage community members to build more sustainable habits, where food wastage is minimized in a world with limited resources.
How we built it
We spent a significant amount of time coming up with our idea and fleshing out our user flow on paper. As we had two submodels (requesting/delivering food, offering/receiving donations) within our app's model, we blueprinted our idea and drew out the full user experience to make sure we were organized with our thoughts. It was imperative that the UI was simple for users to use, and all features (delivering, receiving, making donations) were easily accessible with minimal clicks. As such, we came up with a simple, straightforward Map and order interface to achieve our goal.
Challenges we ran into
Coming up with a UI that was intuitive and facilitated both of our app's submodels (food deliveries vs donations) was difficult. Rendering many things on our map and including interactivity introduced various technical bugs that we spent a lot of time fixing. Creating all of our features for donators and food requesters was significantly time consuming. We had many parts and information we could use between different requests/responses, but we had to separately code various parts as data like menus existed on the page for someone wanting to order, but was not necessary for the page for someone donating their food. Scraping data for nearby restaurants with menu items was difficult, but we were able to find sufficient information for demonstration purposes.
Accomplishments we're proud of
With 3 people and in around ~15-20 hours of active work, we were able to put together a reasonably and technically complex hack that we're proud of. Most importantly, this is an app that we built as we would realistically use it, and our vision at the beginning of the hackathon was mostly realized. We completed almost all of the features we intended to build, and our design and interface is reasonably polished. With some refinements, this would be an app we'd be happy to release to communities to test!
What we learned
We all learned to use different frameworks that we were previously not exposed to very well. Specifically, our team used React, Chakra, and Google-Maps-React for our frontend, while our backend was composed of FastAPI and Supabase. We learned to collaborate very well together, maximizing work efficiency to chronologically breaking down and completing tasks one by one to go from an empty project to a fully-working product.
What's next
Our platform was developed for the computer primary for ease of development and use for a 36 hour hackathon. However, we envision this app to be a mobile app for everyday use, so creating iOS and Android versions of the munchies app is the immediate next step. Further, connecting our app to already-popular food pickup apps like UberEats, Doordash, and Grubhub would be interesting, and we believe would attract many users.
Analysis
View
Metric
- 27
- 14
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- DjangoIn code
- FastAPIIn code
- FlaskIn code
- HTMLIn code
- Hugging FaceIn code
- JavaScriptIn code
- LangChainIn code
- OpenAIIn code
- PostgreSQLIn code
- PythonIn code
- PyTorchIn code
- ReactIn code
- RedisIn code
- Tailwind CSSIn code
- SupabaseClaimed
15 of 16 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
60 KB
Source files
27
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
anshitasaini/munchies
56 files · 1.7 MB · @ c6c9455
Structure
Application logic
24 files · 43%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript81%
- Python11%
- Markdown5%
- HTML3%
- CSS1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
munchies/backend/requirements.txt
pypi · 342- aiohttp
- aiosignal
- amqp
- anyio
- appnope
- argilla
- argon2-cffi
- argon2-cffi-bindings
- arrow
- asgiref
- asttokens
- async-lru
- async-timeout
- attrs
- audioread
- autobahn
- Automat
- Babel
- +324 more
munchies/frontend/package.json
npm · 16- @chakra-ui/react
- @emotion/react
- @emotion/styled
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/user-event
- axios
- framer-motion
- google-map-react
- google-maps-react-markers
- react
- react-dom
- react-icons
- react-scripts
- web-vitals
- +1 more
package.json
npm · 2- @react-google-maps/api
- google-map-react
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.