Inspiration
Teams move quickly through chat groups such as Slack. Conversations can include product decisions, implementation details, customer requests, incidents, and follow-up tasks—all in the same thread.
We noticed that people are often tagged suddenly without the full background. They may not know what happened before, why they were included, or what action is expected. The context may be scattered across chat messages, documentation, code, pull requests, and Jira tickets. This leads to repeated explanations, slower decisions, and unnecessary back-and-forth.
BackStory Agent was inspired by the idea that project context should be easier to access at the exact moment a teammate needs it.
What it does
BackStory Agent is a Slack teammate that helps people understand the context behind a project discussion.
Users can ask broad questions such as what a project does, specific questions about how a feature works, or historical questions about why a decision was made. The agent investigates the connected repository and returns a short plain-language answer with confidence and verified source links.
For current implementation questions, it uses repository documentation and code. For historical “why” questions, it traces Git history and looks for supporting GitHub pull requests or Jira tickets. If the original rationale cannot be verified, the agent says so instead of guessing.
How we built it
We built BackStory Agent with TypeScript, Slack Bolt, the OpenAI Responses API, Git, GitHub, and optional Jira integration.
The agent runs in Slack Socket Mode and responds to direct mentions. It also supports follow-up questions inside an active Slack thread.
Its investigation flow is designed to stay controlled:
- It reads repository overview documents for broad questions.
- It searches the local codebase using safe literal search terms.
- It reads a bounded code context around relevant matches.
- For historical questions, it traces Git blame, related pull requests, reviews, comments, and linked Jira tickets.
- It returns only application-validated source links.
We use gpt-5.6-terra for balanced reasoning and tool-use cost. The MVP also includes secret redaction, request timeouts, a 90-second investigation deadline, and a three-request concurrency limit.
Challenges we ran into
The first challenge was defining the right scope. At first, the bot focused only on “why” questions backed by PR or Jira evidence. This was safe, but too limited because teams also need help understanding what a project does and how the current implementation works.
We solved this by separating current-state knowledge from historical rationale. Code and documentation can explain the present; PRs and Jira tickets provide stronger evidence for the reason behind a past decision.
Another challenge was avoiding unreliable answers. Code, commit messages, PR comments, and Jira tickets can all contain incomplete information or misleading instructions. We treat retrieved content as untrusted evidence, redact credential-like values, validate source links in the application, and avoid claiming a historical reason when the evidence is missing.
Accomplishments that we're proud of
We are proud that BackStory Agent does not simply generate an answer—it explains how confident it is and shows where the answer came from.
The agent can now support:
- Broad repository understanding from documentation and code.
- Specific implementation questions with code source links.
- Historical investigation through GitHub pull requests and optional Jira tickets.
- Slack thread follow-ups without requiring another mention.
- Low-confidence answers that clearly distinguish verified current behavior from unverified historical rationale.
This makes the agent more useful while keeping it honest about what it knows.
What we learned
We learned that a helpful AI teammate needs more than a strong model. It needs clear evidence rules, safe tool boundaries, and a good user experience.
The most important lesson was that “what the system does” and “why a team decided to do it” are different questions. The first can often be answered from code. The second needs decision history.
We also learned that a narrow MVP is valuable. Supporting one repository, trusted Slack channels, and bounded investigation helps us test the real workflow before expanding to broader company knowledge.
What's next for BackStory Agent
Next, we want to pilot BackStory Agent with a real product and engineering group using one active repository.
We want to learn which questions are most valuable, where context is still missing, and which additional knowledge sources would help the team most. Future improvements may include multi-repository support, persistent memory, semantic search, feedback collection, richer project documentation, and suggestions for the most relevant person or team to involve.
Our goal is to make project context easier to access, reduce repeated clarification, and help teams communicate and collaborate with more confidence.
Log in or sign up for Devpost to join the conversation.