Inspiration
Scams have changed. Criminals no longer need your password: they phone, pose as your bank, the police or a grandchild, and talk you into sending the money yourself. In India, "digital arrest" calls keep someone on a video call for hours until they pay. Fraud checks look for stolen accounts, but here the real owner is paying, so the money goes through. We wanted a pause between the pressure and the payment, and a way for families to help without taking away anyone's independence.
What it does
Pauseline is a payment app with a safety net built on PayPal.
- The payer picks who to pay and says what it's for, by typing or speaking in English, Hindi or Hinglish.
- Pauseline checks for scam pressure in their own words and in the payment's context. When unsure, it asks one or two yes/no questions, such as "Is someone on the phone with you right now, telling you what to do?"
- Every payment is first held as a PayPal authorisation:
- Normal payments are captured at once and paid out to the recipient.
- Unusual ones get a cooling-off period and appear in the family member's view.
- Payments with clear warning signs wait for a trusted family member. They see the payer's words, the warning signs and the answers, then approve (capture and payout) or decline (void).
- A declined payment never charges the payer.
How we built it
PayPal:
- Orders v2 with intent AUTHORIZE and the JS SDK button
- Payments v2: authorise, capture and void
- Payouts to deliver the funds
- Webhooks with signature verification
- PayPal-Request-Id so retries never double-charge
AI, all free to run:
- Our own ML classifier: TF-IDF over words and character n-grams, plus logistic regression. Trained on 2,800 synthetic English, Hindi and Hinglish sentences, decontaminated against our benchmark, and explaining each decision with the phrases that drove it.
- An English/Hindi/Hinglish scam-phrase lexicon and context rules.
- An open-weight LLM (gpt-oss-120b on Groq's free tier). It gives a second opinion on risk, writes the calm message to the payer and the summary for the family, and suggests the most useful questions.
Safety principle: no AI component can move money. Money moves only through a deterministic rule or a human decision, and family decisions need a PIN, so a caller cannot talk the payer into approving their own hold.
Built for a free public quota: response caching, a token and request budget guard, per-visitor rate limits, and automatic fallback to the on-device model if the LLM is unavailable.
Stack: FastAPI, SQLite, React, Tailwind. Hosted on Railway. PayPal sandbox only, so no real money moves.
Challenges we ran into
- LLMs flag large payments to new payees as scams: tuition, contractors, hospital deposits. Down-weighting the LLM only lost recall on our dev split, so we kept its raw score and changed the policy instead. With the LLM working, unusual context alone only triggers questions, and the answers let the LLM re-assess. A family hold needs warning signs in the words or a risky answer.
- Our first training set leaked phrases from our test set. A leakage check caught it, and we added decontamination.
- Coached victims: scammers tell people to answer "no" to every question. So reassuring answers lower the risk only slightly, and the family stays the real safety net.
Accomplishments that we're proud of
- A complete hold, decide, capture-or-void, payout flow running on real PayPal sandbox APIs.
- A 112-scenario benchmark, including coached victims who lie as scammers instruct, plus Hindi, Hinglish and speech-recognition-noise tests.
- On a held-out test set of 75 scenarios, Pauseline catches 95% of scams and holds 74% for the family, against 56% and 0% for bank-style rules. No legitimate payment was held. With 15% simulated speech-recognition errors it still catches 95%, and every Hindi and Hinglish scam was caught.
- Honest limits: the benchmark is synthetic and small (we report confidence intervals), and the results and one documented re-tuning are in EXPERIMENTS.md in the repo.
What we learned
- Classic bank rules can delay a payment but cannot tell a scam from a large legitimate one. The payer's own words carry that signal.
- Asking questions helps, but coached victims answer "no". Families are the real safety net.
- With a free LLM quota, the product needs a working fallback, not just a good model.
What's next for Pauseline
- A partnership with a wallet or bank to run the check inside the real payment flow.
- Periodic family review of recurring payees.
- More Indian languages.
- Whisper-based voice input.
Built With
- docker
- fastapi
- gpt-oss-120b
- groq
- paypal
- paypal-javascript-sdk
- paypal-orders-api
- paypal-payments-api
- paypal-payouts
- paypal-webhooks
- python
- railway
- react
- scikit-learn
- sqlite
- tailwind-css
- typescript
- vite
- web-speech-api