Inspiration

When you start moving towards the senior roles, you realize that you no longer just doing what you are told to do. But pick up new initiatives or optimizations that you have to take care of, this is on top of the existing projects of the ongoing initiatives. I wanted to know how my director/VP is setting up goals for the teams in my department. To be honest, it's harder than I thought. With this solution, he/she will be able to make quick decisions and align projects with OKRs. Also, as a team member, I would like to know more about the OKRs set and the alignment that's done for the projects I'm working on.

What it does

This solution has two parts, the Forge App is geared towards top management people and the Rovo agent is for the team members and if people from top management want to give it a show, no restrictions. It aims to help the leaders better understand their team and projects and make them aware of what is going on with them. For the team members, it can help with a greater understanding on the OKRs and the alignment with the organizational goals. Since it's published for any team member, it also creates objective transparency.

  • Helps you create OKRs with just a simple text prompt
  • Save the generated OKRs as a Confluence page, CSV, or Excel
  • Check alignment of the ongoing projects with OKRs of the year
  • Check priorities of each project based on the OKRs of the year
  • Directly ask questions on the OKRs and projects with Rovo agents
  • Analytics view of things, The following metrics are shown in the dashboard, Input Tokens Used/Cost, Output Tokens Used/Cost, Total Tokens, Used/Cost, Response Time of the LLM and more...

How we built it

  • Azure OpenAI Service - Make Chat Completion API calls
  • Confluence Rest API - Access and update pages
  • Rovo Agents - Chat with the confluence page data
  • Forge App - UI and handlers for the app
  • Forge App Storage - Store the usage logs of each OpenAI call with cost
  • node.js - Building the code for Forge backend

Challenges we ran into

  • Formatting the LLMs output was a challenge - since we can't have hand-coded eliminations of characters.
  • Creating the table row format from the CSV or JSON data, the CSV output from LLM has to be converted to the Dynamic Table row format, to render in the UI
  • A lot of research on how to make React work with Forge API, Azure OpenAI calls fail in the latest version of the Forge UI toolkit, so I have to use an older version to resolve it
  • Not able to use the resolver with rovo agents functions
  • Not able to fetch data from the storage with rovo agents functions

Accomplishments that we're proud of

  • Reading the unstructured data from Confluence REST API to create a Dynamic Table in the UI
  • Creating and formatting CSV data and saving it as a table in the Confluence page
  • Logging most of the LLM metrics, completion tokens, prompt tokens and total tokens
  • Added Response time and Tokens used in the UI to make the developer aware of how much it costs for each request
  • Took less than 6 hours to implement my first Rovo agent with fetching data from Confluence Page APIs

What we learned

  • How to handle the hallucination in the data format from LLMs
  • How to format and connect with Confluence Pages
  • How to write async JS code which interacts with Azure OpenAI Service
  • How to dynamically update states based on user action
  • Calculate response time with async functions
  • How to create Rovo agent actions

What's next for Strateg AI

  • Release it to a handful of managers/directors and gather feedback on how this can be helpful
  • Move the storage of logs from Forge Storage to a more robust Database for rapid querying and analyzing
  • Create better analytics with Chats to understand how the user is using the solutions
  • Billing system to send out invoices for organizations
  • Figure out a way to get the LLM Usage Data in the Rovo agents

Built With

Share this project:

Updates