Inspiration

If you work in a team, you know this story intimately because someone always ends up shouldering the burden. In my teams, that person was repeatedly me. Whenever a colleague had a birthday, got married, went on parental leave, or decided to move on, the entire operational headache of organising their leaving gift quietly landed on my desk. It is a thankless, time-consuming cycle of unpaid labour. Corporate workplaces never fund these gestures and these are entirely self-funded by colleagues, which means one organiser must bear all the friction. Some acute ones I faced (and I'm sure many do) are:

  1. Never-ebding collection circus: You post your personal bank account details or PayPal link into a Slack channel, then spend two weeks nudging, chasing, and reconciling random bank references against a mental checklist of who has paid and who has forgotten. Even when using money pooling apps, the person organizing does the chasing.
  2. Analysis paralysis to choose the gift: You either resort to something thoughtlessly generic, like an uninspired gift voucher or a supermarket hamper, or you spend hours awkwardly polling colleagues individually, asking what the recipient actually likes while trying to keep it a secret.
  3. The purchasing and leftover maths: You buy the gift but gifts rarely land on the exact penny collected. If you raise £130 and the perfect present costs £102, nobody knows what to do with the remaining £28. Returning it manually via individual bank transfers is such an operational chore that organisers almost always bloat the gift with unnecessary fillers like an expensive bouquet of flowers nobody asked for, tacky chocolates, or plastic novelty items, just to exhaust the pot. 4.The unfairness of flat refunds: Even when an organiser attempts to give the surplus back, they usually divide it equally among participants. That is fundamentally unfair because someone who generously contributed £30 receives the exact same refund as someone who chipped in £5.

I built Kitty because I lived through this headache again and again. I wanted an autonomous, self-balancing system that completely eliminates the organiser's churn, turning what used to be days of thankless administrative work into a delightful, zero-friction circle.

What it does

Kitty is a mobile-first web app that handles the entire lifecycle of a group gift without requiring anyone to download an app or register an account.

  1. Effortless setup without bank details: An organiser creates a gift pot in sixty seconds by providing the recipient's name, occasion, deadline, and a handful of taste tags (such as pour-over coffee, indoor plants, or sourdough baking), along with anything to strictly avoid. The organiser never has to share their personal bank details.

  2. Thirty-second chip-ins via PayPal holds: Colleagues contribute through a private share link. Contributions are taken as PayPal authorization holds rather than immediate charges. No money leaves anyone's bank account upfront, and holds lapse safely if the target is not reached.

  3. Zero-effort shopping via Channel3 and Gemini: Instead of the organiser scouring the internet or badgering colleagues for gift ideas, Kitty queries Channel3 for live retail inventory and verified prices from real merchants. Gemini acts as an attentive cat butler, brainstorming distinct search angles, scoring product suitability against the recipient's tastes, and explaining why each pick fits.

  4. No generic clones: Kitty enforces strict category diversity, ensuring the shortlist offers genuine alternatives rather than three variations of the same mug.

  5. Democratic voting and organiser veto: As the pot grows across price tiers, contributors can vote for their favourite shortlist option. Once the deadline passes or the target is reached, Kitty locks in the winning item and provides a 24-hour organiser veto window before capturing payments.

  6. Penny-exact pro-rata surplus returns: If the pot raises £120 and the chosen gift costs £95, Kitty captures only each contributor's exact proportion of the final price using the largest-remainder method. The remaining authorization on each card is automatically voided. Surplus is returned fairly and instantly to cards, with zero manual transfers and no need to pad the budget with unwanted filler.

  7. Clear receipt: Kitty generates an illustrated card signed by contributors, celebratory packaging animations, and an itemised breakdown showing PayPal authorization and capture IDs for complete financial transparency.

How we built it

I built Kitty as a full-stack modern web application designed for fast edge delivery and rock-solid financial correctness:

  1. Frontend and Edge Framework: Built with TanStack Start v1 (React 19, Vite) running on Cloudflare Workers, providing fast server-side rendering and resilient server functions.

  2. Database and Realtime: Lovable Cloud with PostgreSQL handles persistence under strict Row Level Security. A data-free realtime broadcast doorbell notifies connected clients to refetch pot details securely without exposing database rows to the browser.

  3. PayPal Integration: Direct integration with the PayPal REST API sandbox using two-phase payment authorizations (AUTHORIZE), programmatic partial captures, void operations, and batch payouts. Every transaction sends deterministic idempotency keys (PayPal-Request-Id) so duplicate charges are technically impossible.

  4. Channel3 Product Intelligence: Real-time e-commerce search through Channel3 API, pulling verified merchant inventory, structured specifications, and active product URLs.

  5. Bounded AI Architecture: Powered by Lovable AI Gateway with Google Gemini. Crucially, I strictly confined AI to creative query planning, semantic taste scoring, and conversational commentary. All financial math, largest-remainder splits, ranking tiers, and voting algorithms are executed in pure, auditable TypeScript covered by automated tests.

  6. Design and Mascot: A bespoke visual identity using warm paper tones (#FAF7F2), ink typography, and kraft paper textures, punctuated solely by PayPal blue (#0070E0) and zero generic gradients. The mascot, Kitty the cat butler, is an inline SVG with spring-smoothed state choreography responding to live pot events.

Challenges we ran into

My primary technical hurdle was implementing two-phase payment authorizations instead of standard instant captures. Group gift totals fluctuate continuously as people join or withdraw. If a capture fails on closing day, the system cannot simply fail the entire purchase; it must recalculate the split across the remaining approved cards, capture the correct partial top-up, and void the residual holds without double-billing anyone.

A related challenge was the arithmetic of pro-rata surplus returns. Dividing fractional pennies across nine uneven contributions easily produces off-by-one errors. Implementing the largest-remainder method with extensive unit test coverage ensured that every single penny I allocated across captures and voids balances to zero.

Finally, preventing AI hallucinations required strict separation of concerns. Large language models excel at understanding that someone who loves espresso might appreciate an artisan ceramic dripper, but they must never be trusted to invent prices, check warehouse availability, or calculate transaction percentages. Decoupling Channel3's verified retail catalog from Gemini's semantic reasoning created an assistant that is imaginative while remaining grounded in real products.

Accomplishments that we're proud of

  1. Solving real workplace churn: Eliminating the thankless administrative headache of chasing bank transfers, fronting money, and awkwardly padding budgets with unwanted flowers.

  2. Rock-solid financial pipeline: 66 automated tests validating every state transition, capture split, surplus void, and edge-case refund scenario.

  3. Account-free simplicity: Contributors can land on the link, authorize a chip-in through PayPal, and leave a personal note in under thirty seconds.

  4. Deterministic AI boundaries: Building an AI agent where money logic remains completely unpolluted by probabilistic models.

  5. Polished product craft: Designing an engaging interactive demo with an original soundtrack, an expressive cat butler mascot, and a warm editorial aesthetic that feels lighthearted rather than bureaucratic.

What we learned

Working directly with PayPal's authorization and capture lifecycle highlighted just how transformative authorized holds are for collaborative consumer commerce. In traditional group buying, fear of fronting money or being overcharged is the single largest point of friction. Payment holds dissolve that barrier because participants know funds only leave their accounts when the objective is met.

I also gained deep appreciation for pairing live merchant data APIs like Channel3 with generative AI. Prompting a language model against pre-filtered real-time catalog data produces shopping recommendations that feel genuinely bespoke, avoiding the generic gift guides that populate standard search engines.

What's next for Kitty: The Group Gift That Buys Itself

  1. One-click merchant checkout: Integrating direct order placement via Channel3 merchant partner pipelines, enabling Kitty to purchase the gift and dispatch it to the recipient's doorstep automatically.

  2. Multi-currency pots: Supporting international remote teams by automatically converting and locking exchange rates across diverse local currencies.

  3. Workplace calendar integrations: Connecting Slack and Google Workspace so Kitty can remind teams about upcoming milestone birthdays or farewells and draft pots autonomously.

  4. Physical card printing: Teaming up with on-demand print services to turn the group's digital messages into a premium physical card mailed alongside the parcel.

Built With

  • agentic-commerce
  • ai-agents
  • channel3
  • fintech
  • gemini
  • lovable
  • payments
  • paypal
  • tanstack-start
Share this project:

Updates

Submission history