A model and its bill
Pick a model, handle rate limits and watch token costs grow with traffic.

// npm install react-elfsight-widget
// components/AiChatbot.tsx
"use client";
import { ElfsightWidget } from "react-elfsight-widget";
export function AiChatbot({ id }: { id: string }) {
return <ElfsightWidget widgetID={id} />;
}
// app/layout.tsx — once, for every page
// <AiChatbot id="YOUR-WIDGET-ID" /><AiChatbot id="YOUR-ID" />Learns from your website automatically
Lead forms and human handoff built in
Chat history, transcripts and analytics
Floating or embedded, styled in the editor
Free plan, no credit card
Client component. Mark the wrapper with "use client" and render it from any Server Component.
Once in the root layout. A floating chat in app/layout.tsx shows on every page and survives client-side navigation.
Static export friendly. Nothing runs on your server; it works with output: "export" and on any host.
// npm install react-elfsight-widget
// components/AiChatbot.tsx
"use client";
import { ElfsightWidget } from "react-elfsight-widget";
export function AiChatbot({ id }: { id: string }) {
return <ElfsightWidget widgetID={id} />;
}
// app/layout.tsx — once, for every page
// <AiChatbot id="YOUR-WIDGET-ID" />Time to launch
AI Chatbot
Your own build
Knowledge
AI Chatbot
Your own build
Chat UI
AI Chatbot
Your own build
Leads and handoff
AI Chatbot
Your own build
Transcripts and analytics
AI Chatbot
Your own build
Costs
AI Chatbot
Your own build
Upkeep
AI Chatbot
Your own build