What I built
I built a customer support agent backed by a product knowledge hub that updates itself from the codebase.
The system turns current product behaviour into support articles with screenshots and source references. Those articles provide the context for an agent available to Fresh teams in Slack and to customers in the mobile app.
Problem
Support needs precise answers about how the product behaves, while much of the reliable detail sits in code, product specifications, release notes and the memory of Product and Engineering.
Help content can cover common questions, but it becomes harder to maintain as product rules change. A generic chatbot only adds another risk: a plausible answer that cannot be checked.
The prototype tested whether product context could be organised into maintainable topics and used to answer support questions without losing the link to the underlying evidence.
How I built it
- I started with an experiment: could the codebase explain its own product behaviour well enough to produce a useful knowledge-hub article? I generated articles for a small set of product areas, checked them against the live workflows and used the misses to improve source selection and article structure.
- Text was not enough for procedural support, so I added Puppeteer flows that open the product, move through the relevant task and capture screenshots. Each article combines the explanation, current interface and code or documentation used to produce it.
- Once the process was repeatable, I turned it into a scheduled job. It pulls the latest changes from
main, runs in an isolated sandbox and refreshes the affected articles and screenshots. Unclear or conflicting source material is flagged for review instead of being published as fact. - The resulting hub became the context layer for a support agent in Slack and the customer mobile app. A question retrieves the relevant articles and sources, returns a practical answer and escalates when the available evidence is not strong enough.
Value
The agent gives customers and support teams a faster path to a product answer without separating that answer from the evidence behind it. Documentation is refreshed from current product behaviour, rather than waiting for someone to notice that an article has become outdated.
- Faster resolutionCommon product questions can be answered without waiting for Product or Engineering to restate behaviour already represented in the source material.
- More trustworthy supportCustomers and support staff can see what an answer is based on, and uncertain cases are escalated rather than guessed.
- Knowledge that keeps paceProduct changes identify the topics that need review, reducing the chance that customers receive instructions for an older workflow.