Inspiration

Online shopping can return pages of products, but shoppers still have to compare specifications, check prices against a budget, and decide which details matter most. We built CartPilot to make that process feel clearer and less overwhelming.

What it does

CartPilot turns a plain-language shopping request into a shortlist of live product listings. Shoppers can include a budget and priorities such as battery capacity, comfort, durability, or portability. Each result includes its price, retailer, and an explanation of how it matches the brief.

How it works

Google Gemini interprets the shopper’s brief and returns weighted shopping priorities. Channel3 provides product listings. CartPilot compares listing data against those priorities locally, then presents the results for the shopper to review.

The shopper chooses whether to continue. PayPal Sandbox demonstrates an approval-based checkout flow. It is a test payment to CartPilot’s Sandbox merchant, not an order placed with the retailer, and no real money is charged.

How we built it

CartPilot uses React, TypeScript, and Vite for the interface, with Node.js and Express for server-side integrations. The server connects to Gemini, Channel3 Product Search, and PayPal Orders. The application is hosted on Vercel, and its source code and setup instructions are available in the public GitHub repository.

Challenges and learning

A key challenge was translating open-ended requests into priorities that can be compared across different product categories. We separated brief interpretation from listing comparison so the matching stays understandable. We also kept PayPal credentials and order amounts on the server, and added signed, time-limited checkout data so the flow works across Vercel’s serverless instances.

Building CartPilot helped us learn how to combine AI-assisted intent interpretation, live product search, explainable matching, and a user-approved payment flow in one experience.

Built With

Share this project:

Updates

Submission history