Inspiration
This project was inspired by the frustration of grocery shopping, where prices vary wildly across stores, stock can be unpredictable, and checking each retailer individually wastes time. s.
What it does
I wanted to create a tool that makes this process smarter by giving shoppers a clear, location-aware view of which store offers the best deal within a 10-mile radius
How we built it
We built this project as a full-stack web app using a Next.js frontend and a Node.js backend connected to external APIs like Walmart and Kroger. The frontend features a search bar that captures both the user’s query and current location through geolocation. This data is sent to the backend, which queries store APIs, normalizes their responses into a consistent format, and returns crucial product details such as name, price, and stock. We also integrated a MongoDB database to cache results, reduce redundant API calls, and store user queries for faster lookups.
Challenges we ran into
One of the biggest challenges was handling API authentication, including generating secure HMAC signatures for Walmart and working with Kroger’s OAuth2 flow. We also had to solve data consistency issues, since different APIs return prices and stock information in different formats, and implement geospatial filtering to ensure only stores within a 10-mile radius were included in results. Another challenge was ensuring scalability, so the system could handle multiple queries without hitting API rate limits.
Accomplishments that we're proud of
Despite these hurdles, we achieved several key accomplishments. We successfully built a working prototype that can fetch real product data from multiple retailers, filter results by location, and display the cheapest options to the user in real time. We designed a reusable pipeline for normalizing product information across different APIs, which makes it easy to add more stores in the future. Most importantly, we created a solution that has real-world value: helping shoppers save both time and money while simplifying the grocery shopping experience.
What we learned
Through this project, we learned how to work with real-world APIs that require secure authentication, including generating HMAC signatures for Walmart and using OAuth2 for Kroger. We also gained experience with geolocation filtering, applying the haversine formula to calculate store distances, and data normalization, which allowed us to unify inconsistent API responses into a single, user-friendly format. On the development side, we deepened our understanding of full-stack architecture, connecting a Next.js frontend with a Node.js backend and MongoDB for caching and persistence.
What's next for Atlas
Looking ahead, the next steps include expanding API integrations to support more retailers like Target and Instacart, improving scalability to handle larger query volumes, and adding user personalization features such as filtering by dietary preferences or automatically tracking shopping lists. We also plan to explore building a mobile app version for convenience and experimenting with AI-powered recommendations, suggesting cheaper substitutes or optimal shopping routes. Ultimately, the goal is to make the platform a comprehensive hub for smarter, faster, and more cost-effective grocery shopping.
Built With
- apis
- express.js
- google-cloud
- mongodb
- next.js
- node.js
- react
- tailwind
- webscraping

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