Inspiration

Miami currently faces one of the highest inflation rates in the country. With retailers moving toward AI-driven dynamic pricing, the "Miami Tax" changes by the hour depending on which neighborhood you're in. We wanted to give the power back to the consumer by creating a tool that treats grocery shopping like the stock market.

What it does

PriceMap (or your chosen name) is an AI-powered logistics agent that analyzes a user's grocery list against a dynamic local database. It doesn't just find the lowest price; it calculates the "Total Cost of Acquisition"—factoring in mileage and time—to tell you if driving to a cheaper store actually saves you money.

How we built it

  • Frontend: Built with Vue.js for a reactive, mobile-first mapping experience.

  • Backend: A Python server running on Uvicorn for high-performance asynchronous task handling.

  • Database: MongoDB stores our product catalogs and store locations.

  • Intelligence: Gemini API acts as the core "Reasoning Engine," parsing messy natural language shopping lists into structured data and performing the cost-benefit logic.

Challenges we ran into

The biggest hurdle was data access. High-quality, real-time retail APIs are often locked behind expensive paywalls or strict rate limits. Within the 6-hour sprint, we pivoted to architecting a robust Mock Data Engine in MongoDB that simulates dynamic price fluctuations, allowing us to demonstrate the AI’s decision-making logic without a $500/month API subscription.

Accomplishments that we're proud of

We successfully integrated a "Reasoning Agent." Instead of a basic search filter, our implementation of the Gemini API can understand context—like realizing that "coke" and "soda" are the same intent—and provide a verbal justification for why a specific route is the most economical.

What we learned

We learned that in a hyper-local context, Data Orchestration is more important than Data Ownership. You don't need to own the stores to provide value; you just need to be the smartest layer of logic between the data and the resident.

Built With

Share this project:

Updates