Inspiration

When a bicycle needs an urgent repair, online stores often cannot tell you whether a nearby shop has the exact part in stock today. Calling stores one by one is slow and repetitive, especially when you need to compare price, pickup, holds, and compatible alternatives.

PartFinder AI explores how an AI phone agent can turn that real-world coordination task into a clear, reviewable workflow.

What it does

PartFinder AI lets a user enter a part name or model number, location, and optional notes.

It then shows nearby store candidates and, after an explicit user action, uses CALL-E to contact an approved store. The agent asks about:

  • Exact part availability
  • Price
  • Same-day pickup
  • Hold availability
  • Compatible or replacement parts

The result is normalized into a comparison dashboard. Users can review the confirmed result, CALL-E call summary, and full returned call log before choosing a store.

How we built it

We built PartFinder AI with Next.js, TypeScript, Tailwind CSS, and CALL-E.

The app uses a PhoneAgent interface so it can switch between a no-call MockPhoneAgent for demos and a server-side CallEPhoneAgent for live tests. CALL-E credentials remain in .env.local and are never exposed to the browser.

The live CALL-E adapter sends a structured result schema, polls for completion, and normalizes the result into stock status, price, pickup, hold, alternative-part, summary, and call-log fields.

Challenges we ran into

The biggest challenge was making phone calls safe and understandable in a demo.

We avoided allowing the browser to submit arbitrary phone numbers. The server looks up a catalog store ID, and live mode requires explicit local configuration with an authorized E.164 business number.

We also improved the call-result experience after discovering that short event previews could hide important parts of the conversation. The app now retrieves up to 100 CALL-E events and displays the full returned call log in an expandable panel.

Accomplishments that we're proud of

We successfully completed a real CALL-E test with an approved store contact. The store confirmed that a Continental GP5000 700x25C tire was in stock for ¥9,800, with pickup and holding available that day.

We are also proud that the app does more than display a call outcome: it turns the response into structured, comparable information and preserves the written call record for review.

What we learned

Phone agents are most useful when they are tied to a concrete operational task and return information that a person can inspect.

We learned that explicit user intent, server-side credential handling, approved business contacts, mock mode, and transparent call logs are essential design choices—not just implementation details.

What's next for PartFinder AI

Next, we would add a verified store-data provider, persistent call records, asynchronous webhooks, and support for multiple approved calls in one search round.

The architecture is intentionally category-agnostic, so the same workflow could expand beyond bicycle parts to automotive, electronics, industrial, and repair parts.

Built With

Share this project:

Updates

Submission history