Inspiration
Our idea began at SolHacks—a Hispanic-focused hackathon that challenged us to reimagine technology through a lens of inclusivity and social impact. Our idea was born from a desire to make everyday shopping more ethical and sustainable. We noticed that many consumers want to know more about the brands they support—how they treat the environment, their commitment to social responsibility, and how they contribute to their communities. We envisioned an app that empowers shoppers to shop smarter and live kinder by providing transparent, data-driven insights into ethical alternatives for everyday products.
What it does
Shop For Good is an app that helps conscious consumers make informed grocery choices by ranking products and brands based on their ethical and sustainable practices. The web app aggregates ESG and social impact data, displays ratings for environmental, social, and governance factors of these companies, and offers personalized alternatives for products. With an intuitive interface, Shop For Good makes every grocery choice a step toward a more sustainable world.
How we built it
We built Shop For Good using React Native with Expo, which allowed us to create a cross-platform experience for the Web with plans to also integrate a working mobile version as well.
We designed the app’s UI first through Figma mockups and wireframes which we then implemented with React-Native. We utilized Expo Router to implement dynamic routing between screens on the web, so each page dynamically displays data.
For the backend, we designed a comprehensive data pipeline to source product data from popular consumer websites (Amazon, Walmart, and Target). We then consolidated this data with real-time ESG, price, and social impact data from public API vendors. We used context matching throughout the backend to account for misspellings/similar queries in the frontend, and to match products to parent companies in the pipeline. We also accounted for repeat queries, by creating a table to store previous searches, and mapped to the database of products. The backend is hosted using Uvicorn and FastAPI, and we wrote RESTful APIs to communicate with the frontend.
Challenges we ran into
One of the biggest challenges we ran into was coming up with a viable product idea. Initially, we spent the first 2 hours hacking coming up with an idea we felt comfortable implementing. Another challenge was becoming familiar with using React Native with Expo, as we had little experience beforehand with modern Typescript practices, especially with dynamic routing and connecting the backend database with our frontend code. Sourcing and standardizing ESG data from multiple resources was extremely challenging and messy process that really required heavy focus and diligence from our team.
Another issue was dealing with the APIs restricted usage, such as OpenAI and GaiaLens, which we navigated around by using batching for the data. Some of the used APIs were also rate limited, resulting in our app running slower when fetching new products. By implementing persistent storage of previously searched items, however, we were able to limit this runtime for future queries.
Accomplishments that we're proud of
We are really proud of our final projects focus on sustainability and impact, as our app not only functions properly through a working full stack design, but also makes a real-world impact by guiding consumers toward brands that share their values.
We are also really proud of how we can obtain real-time (albeit slow) data on sustainable products, sourced from modern shopping websites such as Amazon, Walmart, and Target. The ESG data easily consolidated with products from these websites will strongly benefit users who practice sustainable consumerism.
What's next for Shop For Good
Moving forward, we hope to be able to eventually scale into additional product categories, and foster deeper community engagement with minority-owned businesses, as well as improving the user experience of our web app.
As mentioned above, we'd also like to full adapt the app into a working mobile version. This would mainly include styling the components to better fit a mobile view, as well as ensuring the API routes will work for a backend/frontend not hosted on the same local machine.
Built With
- expo.io
- fastapi
- postgresql
- python
- react-native
- supabase
- typescript


Log in or sign up for Devpost to join the conversation.