Inspiration

In today's saturated market, choosing the right tech gadget can feel like a full-time job. Consumers are bombarded with complex spec sheets, countless reviews, and overwhelming choice. This "analysis paralysis" is a real problem. We were inspired to create SpecSense to cut through the noise and make finding the perfect gadget as simple as having a conversation with a knowledgeable friend. Our goal was to build a tool that understands what a user needs, not just what they're searching for.

What it does

SpecSense is an intelligent web application that provides personalized gadget recommendations. Instead of forcing users to compare technical specifications, SpecSense invites them to describe their needs in natural language.

A user can simply ask:

  • "What's the best phone for photography under $800?"
  • "I need a lightweight laptop for travel with long battery life."
  • "Which camera is good for a beginner vlogger?"

Our application, powered by Google's Gemini AI, analyzes the user's request, compares it against a database of product specifications, and returns a single, tailored recommendation with a clear explanation of why it's the right choice.

How we built it

SpecSense is built on a modern, scalable, and serverless architecture, leveraging the power of Google Cloud and its AI capabilities.

  • Frontend: A clean and responsive user interface built with React and hosted on Firebase Hosting, providing a fast and globally distributed experience.
  • Backend: A robust API developed with Python and FastAPI. This service handles the core logic, database interactions, and communication with the AI model.
  • Serverless Deployment: The FastAPI backend is containerized using Docker and deployed as a serverless service on Google Cloud Run. This allows us to automatically scale to meet demand, from zero to thousands of requests, while only paying for what we use. The deployment is automated through a CI/CD pipeline using GitHub Actions.
  • Database: We use Google Cloud SQL for PostgreSQL to store and manage our comprehensive database of gadget specifications.
  • The AI Brain: The core intelligence of SpecSense comes from the Gemini API. Our backend sends the user's query and a list of relevant products to the Gemini model, which then generates the human-like, context-aware recommendation.

Challenges we ran into

  1. Data Acquisition and Standardization: Gathering and cleaning gadget data from various sources was a significant challenge. Specifications are often presented in different formats, so we had to build a system to standardize this data into a consistent schema for our database.
  2. Prompt Engineering: Getting the most accurate and relevant recommendations from the Gemini model required careful prompt engineering. We iterated multiple times on the structure of our prompts to ensure the AI had the right context (user query, available products) to make an informed decision.
  3. Real-time AI Interaction: Integrating a real-time call to the Gemini API without introducing significant latency was a key consideration. We optimized our backend logic to ensure the user receives their recommendation promptly.

What we learned

This project was a tremendous learning experience. We gained hands-on experience with:

  • Serverless Architecture: Deploying a containerized application on Google Cloud Run and appreciating the simplicity and power of auto-scaling, pay-per-use infrastructure.
  • Generative AI Integration: Moving beyond simple API calls to implementing a truly useful feature powered by a large language model like Gemini.
  • Full-Stack Development: Connecting a modern frontend (React) with a Python backend and a cloud database to build a complete, end-to-end application.

What's next for SpecSense

We're proud of the functional prototype we've built. The next steps for SpecSense would be to:

  • Expand the Dataset: Integrate a wider range of products and categories.
  • Refine the AI: Implement a more advanced recommendation engine, potentially fine-tuning a model for even greater accuracy.
  • User Accounts: Allow users to save their recommendations and compare products.

Built With

Share this project:

Updates