DealWhisperer - Project Story

Inspiration

As a frequent user of Karrot Market (당근마켓), Korea's most popular peer-to-peer marketplace, I found myself constantly switching between multiple platforms—Karrot, Joonggonara (중고나라), and Bungaejangter (번개장터)—just to find the best deal on a single item. Manually comparing prices, checking item conditions, and negotiating with multiple sellers across different apps was exhausting and time-consuming.

I thought: "What if an AI could do all of this for me?" That's when the idea for DealWhisperer was born—an intelligent agent that searches multiple marketplaces simultaneously, compares listings, and even negotiates on your behalf.

What I Learned

  • Gemini 2.0 Function Calling: I learned how to define custom tools and let the AI decide when to invoke them based on natural language input. This made the app feel truly conversational.
  • Multimodal AI Capabilities: Understanding how Gemini can process both text and images opened up possibilities for future features like visual condition assessment.
  • Rapid Prototyping: Google AI Studio enabled incredibly fast iteration—from idea to working prototype in a short time.

How I Built It

I used Google AI Studio to build and test the application. The development experience was remarkably smooth and fast. The platform made it easy to:

  • Define and test Gemini function calls
  • Iterate on prompts and system instructions
  • Preview the app in real-time

The tech stack includes React, TypeScript, and Vite for the frontend, with Gemini 2.0 powering the AI agent logic through the @google/genai SDK.

Challenges

The biggest challenge came during GCP deployment. Setting up the billing account correctly and resolving deployment errors was frustrating. The error messages were often vague, making debugging difficult. I spent significant time troubleshooting configuration issues that weren't immediately obvious from the documentation.

Despite these hurdles, the project came together successfully, and I'm excited about the potential to expand it with real browser automation and live marketplace integration in the future.

Technologies Used

Category Technology
Languages TypeScript, JavaScript
Frontend Framework React 19
Build Tool Vite 6
AI/ML API Google Gemini 2.0 (@google/genai SDK)
Cloud Platform Google Cloud Platform (GCP)
Development Platform Google AI Studio
UI Icons Lucide React
Styling Tailwind CSS

Gemini Integration

DealWhisperer demonstrates how Gemini 2.0 can power an intelligent P2P marketplace negotiation assistant.

1. Function Calling (Tool Use)

The application utilizes Gemini's native function calling feature through the @google/genai SDK. Two custom tools are defined: search_market for triggering product searches and start_negotiation for deploying autonomous negotiation agents. When users interact conversationally (e.g., "Find me an iPhone 14" or "Yes, start negotiating"), Gemini intelligently determines which tool to invoke based on context and intent. In a production environment, these function calls would trigger browser automation (e.g., Puppeteer/Playwright) to access real P2P marketplaces and conduct actual negotiations—currently simulated with mock data for demonstration purposes.

2. Conversational AI with Context Awareness

The gemini-2.0-flash model processes user inputs with full conversation history and current listing data as context. This enables coherent multi-turn dialogues, understanding of implicit confirmations, and generation of platform-appropriate negotiation messages tailored to each marketplace's communication style.

3. Future Enhancement: Web-Based Image Retrieval

The current prototype uses stock images and placeholders. In a full implementation, the system would leverage Gemini's multimodal capabilities combined with web scraping to fetch and analyze actual product images from marketplace listings, enabling visual verification and condition assessment.

These Gemini features transform a simple chat interface into an autonomous deal-hunting agent.


Built With

  • css
  • google-ai-studio
  • google-cloud-platform-(gcp)
  • google-gemini-2.0-api-(@google/genai-sdk)
  • lucide-react
  • react-19
  • tailwind
  • typescript
  • vite-6
Share this project:

Updates