Inspiration

We all know that uneasy feeling on Sunday evening: We're already worrying about the coming workweek. What are the most important tasks? What should I do and when? When are the deadlines? With an AI-driven app for Jira, we want to achieve a better work-life balance for all users. Work should be fun again. Because often the most difficult thing starts before the actual work: prioritization. Our app takes this work off your hands and suggests a work plan that you can customize. This leaves you more time for the actual work, and you can fully enjoy your free time and weekends.

What it does

Jira AI Planner is an advanced task management application designed to streamline your Jira project activities. This AI-driven solution takes your backlog, analyzes it, and applies best prioritization and time management practices to identify the best schedule and even the specific hours issues should be tackled at.

The system calculates a user's daily capacity based on customizable parameters such as day start, day end, break start, and break end times. The 'Run AI scheduler' button triggers an AI prompt that incorporates inputs from these selectors to optimize the task sequence, dynamically updating the entire timeline.

The visual timeline representation is a centerpiece of the app, displaying a single day's schedule divided into hours, with each hour further segmented into four quarters, allowing for precise time measurement in 15-minute intervals. Tasks are presented in a card format, featuring essential details like issue key and truncated issue summary (up to 20 symbols). The app efficiently filters tasks based on the 'Project Selector' and focuses on those in 'To Do' and 'In Progress' status categories, solely considering issues assigned to the 'Current User' and having non-zero original estimates.

If you prefer to view your tasks in the Eisenhower Matrix (the typical case is when you are not using original estimates for your issues), feel free to switch the view and rune the AI scheduler again. Please note that the Eisenhower method does not build a schedule for you. Instead, it can be used to prioritize your work regardless of the "Original estimate" you have in your issues.

How we built it

For this venture into AI, we adopted the OpenAI API to bring AI capabilities to our app. We developed the application with a Custom UI on Forge, utilizing React for the implementation.

Yet, we encountered a significant hurdle. The OpenAI API typically takes approximately 40 seconds to furnish results, while Forge's waiting limit is around 20 seconds. In response, we developed a façade for handling the long-polling results, overcoming this discrepancy. _ See attachment: AI facade design. _

Challenges we ran into

  • Time. Time was definitely our toughest opponent in this project. Just start with, we had 20+ ideas to go through before we started. Without Jira Product discovery we won’t even finish with selecting the idea to implement!
  • It was our first experience creating an AI-driven application, presenting us with a unique set of challenges as we entered a domain of knowledge in which we lacked experience.
  • We initially grappled with how to structure our interactions with AI. Understanding the optimal approach for a structured and repeatable process took some time.
  • The format for sending AI requests was a source of uncertainty, as we needed to ensure that our communication with AI would be consistent and reliable.
  • We were concerned about receiving responses from the AI that were making sense and repetitive from the natural, human-centered point of view, as this was crucial for the app to bring value.

Accomplishments that we're proud of

  • Implementing this app within this new team in close collaboration within a short time
  • We accomplished a hard prompting exercise, and learned in how many ways AI may misinterpret inputs received from humans. Now we truly understand why we should always stay alert and responsible when working with AI
  • We created a AI-driven app with no previous experience!
  • We stepped out of our comfort zones, tried out other professions and shared work responsibilities to expand our knowledge
  • In the end, we’re really proud of the result of our project because we believe, Jira AI Planner can really help reduce stress

What we learned

We learned a lot of things the hard way, actually.

  • Next time, let’s start the development a bit sooner. Coding at weekends is not the funniest thing.
  • For instance, it was too late when we understood it is better to use OpenAI Function calling than legacy prompt-driven JSON generation. Our prompt to make sure OpenAI API will return a JSON object looked like this: “Without any comment, only provide an RFC8259 compliant JSON response:[{JSON STRUCTURE HERE}]" surrounded by a few rules - sentences to make sure AI will actually return JSON in the format we need.
  • We now know a LLM (Large Language Model) can take that long to respond in API mode compared to typical web-browser chat mode.
  • OpenAI API can help to create apps in a short time without training own model
  • We also learned LLMs are bad at math. We actually knew it, but we did not know HOW bad they are. A screenshot below is a bright example:

_ See attachment: LLM issues _

AI literally miscalculated: The issue is due in the next sentence after actual calculation. An important lesson learned: perform as much math as possible in-app; do not delegate that to AI.

What's next for TODO

The current version is an MVP. We already have great features on our roadmap:

  • Customizable user availability calendar which will allow you to use AI help for long-term planning by filling in your personal days off, multiple breaks and many more!
  • Integration with external calendars, and import of events, not only Jira issues.
  • Back-in-time analysis of issues you worked on to help you estimate new issues, identify the best productivity time slots for issues of certain types based on your preferences.
  • Features that allow users to add more context for AI analysis can help make more informed decisions. One approach we want to try is creating a secure way to let AI understand the summary of an issue without the risk of sensitive data leaks.

Built With

Share this project:

Updates