Inspiration
Inspired by my day-by-day Senior Data Scientist job, I find myself often into the process of estimating a new project plan after the requirements gathering phase. Since it is a highly automatable task and sometimes boring one, I decided to create a tool to help me do that in the future.
What it does
Starting from a client/business need it creates:
- Work Breakdown Structure (WBS): the breakdown of all the tasks to do for the project
- Dependency graph of the tasks (i.e. a DAG of the tasks and their dependencies), in order to let the Project Manager quickly understand the most critical tasks
- The GANTT chart (both as interactive Plotly and Excel) with all the tasks and their start/end dates
- The team structure: a list of people needed to implement the project. Each person has a role, a desired seniority and a list of skills
- Economics: the overall cost of the project splitted in personnel and non-personnel costs.
- Personnel costs: starting from the list of roles it uses salary.com data to gather the average annual salary in the USA for each role and calculated the overall cost of the team (it takes into account more than one person per role if any).
- Non-personnel costs: it asks the LLM to estimate it. In an improved version I plan to leverage some existing data (e.g. via RAG).
- Trello Board: with all of the previous information it uses the official Trello APIs to create a new board for the project, as well as a new To Do list that it fills with a card for each task. Each card gets the estimated start and end dates, as well as the people who will work on that specific task (as a description for the Trello card).
Most of the previous points have an LLM agent that is using one or more tools/functions.
How we built it
Built with streamlit for the WebUI, Plotly and Openpyxl for the GANTT chart, Graphviz for the depdendency graph, scrapy for the salary.com data, Trellos API for the Trello integration.
Challenges we ran into
Creating a visually readable and not messy dependency graph was the first big issue I encountered. Another one was the visually useful GANTT chart, as well as exploiting tasks coming from the LLM into useful excel. For the economics I had some problems finding APIs, so I ended up creating a custom script to search a role and scrapy the average salary, it uses async functions so it is pretty fast. I had to do a lot of prompt eng, since the model was sometimes wrongly calling the tools.
Accomplishments that we're proud of
It is creating reasonable outputs for pretty big projects, as well as automating the part of creating a trello/jira board with LLM speeds up the project manager work a lot!
What we learned
Function calling is a beast, but it needs to come from a carefully crafted and unambiguous prompt.
What's next for AI Agentic Project Planner
I'm thinking about a lot of improvements such as:
- Agentic RAG to leverage past estimated projects and customize each output based on how the project manager using the tool is get used to.
- Create a more detailed GANTT chart so that it is useful to track mendays and the status of the project once started.
- Integrate the economics with a robust external API (e.g. glassdoor) and not rely on scraping anymore.
- Fill the trello board with all of the other useful infos such as real members (e.g. send email to a user in order to join the board), labels, detailed task checklist (also LLM generated), attachments, new Trello lists to categorize the tasks.
- Automatic PowerPoint presentation generation, in order to create automatically the Statement of Work (SOW) for the project.
- Automatic economic offer contract generation, to automatically generate a proposal document to send to the client. .... (I can go on indefinitely :P )
Log in or sign up for Devpost to join the conversation.