Inspiration
You read a great answer, a useful repo or a funny comment and want to send the author a few dollars. Finding out where is slow, and guessing is risky: the same username on another site is often a different person. We wanted tipping anyone to be one click, without ever sending money to the wrong person.
What it does
Universal Tip is a browser extension with a small local server.
- A small icon appears beside names on GitHub, Reddit and Stack Overflow; on X, Facebook and YouTube a "Tip" button appears when you hover a name; on any website the popup researches the page's owner or author. Nothing is looked up until you click.
- One simple window answers: here are the ways this person asked to be supported (PayPal.Me, Ko-fi, Patreon, Buy Me a Coffee, Open Collective, GitHub Sponsors), each with its source. A confirmed PayPal.Me link gets $3 / $5 / $10 buttons that open PayPal, where you review and confirm.
- If the profile lists nothing, a public OSINT pipeline searches other platforms and the web for the same username. Matches are shown as unconfirmed leads, never as confirmed links.
- If there is still nothing payable, you can hold a tip for that username: a real PayPal Orders checkout pays into a holding account, and the tip is recorded against that username until they claim it.
- An AI decision model rates the evidence. It is advisory only: it can hold a result back for manual review, never approve a payment.
How we built it
- Manifest V3 extension in TypeScript; loopback-only Node.js server, no framework.
- Evidence first: profile, README,
FUNDING.yml,funding.json,package.json, the listed website, and identity proofs (a site and a GitHub account that name each other, Keybase). - PayPal: PayPal.Me amount links, plus PayPal Orders v2 (create, buyer approval, capture) for held tips. Sandbox by default; a
PAYPAL_ENV=liveswitch exists for live credentials. - AI: four yes/no questions to a decision model (Nace Drex Max through OpenRouter's Decisions endpoint, or Parallel's free decision model).
- Security: the server listens on 127.0.0.1 only, needs a pairing token, validates every outbound address against private-network ranges, follows same-site redirects only, and keeps PayPal credentials on the server, never in the extension.
Privacy
Runs on your own computer; no account, no tracking. No data about you is stored. The only record kept is the ledger of tips held for a username (platform, username, amount, PayPal order ID, time). Only details people published themselves are used; private emails and phone numbers are never looked up.
Challenges
- Proving a link belongs to the person. A matching username is not proof, so those stay "unconfirmed" with a quieter button and no amount buttons.
- Sites that limit or refuse automated reads: the extension reads the page you are already looking at instead, and never bypasses a block or sign-in wall.
What is and isn't verified
- Seen working against live sites: GitHub, Reddit, X, YouTube, Stack Overflow and personal websites. 115 unit tests and 17 offline browser checks pass.
- The PayPal checkout was run for real in the sandbox: order created, approved by a sandbox buyer, captured (
COMPLETED) and recorded as held. It is in the video. - Not yet run: live-money mode (needs a PayPal business account), the claim flow for held tips, and the Drex model through OpenRouter (needs a key; the video's AI scene uses Parallel's free model). Facebook needs a signed-in session.
- Holding real money for other people has legal requirements; live mode is for an operator who meets them.
What's next
Creator claiming: prove you control the username, receive the tips held for it through PayPal Payouts.
Built With
- chrome
- node.js
- openrouter
- parallel
- paypal
- paypal-orders-api
- playwright
- typescript