<aside> 📌
</aside>
<aside>
<img src="/icons/cursor_gray.svg" alt="/icons/cursor_gray.svg" width="40px" /> Hello world! Over the Fall25 semester, the team at Applied Engineering built a RAG chatbot that was orchestrated to be geared towards (a) sales, (b) customer services, or (c) capturing leads.
Our client SGConsulting, a mid-size professional services firm required a focus on capturing leads with quick CTAs, while making sure the AI is fully capable of answering all services related questions.
We translated complex business requirements into a production AI system, working with non-technical stakeholders who couldn't specify their needs in technical terms
</aside>
<aside>
Table Of Contents
</aside>
The client runs a test-prep consultancy. They had two websites full of useful content, service pages, pricing information, exam guides, outcome statistics, student success stories, but users reaching out on WhatsApp had no way to discover any of it on their own. Staff were answering the same 20 questions repeatedly.
The ask was simple in principle: build a chatbot that knows everything on the websites, answers questions naturally, and guides interested users toward booking a call.
The hard parts turned out to be:
| Language | Python 3.11+ |
| Package manager | uv |
| Web scraping | httpx, BeautifulSoup4, lxml |
| LLM orchestration | LangChain (langchain, langchain-classic) |
| LLM providers | OpenAI GPT-4o |
| Embeddings | OpenAI `text-embedding-3-small`|
| Vector store | ChromaDB (persistent, local) |

