Bootstrapware Chat
Private messaging inside your product, not another inbox.
Free local · BYO $9.99 / mo · Hosted $19.99 / mo. Workspace pricing. No seat tax.

Try it
Same widget. Local data only.
@bootstrapware/chat package with a local adapter. Nothing is sent to Bootstrapware.Local adapter · messages stay in this browser
No conversations yet. Start one.
Start a chat with Ada or Kai from New. Open a second browser profile against the same localStorage key to chat as someone else. This demo is signed in as You.
How it works
Three steps. Your auth stays yours.

01
Embed the widget
Install @bootstrapware/chat. Pass a local adapter, a BYO ChatAdapter, or appId + publishable key for Hosted.

02
Assert the user
user={{ id: opaqueStableId, name }}. We do not log end users in. Your session is the source of truth.

03
Store or Host
BYO: implement conversations and messages on your API. Hosted: we store messages and files; you moderate in the inbox.
Privacy by design
Config is hosted. Content depends on the mode.

BYO / local
- Message bodies and files stay on your systems
- You implement the ChatAdapter contract
- We host published app configuration only
- Local adapters can keep threads in the browser
Hosted ($19.99)
- Messages and files stored on Bootstrapware
- Dashboard inbox with Team send, archive, export
- You own moderation decisions and content
- Cancel: freeze writes, export 30 days, then delete
Capabilities
The boring in-product chat embed, already built.
1:1 and groups
Direct conversations plus groups up to 20 members with add, remove, and leave. No invite links.
BYO or Hosted
BYO ($9.99): you own messages via a ChatAdapter. Hosted ($19.99): messages and files live on Bootstrapware; you moderate in the inbox.
Host-asserted identity
Pass user={{ id }}. Bootstrapware does not authenticate end users. Your app asserts an opaque stable id.
Attachments with a freeze cap
jpeg, png, webp, gif, PDF. Hosted includes 1 GB. Optional $9.99 storage add-on raises the cap to 10 GB. Uploads freeze at the cap.
Live updates
Hosted SSE with a 4 second poll fallback. BYO can subscribe or poll your API.
Operational webhooks
Conversation, message, and member events with identifiers only. Never message body or file bytes through MCP.
Install
One package. Typed React component.
user.id.pnpm add @bootstrapware/chat
"use client";
import { Chat, createLocalAdapter } from "@bootstrapware/chat";
import "@bootstrapware/chat/styles.css";
export function ProductChat({ user }: { user: { id: string; name?: string } }) {
return (
<Chat
user={user}
adapter={createLocalAdapter({ storageKey: "product-chat" })}
/>
);
}Fit
Built for small production SaaS.

Buy this if
- You want 1:1 and small-group chat inside your authenticated product
- Your app already knows who the user is and can assert an opaque id
- You prefer BYO storage, or Hosted messages with your own moderation
- You are bootstrapped and communications-platform pricing feels absurd
- You (or your coding agent) need a clean npm install and typed docs
Buy something else if
- You are building a chat product, marketplace inbox, or support omnichannel
- You need video, activity feeds, or channels at Stream/Sendbird scale
- You require Bootstrapware to authenticate end users
- You need us to moderate Hosted content for you
Pricing
Workspace pricing. No seat tax.
Dev
Free
Local/demo adapters and test keys forever.
BYO
$9.99 / mo
Live app config. You store messages and files.
Hosted
$19.99 / mo
We store messages and files. 1 GB included.
Third product unlocks 35% off list. Optional Chat storage add-on is $9.99/mo for 10 GB and is not stack-discounted. Full pricing.
Guides
Answers for the prompts people actually give.
Comparison
Stream is probably better than us.
Agent-native
Tell Cursor to add in-product chat. Hand it the docs.
Install @bootstrapware/chat. Add a Client Component using Chat with a host-asserted user.id. Prefer createLocalAdapter for demos, ChatAdapter for BYO, or appId + publishableKey for Hosted. Never send message bodies or file bytes through MCP. Keep secret keys server-side. Follow https://bootstrapware.co/chat/docs/agentsAgent integration rules →
Honest limits
Deliberately smaller. Still production-grade.
- Not a public chat URL, invite link, or Slack bridge.
- Not an end-user auth product. Your host asserts user id.
- Not a substitute for your own authorization on BYO APIs.
- Groups max 20. Hosted files freeze at 1 GB, or 10 GB with the $9.99 add-on.
- Hosted stores plain text and files; you moderate. We do not run a content-ops team for you.
See limits and conversations.
FAQ
Questions founders ask first.
Does Bootstrapware authenticate my end users?
No. Your host app asserts an opaque user.id. We do not run end-user login for chat.
What is the difference between BYO and Hosted?
BYO ($9.99) hosts app config only; you store messages via an adapter. Hosted ($19.99) stores messages and files on Bootstrapware. Local demo adapters stay free.
Are there public chat URLs?
No. Chat is embed-only. Customers use the widget inside your product.
Who moderates Hosted content?
You do. Bootstrapware provides inbox tools (Team send, delete, archive, export). Plain text and files. You are responsible for Hosted content.
How is this different from Stream or Sendbird?
Those products are communications platforms. Bootstrapware sells the narrow embed: private messaging inside your authenticated SaaS at a small-company price.
Will an AI coding agent be able to integrate this?
Yes. One npm install, typed props, AGENTS.md with an install algorithm, MCP for app config (never message payloads), and a stop-the-line if no publishable key exists yet.
Before you spend the weekend wiring Stream, try this.
Production software without venture pricing.