Inspiration
A kameti is how millions of families in Pakistan, India, and immigrant communities save together — 10 friends put in $100 a month, one person takes the $1,000 pot each month. Today it runs on WhatsApp and trust, and it breaks when someone pays late or stops paying. No one knows who's reliable until the circle collapses. We wanted to keep the tradition, but fix the trust problem with PayPal and AI.
What it does
Kameti AI runs the whole circle. Create a circle — name it, set the monthly amount, pick 3-12 months, add members, pick who you are. Members pay $100 a month with PayPal Sandbox Checkout. Every member gets a 0-100 trust score from payment history (on-time +10, late -15, missed -30), Low / Medium / High risk, with a next-month risk prediction. Gemini (gemini-3.8-flash) explains each score in plain English. Once everyone has paid, PayPal Sandbox Payouts pays the whole pot to that month's winner. Payout order is shuffled, no one wins twice until everyone has won once. Reminders show who hasn't paid yet.
Live demo: https://kameti-ai.vercel.app/ Live backend: https://kameti-ai-server.onrender.com
How we built it
Frontend: Vite + React 18, hosted on Vercel. Backend: Node.js + Express (server/server.js), hosted on Render. PayPal Sandbox REST API — Checkout Orders to collect, Payouts to pay the winner. No real money, Sandbox test money only. AI: Google Gemini, model gemini-3.8-flash (free tier) — trust-score explanations and next-month risk prediction, with a rule-based fallback if Gemini is unavailable. Trust score is custom code in trustScore.js, start at 70, capped 0-100. Tested live in PayPal Sandbox: Ayesha received $500 for Month 1. Repo: https://github.com/shadabk1/kameti-ai
Challenges we ran into
PayPal Sandbox payout failed at first — we were sending it to an auto-generated [email protected] address, which Sandbox rejects. Fixed it by using a real Sandbox Personal test email. Gemini models kept changing — gemini-2.0-flash and gemini-2.5-flash are no longer available to new users, so we switched to gemini-3.8-flash and verified it live. Vercel frontend-only doesn't run our Express server, so adding PayPal / Gemini keys to Vercel did nothing and the live link stayed Simulated. Fixed it by deploying the backend separately to Render, and pointing the frontend at it with VITE_SERVER_URL. Refresh wiped payments at first — there was no database, so we fixed it for the demo with localStorage persistence.
Accomplishments that we're proud of
Real PayPal Sandbox payout working end-to-end — Ayesha received $500 for Month 1, with a real batch ID, not a simulated one. Real Gemini explanations working live — Bilal's score of 20 is explained in plain English, with a High next-month risk prediction. Live backend on Render and live frontend on Vercel, both showing Live Sandbox / Live Gemini. Built in 2 days, for $0, on free tiers only, and it fixes a real cultural problem, not a made-up hackathon problem.
What we learned
PayPal Sandbox is strict — payouts need a real Sandbox account email, and Checkout needs the payer to approve, it can't be fully automatic. AI is only useful if it's grounded in real data — Gemini works here because it explains a real score from real payment history, it never invents payments. A live link needs a live backend — a frontend-only deploy looks live but isn't, unless the server is deployed separately too. Shipping a working, documented demo matters more than adding features — we cut Supabase, login, and multi-currency to finish on time.
Built With
- express.js
- gemini
- node.js
- paypal-sandbox
- react
- render
- vite