Inspiration

Big e-commerce platforms have spent years optimizing search, logistics, and recommendations — and in the process, they've buried the shop around the corner. If you want to know whether your local kirana store has something in stock right now, there's no easy way to check. You call, you walk over, or you just default to ordering online instead.

At the same time, small shop owners have no lightweight way to get discovered digitally. Updating inventory means manual, error-prone bookkeeping with zero visibility to the customers already near them.

ShopSpot started from a simple question: what if local shops could be searched with the same intelligence as a big platform, but stay fast to set up and easy for a small owner to run day to day?

What it does

ShopSpot is a two-sided marketplace connecting local shoppers with nearby shops in real time.

For customers:

  • Search in plain language — by product, by category, or even by recipe
  • Get results ranked by real-time stock, distance, and relevance (Haversine proximity search)
  • See what's actually on the shelf right now, not a stale listing

For shop owners:

  • Manage inventory through a lightweight seller portal
  • Update stock by typing a free-text list, speaking it aloud, or pointing a camera at products
  • Get discovered instantly by nearby customers once inventory is live

How I built it

ShopSpot is built as a full-stack production-style application, not a single-file prototype:

  • Frontend: React + Vite for both the customer and seller portals
  • Backend: Spring Boot serving a REST API layer with the core business logic
  • Database: MySQL for shops, users, and inventory data
  • Auth: JWT-based authentication for secure customer and seller sessions
  • AI layer (Groq API): powers natural-language smart search, parses free-text bulk inventory updates into structured entries, and runs a greedy set-cover algorithm to match recipes to the minimum set of shops that together stock every ingredient
  • Voice input: Whisper ASR transcribes spoken inventory updates for hands-free stock management
  • Vision input: camera-based product recognition to help owners log inventory without typing

The AI layer is the core differentiator — it's what turns ShopSpot from a static directory into something that actually understands intent and reduces friction on both sides of the marketplace.

Challenges we ran into

-Getting relevant, accurate results from free-text inventory parsing. Shop owners describe stock in inconsistent, informal language, so getting the AI parsing to reliably produce clean structured inventory entries took real iteration.

  • Recipe-to-shop matching at scale. Naively checking every shop against every ingredient doesn't scale well — implementing a greedy set-cover approach to find the minimum set of shops covering a full recipe was a genuinely interesting algorithmic problem.
  • Real-time proximity without heavy infrastructure. Building accurate, fast Haversine-based distance ranking without over-engineering the backend.
  • Debugging cross-cutting issues solo — including endpoint misconfigurations on seller routes, port conflicts, and recurring local environment credential resets, all without a team to split the load.
  • Balancing scope as a solo builder. Voice and vision input in particular required scoping carefully to keep them genuinely functional rather than half-built demo features.

Accomplishments that we're proud of

  • Built a real two-sided marketplace, not just a single-user demo — both the customer and seller experience are fully functional
  • Shipped three distinct AI-driven interaction modes for inventory (text, voice, vision), each solving a real friction point for small shop owners
  • Designed and implemented the recipe-to-shop matching algorithm from scratch
  • Did all of this solo, end to end, across frontend, backend, database, and AI integration

What we learned

Building ShopSpot solo pushed me to get comfortable owning an entire stack — not just writing code, but making product decisions about what AI should actually be responsible for versus what should stay simple and deterministic. I also learned a lot about designing AI prompts and parsing logic that hold up against messy, real-world input rather than clean test cases

What's next for ShopSpot

  • Polishing the seller onboarding flow to make voice and vision inventory input even more frictionless
  • Expanding recipe-to-shop matching to handle partial-availability recommendations, not just full coverage
  • Exploring an IEEE publication documenting the recipe-to-shop set-cover approach
  • Piloting with real local shops in Chennai to validate the model outside a hackathon demo

Built With

Share this project:

Updates

Submission history