Inspiration
AI shopping agents are about to spend real money on our behalf, but they can sound confident while being wrong. We saw them overlook shipping in a budget, assume coupons stack when they don't, or promise a card reward that never applies.
The second problem hit us just as hard: when something goes wrong after delivery, the store has no memory of what you actually asked for. You end up re-explaining everything to support, and the same sizing complaint happens to the next shopper too.
We wanted to connect those two moments. What if the thing you approved at checkout didn't disappear, and became the evidence that fixes problems and prevents the next one?
What it does
PerkPilot is an AI shopping and post-purchase assistant that a merchant installs on its store.
- Buy it right. The shopper types a request like "black running shoes, size 10, under $120 total, by Friday." The AI turns it into a structured summary the shopper confirms. A code-based verifier then checks the product, size, total with shipping and tax, offer eligibility, and delivery date.
- Fix it fast. If something goes wrong, the assistant pulls up the saved purchase record, checks it against what was delivered, and offers eligible remedies like an exchange or refund.
- Learn from every return. When the same fit problem repeats, the system proposes a rule. The merchant reviews the evidence and approves it, and later shoppers see the guidance.
Our core principle: the AI interprets language, code enforces rules, and humans approve.
In our demo, the AI proposes a $15 coupon plus a $10 card credit. The verifier blocks it, because the card credit needs a charge of at least $120:
$$125 - 15 = 110 < 120$$
so the offer doesn't qualify and the recommendation is corrected.
How we built it
- Frontend: Next.js, TypeScript, and Tailwind CSS for the shopper and merchant views
- Backend: Python and FastAPI, with Pydantic schemas for the verifier, cause finder, remedy engine, and rule learner
- Database: MongoDB for the catalog, purchase records, claims, and rules
- AI: Gemini for reading requests and complaints and writing explanations, with schema-validated outputs
- Money handling: integer cents everywhere, and totals are always recalculated on the server
- Integrity: each purchase record is hashed with SHA-256 so later changes are detectable
All catalog, payment, and shipping data is simulated. We use a labeled test card and no real payments are processed.
Challenges we ran into
- Keeping the AI out of the decision loop. It was tempting to let the model do everything, so we drew a hard line: the model reads and explains, and code makes every decision.
- Offer rules are tricky. Whether a coupon applies depends on which price the threshold is measured against, so we had to define the order of discounts and tax carefully.
- Honest diagnosis. A complaint like "too
Built With
- api
- fastapi
- gemini
- mongodb
- next.js
- pydantic
- pytest
- python
- react
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.