§ Private beta · SaaS
Shipping a support chatbot teams actually ship with.
A customizable, streaming, RAG-backed chat surface that matches the host product's design system on install.
- Sector
- B2B SaaS
- Year
- 2025
- Role
- Full-stack
- Stack
- Next.js · Postgres + pgvector · SSE
01 · Problem
Off-the-shelf chatbot widgets feel like a third-party iframe pasted on. Customers wanted something that looked and behaved like their own product — same fonts, same motion, same a11y.
02 · Approach
- 01
Built a design-token-aware shell that reads host CSS variables at runtime.
- 02
Streamed responses using SSE with graceful fallback; zero layout shift.
- 03
Retrieval layer with per-tenant isolation on a single Postgres + pgvector instance.
03 · Outcome
9 min
Time to install
Median for design-engineering tenants.
62%
Deflection
Of previously-human tickets resolved by the bot.
0.00
CLS on host
Verified across 14 tenant sites.
“We stopped hearing 'is this a third-party widget?' the week we shipped the Devfrend version.”
Stack
- Next.js
- Postgres + pgvector
- SSE
- Vercel AI SDK
- Tailwind
Next case
Devfrend MCP →
A single MCP for your whole freelance stack.