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=live switch 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

Share this project:

Updates

Submission history