Bootstrapwarebootstrapware

Bootstrapware Chat

Private messaging inside your product, not another inbox.

Embed 1:1 and small-group chat in React. Pass a host-asserted user id. Choose BYO storage at $9.99 or Hosted messages at $19.99. Free for local/demo. No seat tax.

Free local · BYO $9.99 / mo · Hosted $19.99 / mo. Workspace pricing. No seat tax.

Chat embed: conversation list and a 1:1 thread with Ada, composer, and Send.

Try it

Same widget. Local data only.

This is the real @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.

Chat embed showing the conversation list and an idle thread.

01

Embed the widget

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

New conversation form with Direct selected and a host-asserted user id.

02

Assert the user

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

Open 1:1 thread with messages, composer, Attach, and Send.

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.

Chat is embed-only. Your app asserts identity. BYO keeps messages on your backend. Hosted stores plain-text messages and files on Bootstrapware; you moderate. MCP never receives message bodies or file bytes.
Embed identity and choose where messages live: BYO on your API, or Hosted on Bootstrapware. No public chat URLs.

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.

AI can sketch a thread UI. Owning identity boundaries, membership, attachments with a cost cap, and a published app config is still a weekend you do not want.

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.

Full feature reference

Install

One package. Typed React component.

Publishable keys may appear in the browser. Secret keys stay in Route Handlers. Your app asserts 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 Bootstrapware Chat if you want an in-product embed with host identity. Buy something else for a communications platform, video, or us authenticating end users.

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.

All guides

Comparison

Stream is probably better than us.

If you need a realtime communications platform, buy Stream or Sendbird. If you need private 1:1 and small-group chat inside your product with host-asserted identity, you probably do not need that.

Agent-native

Tell Cursor to add in-product chat. Hand it the docs.

Copy the AGENTS.md rules into your repo. Your coding agent gets explicit rules for identity, BYO vs Hosted, keys, and what never to send through MCP.
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/agents
Agent 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.