Inspiration

We've all experienced finding something we want to buy but not knowing whether we're getting a good deal. Comparing prices across websites, reading hundreds of reviews, and figuring out whether to buy now or wait can take a lot of time.

We wanted to simplify that entire process. Instead of spending time researching a product, what if you could just take a picture of it and immediately know whether it's worth buying?

That idea became Midas, an AI-powered shopping assistant that helps users make smarter purchasing decisions. Inspired by the simplicity of Google Lens, we wanted to go a step further by not only identifying products but also evaluating their value and helping users purchase them at the right price.

What it does

Midas is an iOS shopping assistant that turns a photo into a purchasing decision.

Users simply open the app, take a picture of a product, and let Midas handle the research. Using AI, the app identifies the product's brand and model, searches for available listings across retailers, analyzes reviews, and calculates a value score from 0 to 100.

The score is based on four factors:

Quality: How reliable and durable is the product?

Price: How competitive is the current price compared to other sellers?

Reviews: What do customers think, and how trustworthy are their ratings?

Timing: Is now a good time to buy, or would waiting be better?

Midas then gives users one of three recommendations: Buy Now, Wait, or Skip, along with explanations for each score.

Users can save products to their personal library, purchase them immediately using our Stripe sandbox checkout, or set a target price and authorize Midas to automatically purchase the item when its price drops below their threshold.

Our goal is to make shopping as simple as taking a picture.

How we built it

For product identification, we integrated Google's Gemini API to analyze captured images and extract structured product information, including the category, brand, model, and product name. We also implemented confidence checks and visual comparisons to reduce incorrect identifications, especially for electronics with similar designs.

Once a product is identified, our backend uses SerpAPI to retrieve Google Shopping listings, product details, and reviews. We filter out mismatched products, suspicious prices, and unreliable sellers before passing the information into our custom scoring algorithm.

Our scoring engine combines price comparisons, customer ratings, review analysis, durability signals, and price history to generate a value score and recommendation. We also implemented caching to reduce repeated API calls and improve response times.

For authentication and storage, we used Supabase to manage user accounts, saved products, images, and purchase information.

We integrated Stripe in test mode to support in-app checkout and automatic purchasing. Our backend monitors authorized target prices and attempts a sandbox purchase when the price meets the user's threshold. We also built a simulated retailer and price-drop system to demonstrate this functionality.

Challenges we ran into

One of our biggest challenges was accurately identifying specific products from images. While AI models can recognize general product categories, distinguishing between visually similar models is much harder. We improved our identification pipeline by comparing multiple possible models, analyzing visual details, and avoiding exact model predictions when the evidence was insufficient.

Another challenge was developing a reliable and meaningful scoring algorithm. Product information across retailers can be inconsistent, and some products have limited reviews or price history. We had to account for missing data, filter misleading listings, and prevent the algorithm from making overly confident recommendations.

Integrating the different components was also challenging. Our app needed to coordinate camera capture, AI analysis, shopping searches, scoring, database operations, and payments. We encountered dependency conflicts, API errors, mobile-to-backend connectivity issues, and Expo compatibility problems while connecting everything.

Finally, implementing automatic purchasing required careful handling of payment authorization, changing prices, failed transactions, and duplicate-charge prevention. We built safeguards around these scenarios while keeping all transactions within Stripe's sandbox environment.

Accomplishments that we're proud of

Our biggest accomplishment is building an integrated application that connects computer vision, product research, value scoring, and automated checkout into one experience.

We're especially proud of our custom value-scoring algorithm. Rather than simply displaying the cheapest listing or an AI-generated opinion, Midas uses multiple sources of evidence to evaluate products and explain its recommendations.

We also developed a product-identification pipeline that handles uncertainty instead of blindly trusting AI predictions. This was important because identifying the wrong product could lead to inaccurate prices, scores, or purchases.

Another major accomplishment was implementing automatic purchasing based on user-defined price thresholds. We built a sandbox checkout system that can monitor prices, detect when a target is reached, and initiate a purchase using a previously authorized payment method.

We also put significant effort into performance, testing, and usability. Our scoring engine includes caching, our backend has automated tests covering major components, and our iOS interface makes it easy to scan, save, and compare products.

Most importantly, we were able to bring together four independently developed workstreams into a single application.

What we learned

Building Midas taught us that creating an AI-powered application involves much more than connecting an API to a user interface.

One of our biggest takeaways was understanding the limitations of AI image recognition. Even powerful multimodal models can struggle to distinguish between similar products, so validation, confidence handling, and reliable fallback behavior are essential.

We also learned how difficult it is to turn inconsistent real-world shopping data into meaningful recommendations. Designing our scoring algorithm required us to think carefully about data quality, seller reliability, missing information, and how to make automated decisions explainable.

On the engineering side, we gained experience integrating multiple external APIs, designing backend services, handling authentication, implementing payment workflows, and coordinating development across a team.

Most importantly, we learned the importance of building around a clear user experience. Every technical component of Midas serves the same goal: helping users make better purchasing decisions with as little effort as possible.

What's next for Midas

We have a lot of exciting features planned for Midas, and what we've built at DubHacks is just the beginning.

One feature we're especially excited about is an "I Own This" mode, where users can scan products they already own and receive personalized recommendations for complementary products, accessories, or potential upgrades. For example, scanning a camera could recommend compatible lenses, microphones, or other accessories that would improve their setup.

We also want to expand Midas beyond electronics to categories like clothing, furniture, and everyday products. Another feature we're interested in is allowing users to scan items they own and estimate their resale value, making it easier to decide whether to keep, upgrade, or sell them.

On the technical side, we plan to improve our AI product identification, incorporate real historical pricing data, and implement continuous price monitoring to help users find the best time to buy. We also want to expand our checkout system to support real purchases across multiple retailers.

Ultimately, our vision for Midas goes beyond just finding the best deals. We want to build an AI-powered shopping companion that understands what users already own, recommends products that genuinely add value, and helps them make smarter purchasing decisions.

There are so many directions we want to take Midas, and we're excited to keep building on what we started at DubHacks.

Built With

Share this project:

Updates

Submission history