Bouncr is a drop-in AI negotiation agent that lets any subscription app offer personalized, haggled pricing — backed by a deterministic policy engine that guarantees you never sell below cost.
AI-era products have per-user costs that swing 10–50×. One power user can take an indie founder's bill from $127 to $890 a month, while light users quietly overpay and churn. A static pricing page captures zero information about what anyone would actually pay.
Stripe handles your payments. Orb meters your usage. Bouncr discovers what each user will actually pay — and closes the deal.
An embeddable chat that haggles in character — sassy, persistent, screenshot-worthy. It feels like texting a real bouncer at the door.
Pure deterministic code sets every price. Cost floors, concession curves, reasoning tiers. The LLM never touches the number that gets charged.
Every offer, walk-away, and close — your true demand curve, often for the first time. The data exhaust no billing platform has.
The LLM and the numbers never touch. It converses and extracts your offer into structured data — a separate, deterministic engine decides accept / counter / hold / walk, and tells the bouncer only what it's allowed to say. A validator catches any number it tries to invent. The price can't be talked below the floor, because the floor lives in code, not a prompt.
A script-tag loader drops a sandboxed widget onto your pricing page. Your server mints a session, the widget haggles inside your guardrails, and the closed deal hands off to Stripe.
One line on your pricing page — it mounts the bouncer in an iframe.
List price, floor, target, concession curve, persona. The engine never breaches them.
Closed deals create a subscription at the negotiated price. You never touch money — or PCI.
<!-- on your pricing page --> <script src="https://bouncr.tech/embed.js" data-plan="pro_monthly" data-user="user_123" data-mount="#bouncr"></script> // or wire it up yourself Bouncr.mount({ el: "#bouncr", planId: "pro_monthly", userRef: user.id, onDeal: (d) => location = d.checkoutUrl, })
Put a bouncer on your door. Watch your real demand curve draw itself.