Website Chatbot Development
The widget in the corner of a website is the most familiar form of this and the easiest to do badly. Most of what makes one good is unglamorous: it loads without slowing the page, it answers from real content, and it lets people reach a human.
Discuss your projectThe widget itself matters
A chat widget is third-party JavaScript on every page of your site, and most of them are heavier than they need to be. If it blocks rendering, loads a large bundle before anyone has clicked it, or shifts the layout as it appears, it costs you page speed on every visit to serve a feature a small minority of visitors use. That shows up in Core Web Vitals and therefore, indirectly, in search.
So we load it deferred and lazily: a lightweight launcher renders immediately, and the conversation interface is fetched only when someone opens it. No layout shift, no render blocking, and no measurable effect on the page speed scores you have worked to improve.
The other commonly neglected part is accessibility. A chat widget should be reachable and operable by keyboard, announce new messages to a screen reader, trap focus correctly when open, and not be a div that only responds to a mouse. This is straightforward to get right when it is built in and awkward to retrofit.
And it should be possible to dismiss. A widget that reopens itself, or that cannot be closed on a phone where it covers a third of the screen, drives people off the page rather than into a conversation.
What we build
Grounded answers
From your own pages, documentation and product data, with citations. Not a general model given your brand colours.
Page-aware context
A question asked on a pricing page is usually about pricing. Passing that context to retrieval improves answers noticeably for very little work.
Lead capture that is not a form
Qualifying questions asked conversationally, written to your CRM as structured fields with the source preserved.
Handoff to a person
Into your helpdesk with the conversation attached, immediately on request. Covered in detail on our handoff page.
Your design, properly
Built to your design system rather than a vendor's widget with a colour override. It should look like part of your site.
Honest refusal
Says it does not know and offers a route to a person, rather than assembling a plausible answer from loosely related pages.
Decisions we would push back on
Patterns that test well in the short term and cost more than they return.
- Opening automatically after a few seconds on every page. It interrupts people reading, it is the most complained-about pattern in web chat, and on mobile it covers the content someone came for.
- A fake typing indicator to simulate a human. Customers work it out and it undermines trust in everything else the bot says.
- Requiring an email address before answering anything. It improves your lead count and reduces the number of people who get an answer.
- Hiding the route to a human behind several exchanges. "Talk to someone" should work on the first message.
- Claiming to be a person. Increasingly a legal problem as well as a credibility one.
- Answering policy questions where a wrong answer costs you money — refunds, warranty, pricing commitments — rather than escalating them.
Common questions
Related in AI Chatbot Development
Tell us what you need
Describe the problem and we will come back with scope, timeline, and a rate. No obligation to proceed.
Get in touch