The goal
Visitors asking "how much will my project cost?" usually wait days for an answer. I wanted them to get an honest, itemised estimate in minutes, while I still review every quote personally before work starts.
What I built
- A chat assistant on OpenAI that asks focused questions and updates a structured quote each turn
- A live estimate panel that recalculates as the conversation goes, with quick-reply suggestions
- Three ways in: chat, a step-by-step configurator, or picking services from the catalogue
- Branded PDF quotations, emailed to me and to the client in one step
- Local rates in PHP for the Philippines and international rates in USD, GBP, EUR and AUD
Key decisions
The AI never sets the price
The model is instructed never to state prices. It only changes the scope of the quote through a validated tool call; the numbers are always calculated by the site from the catalogue, so the AI can't invent a discount or a wrong figure.
Structured output, validated
Each turn, the model must call a "respond" tool that returns a reply, a change to the quote and up to four suggestions. Every change is validated before it touches the quote, and anything invalid is ignored.
It keeps working when AI doesn't
Without an API key, or once a visitor or the whole site reaches its daily AI budget, Sidekick switches to a built-in demo engine instead of failing, so the quote builder is always usable.
Costs and abuse under control
Per-visitor limits, a site-wide daily AI budget, Turnstile bot checks and a cap on conversation length keep usage and spend predictable.