Inspiration

We've all been in situations where someone asks, "What has this person been working on?" or "Who deserves recognition this sprint or this quarter?" Most of us rely on memory, and memory is incomplete. The evidence is already there, buried in Slack conversations, code reviews, Jira tickets, documents, and other workplace tools, but it is scattered across systems and difficult to piece together.

Open Ledger is an AI agent that brings that evidence together. It searches workplace tools, surfaces meaningful contributions, and returns concise summaries supported by evidence, with links to the original source. Today it integrates with Slack, GitHub, and Jira, and it is designed to expand to additional workplace systems over time.

Whether you are looking to give kudos, prepare for a retrospective, a 1:1, a promotion discussion, or simply understand and share your own contributions, Open Ledger helps ensure recognition is based on evidence rather than memory.

Open Ledger only searches information that you already have permission to access. It retrieves publicly available workplace information and limits searches to your own contributions or those of your direct reports, ensuring transparency and privacy by design.


What it does

Open Ledger works where people already collaborate: Slack.

You can send it a direct message such as:

  • Find peer recognition for Sue from the last two weeks.
  • What has James contributed this month?
  • Show me my own GitHub contributions this sprint.

It also supports slash commands for GitHub and Jira lookups.

Behind the scenes, an LLM understands the request, determines the right source, identifies the person and timeframe, and retrieves evidence from:

  • Slack Real Time Search
  • GitHub
  • Jira

Every response is grounded in evidence. Instead of generating scores or performance ratings, Open Ledger returns concise summaries with links back to the original Slack message, pull request, code review, or Jira ticket.

Open Ledger only allows you to search your own contributions or those of your direct reports.


How I built it

Open Ledger is a Python application built with Slack Bolt running in Socket Mode.

The application follows a simple pipeline:

  1. User sends a request in Slack.
  2. An LLM planner determines the intent, source, person, and timeframe.
  3. The appropriate retrieval service is selected.
  4. Evidence is summarized.
  5. The response is returned to Slack.

Slack searches use Slack's Real Time Search API.

GitHub and Jira use OpenAI's native MCP support to communicate directly with GitHub's and Atlassian's official remote MCP servers, eliminating the need to build and maintain custom connector services.

A lightweight in memory conversation store retains only enough context to support short conversational follow ups.


Challenges I ran into

The biggest challenge was making three completely different retrieval systems feel like a single conversational experience.

Some of the more interesting problems included:

  • configuring Jira authentication through Atlassian's MCP server
  • learning the quirks of Jira Query Language
  • improving Slack RTS query quality
  • handling Slack user mentions consistently
  • supporting conversational follow up without introducing stale context

Each platform behaved differently, so a lot of time went into making the experience feel seamless.


Accomplishments that I'm proud of

Some highlights I'm particularly proud of:

  • One conversational experience across Slack, GitHub, and Jira.
  • Native integration with GitHub's and Atlassian's official MCP servers.
  • Authorization checks before every search.
  • Evidence first responses with links back to the original source.
  • No employee ranking, scoring, or productivity surveillance.

What I learned

This project taught me a lot about building practical AI agents.

Some of the biggest lessons were:

  • MCP makes integrations dramatically simpler, but every server behaves differently.
  • Person resolution across Slack, GitHub, and Jira is more difficult than it first appears.
  • Conversational memory is easy to get almost right and surprisingly difficult to get completely right.
  • Good AI experiences come from thoughtful system design, not just good prompts.

What's next for Open Ledger

Open Ledger was designed to grow beyond its initial integrations.

Some of the next areas I'm excited about include:

  • Confluence integration
  • Additional workplace tools
  • Better conversational follow up
  • Using Slack reactions as another signal for peer recognition
  • Richer evidence gathered across multiple sources

The long term vision is simple:

Recognize impact. Backed by evidence, not memory.

Built With

  • atlassian
  • github
  • github-api
  • gpt-4.1
  • jira
  • jql
  • mcp
  • model-context-protocol
  • oauth
  • openai
  • openai-responses-api
  • pydantic
  • python
  • rest-api
  • rovo
  • slack
  • slack-api
  • slack-bolt
  • slack-real-time-search
  • socket-mode
Share this project:

Updates