Inspiration

When stock is limited, first-come-first-served shopping rewards whoever clicks fastest. At the same time, people looking for the same product usually shop separately, so merchants never see their combined demand.

We wanted to bring those buyers together and let merchants compete to serve them. We also wanted buyers to understand how places are allocated, what they are agreeing to, and when money actually moves.

That became FairPool.

What it does

A buyer chooses a product pool, confirms their requirements and sets their maximum total price. Joining is free. Entries received within the published window follow the same allocation rules; arriving earlier earns no priority.

Merchants submit sealed bids for groups of buyers. Buyers who receive an offer can review its exact price and terms before approving checkout through PayPal Sandbox. The merchant workspace shows funding progress, fulfillment information and payment verification.

Every pool has a public audit view explaining its rules and outcome, with evidence available according to the pool’s stage.

There is also a path for demand that does not have a pool yet. Buyers can save a structured product interest and explicitly consent to being notified. Matching interests are grouped using confirmed product fields. By default, five distinct active accounts trigger a draft pool for operator review. The operator publishes it, interested buyers receive an in-app notification, and each buyer decides whether to join.

An interest is not an entry or a payment commitment. AI does not automatically publish pools or enroll buyers.

Where AI and agents fit

Google Gemini helps turn a buyer’s description into a structured request and prepares proposals for review. It also supports merchant quote parsing, offer reconciliation and agent mandate proposals. Outputs are validated against closed schemas, with manual forms available when parsing cannot produce a valid result.

Buyers can also participate through a compatible MCP client. Browser-based OAuth lets them review and approve a scoped, expiring agent connection. They can inspect and revoke that connection in FairPool.

Agent tools can discover pools and manage permitted entries. They cannot create PayPal orders, authorize payments, capture money, void authorizations or issue refunds.

How we built it

The frontend uses React, TypeScript and Vite. The backend uses Python, FastAPI, async SQLAlchemy and PostgreSQL hosted on Supabase. Render hosts the application and its background worker.

PayPal Sandbox handles checkout and payment operations. The server verifies payment information rather than trusting a redirect or a success message. Merchant integrations have a documented REST API and APIMatic-generated SDKs.

Demand formation uses deterministic grouping and a background sweep. Publication freezes the pool’s rules and schedules its lifecycle jobs. If operator review is delayed past a draft’s provisional opening, publication refreshes that unpublished schedule before freezing it. Published schedules remain unchanged.

Challenges and what we learned

The hardest part was keeping approval, authorization and completed capture separate. A buyer approving checkout does not prove that payment has been captured. Retries, deadlines and delayed responses also need explicit handling.

The same distinction matters for AI: a proposal is not consent, an agent connection is not payment permission, and an expression of interest is not a purchase.

We learned that a useful AI shopping flow needs clear boundaries around what the model suggests, what the server validates and what the person confirms.

What we are proud of

FairPool connects buyer discovery, merchant competition, payment handling and audit evidence in one working flow.

The fixed AI evaluation covered 320 case evaluations across two runs, using 354 model attempts including retries. A separate local simulation exercised allocation with 10,000 synthetic entries; it was not a live payment or production-throughput test.

The current release also passes 1,452 backend tests and 376 frontend tests.

What comes next

We want to expand the conditions that agent mandates can enforce, validate saved-payment permission flows, and move toward an approved production marketplace integration with continuous background processing.

The current demonstration uses US-based PayPal Sandbox buyers, USD and a single stand-in seller. Custom agent conditions remain advisory; scopes, per-entry spending caps, expiry and revocation are enforced. We do not claim production readiness or guaranteed savings.

Built With

Share this project:

Updates

Submission history