In today’s fast-paced software development landscape, planning projects efficiently and effectively is paramount. Manual planning is time-consuming and error-prone, especially for complex projects. To tackle this, I built the AI Project Planning Team, an intelligent project planning tool that leverages the power of Mistral AI and CAMEL-AI frameworks.
This Streamlit-based application helps teams generate detailed technical architecture designs and project timelines interactively. I’ll walk you through the design, implementation, and key features of this project, and show how I used the latest AI tools to make it smarter and more practical.
Why Build an AI-Powered Project Planner?
Traditional project planning requires a lot of domain knowledge and experience. Automating parts of this with AI can help:
- Quickly generate scalable and maintainable system architectures
- Recommend modern technology stacks and frameworks
- Create realistic project timelines based on project type and team size
- Allow easy editing and exporting of project plans as PDFs
By combining state-of-the-art language models with a friendly UI, this project aims to democratize expert-level planning assistance for teams of all sizes.
Tech Stack and Prerequisites
The project uses:
- Python 3.10+ as the programming language
- Streamlit for the web-based user interface
- CAMEL-AI Framework to orchestrate AI agents (Technical Architect and Timeline Planner)
- Mistral AI large language model as the core engine
- xhtml2pdf and Jinja2 for PDF report generation
- Markdown rendering for clean display of AI-generated content
You’ll need a Mistral AI API key to run the app, which you can get from the Mistral AI Console.
How It Works
1. User Inputs Project Details
In the sidebar, users enter:
- Project name and description
- Project type (Web App, Mobile, Desktop, API Service, Data Pipeline, Other)
- Preferred technology stack (optional)
- Team size
- Start date
2. AI Agents Generate Outputs
Upon clicking Generate Project Plan, two specialized AI agents are triggered:
- Technical Architect: Designs the system architecture, recommends technologies, and considers scalability and security.
- Project Timeline Planner: Breaks down the project into phases, milestones, dependencies, and realistic deadlines.
These agents leverage Mistral AI’s LLM capabilities orchestrated by CAMEL-AI for contextual and iterative planning.
3. Interactive Review and Editing
Generated architecture and timeline are displayed in the app with options to edit text directly. This makes it easy to refine AI outputs before finalizing.
4. PDF Export
Users can download a professional PDF report containing all project details, architecture, and timeline. The PDF supports rich formatting with tables and markdown-rendered content.
Building the System: Key Components & Code
Here are some notable parts of the implementation:
- Streamlit app structure with sidebar inputs and state management for user inputs and AI-generated content.
- Use of CAMEL-AI’s
ChatAgent
class to create specialized agents with system messages defining their roles. - Rendering AI responses as Markdown in the UI and converting them to HTML for PDF generation using Jinja2 templates.
- PDF creation with xhtml2pdf, handling complex layout like tables and styled text.
Here’s a high-level snippet showing how agents are set up and invoked:
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.configs import MistralConfig
from camel.types import ModelPlatformType, ModelType
mistral_model = ModelFactory.create(
model_platform=ModelPlatformType.MISTRAL,
model_type=ModelType.MISTRAL_LARGE,
model_config_dict=MistralConfig(temperature=0.0).as_dict(),
)
architect = ChatAgent(
system_message=(
"You are a Technical Architect. Your role is to:\n"
"1. Design scalable and maintainable system architecture\n"
"2. Recommend appropriate technologies and frameworks\n"
"3. Define key components and their interactions\n"
"4. Consider security, scalability, and performance\n"
"Be specific and practical."
),
message_window_size=10,
model=mistral_model,
)
planner = ChatAgent(
system_message=(
"You are a Project Timeline Planner. Your role is to:\n"
"1. Break down the project into phases and milestones\n"
"2. Create a realistic timeline with deadlines\n"
"3. Consider team size and complexity\n"
"4. Identify critical path and dependencies\n"
"Format timeline clearly."
),
message_window_size=10,
model=mistral_model,
)
project_context = f"""
Project Name: {project_name}
Project Type: {project_type}
Team Size: {team_size}
Start Date: {start_date}
Preferred Technologies: {', '.join(tech_stack) if tech_stack else 'Not specified'}
Project Description:
{project_description}
"""
arch_resp = architect.step(f"Design the technical architecture for this project:\n\n{project_context}")
timeline_resp = planner.step(f"Create a detailed project timeline for this project:\n\n{project_context}")
architecture_markdown = arch_resp.msgs[0].content
timeline_markdown = timeline_resp.msgs[0].content
Demo: What Does the Output Look Like?
Project Timeline Sample
| Phase | Duration | Milestones |
|----------------|-----------|----------------------------------|
| Requirements | 2 weeks | Finalize requirements document |
| Design | 3 weeks | Architecture design, wireframes |
| Development | 6 weeks | Implement features, write tests |
| Testing & QA | 2 weeks | Unit, integration, user testing |
| Deployment | 1 week | Setup staging and production |
Final Thoughts and Future Improvements
The AI Project Planning Team demonstrates how modern LLMs and agent orchestration frameworks can transform routine but critical tasks like project planning. By making this accessible through a clean UI, it empowers developers and managers to jumpstart projects confidently.
Possible future enhancements include:
- Adding cost estimation and resource allocation AI agents
- Integrating with project management tools like Jira or Trello
- Supporting multiple languages and frameworks customization
- More advanced timeline dependency visualizations
If you’re interested, the full code is available on GitHub. Feel free to explore, contribute, or raise issues!
Thanks for reading! If you try this tool or build on it, I’d love to hear your feedback or questions.
Made with ❤️ using CAMEL-AI and powered by Mistral AI.
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.