Inspiration

Today, our team was brainstorming ideas for our project when we noticed something that sparked our inspiration. During lunch, we noticed a significant amount of surplus food left over, and later, we heard that even more food was left over after the second round. We didn’t know whether the food was reused or just thrown away, which made us think deeply about how much food actually goes to waste. At our university, Texas State, we’ve also seen dining hall staff dispose of fresh, untouched food at midnight. Watching good food being thrown away while knowing that so many people struggle to get a single meal was eye-opening. That moment motivated us to think of a way to connect surplus food with people who truly need it.

We researched the issue further and discovered that food waste is a massive global problem, while hunger remains a critical challenge for millions. Seeing those statistics made us realize that even a small initiative could make a big difference. That’s when we decided to build our project around reducing food waste and helping redistribute surplus food to the needy.

What it does

RePlate is a web app that connects individuals, restaurants, and event organizers with nearby food banks and shelters to efficiently distribute surplus food.

For restaurants, there’s a dedicated section where they can fill out details such as the type of food, allergy information, preparation time, and expiration time. Based on that data, the shelter section can view available food, confirm pickup, and collect it accordingly.

In short, RePlate acts as a digital bridge between surplus and scarcity, ensuring that good food ends up on plates, not in trash bins.

How we built it

Our project was built as a full-stack web application using vanilla HTML, CSS, and JavaScript for the frontend—no heavy frameworks, just clean and fast code for smooth performance. The backend runs on Node.js with Express 5.x, powering features like donation management, user authentication, and real-time tracking. We used PostgreSQL for the database to ensure reliability and ACID compliance, along with bcrypt and session-based authentication for secure logins. The interface features a custom emerald-green and amber gradient theme, styled with CSS variables and Google Fonts (Poppins) for a polished and consistent look. Everything was developed and tested in VS Code, allowing for quick iteration and seamless integration between frontend and backend. We intentionally

Challenges we ran into

Building RePlate came with several technical, design, and team challenges. At first, we had four to five different project ideas, each suggested by a different team member, which made it tough to decide on a single direction. After some discussion and weighing the impact of each idea, we all finally agreed to work on RePlate, and from that point, teamwork became our biggest strength.

One of the main technical hurdles was creating real-time donation matching without using complex WebSocket systems. We solved this by using smart polling and session-based authentication to keep data updated and secure. Designing an efficient database schema for users, donations, and locations while maintaining good query performance was also tricky. We faced compilation errors and dependency issues while integrating the frontend and backend, which pushed us to quickly learn debugging, version control, and new frameworks like Express and PostgreSQL.

Sometimes, while committing our code, we ran into push and pull conflicts, but we managed to fix them immediately and learned how to handle collaborative workflows better. We also tried changing many parts of the code and learned one important lesson—if the code works, don’t change it unnecessarily. Balancing security with simplicity led us to implement bcrypt password hashing and httpOnly session cookies to protect user data. We also researched EPA data to ensure our carbon footprint calculations (0.76 kg CO₂ per meal) were accurate and meaningful. Despite the time pressure, we successfully built a secure, fast, and reliable platform, proving that simplicity, communication, and teamwork can overcome any challenge.

Accomplishments that we're proud of

This being our first hackathon, we’re really proud of how much we accomplished as a team. Everything was new to us, from brainstorming ideas to building a full-stack web app, but we collaborated more smoothly than we expected. Each of us brought different strengths: one focused on the backend, another on the frontend, and another on integrating everything together. Along the way, we learned new languages, explored unfamiliar frameworks, and watched countless YouTube tutorials to fill in the gaps. Despite the pressure and time limits, we managed to build a functional, well-designed platform from scratch. What makes us proud isn’t just the final product, but how we grew together, learning, adapting, and creating something real as first-time hackers.

What we learned

Through this project, we learned far more than just coding skills. We discovered how to work effectively as a team, dividing tasks, managing time, and resolving conflicts to keep the project moving forward. Technically, we learned how the frontend and backend connect, how databases interact with APIs, and how to handle authentication and real-time updates efficiently. We also got hands-on experience with frameworks and tools that were completely new to us, and learned the importance of debugging patiently and testing continuously. One key lesson was that sometimes simpler solutions work best, and if the code is working, don’t overcomplicate it by changing things unnecessarily. Most importantly, we learned how to think like developers, solving problems creatively, adapting quickly, and staying resilient when things broke right before the deadline.

What's next for RePlate

Next for RePlate, we plan to test the app locally by reaching out to food banks and restaurants in our city to see how well it works in real situations. Based on their feedback, we’ll decide whether to scale and potentially commercialize it in the future. We also want to keep improving the platform by adding new features and refining the design based on user needs, making it more professional and impactful over time. Even though we built this in just 24 hours, we know it’s only the beginning—there’s a lot more we can do to make it better. As a team, we’re excited to continue developing RePlate and also work together on more innovative projects in the future.

Share this project:

Updates