01
Challenge
SiteGPT is like having ChatGPT specifically for your business — a personalized chatbot trained on your website content that instantly answers visitor questions, escalates to humans, and captures leads. The main delivery challenge was to give users powerful automation with clear feedback, predictable states, and guardrails around model behaviour, while keeping Crawl, Train, and Personalize consistent across the complete journey. We framed the engagement around the smallest production-worthy flow first, then expanded the scope without weakening the underlying component and data model.
02
How we built it
We began by mapping the user journey and the boundaries of the AI: what context it receives, what it may return, and where deterministic application logic must stay in control. We then built Crawl, Train, and Personalize as small end-to-end slices, connecting the interface to the data and model layers early so the team could test real responses instead of static mock-ups. Streaming and real-time states were treated as first-class UI states, including loading, partial output, retries, and recovery. The main implementation used Next.js (App Router), React, TypeScript, and Tailwind CSS, with typed contracts keeping the JavaScript stack consistent across the product.
03
Delivery
The delivered scope brought Crawl, Train, Personalize, and Embed into one coherent production-ready product experience. Model output, product logic, and user feedback are separated clearly, which makes the AI easier to evaluate and evolve. For SiteGPT, the practical result is a product that communicates its value quickly while giving the team a maintainable base for continued delivery in ai & agents.