A full-stack AI-powered project management application with Spring Boot backend featuring multi-agent orchestration and React TypeScript frontend with real-time streaming capabilities.
See the AI Project Manager in action! Watch how AI agents collaborate to break down projects, assign tasks, and generate solutions in real-time.
ai-pm-app-demo.mp4
Note: Click the video above to see the full demo showcasing:
- Creating an AI-powered project
- Multi-agent task delegation
- Real-time streaming responses
- Beautiful Markdown rendering
- Token usage tracking
Agent Projects Dashboard - Multi-Agent Collaboration
View all AI-powered projects, track tasks, and see which specialist agents are assigned to each task.
Real-Time Streaming Execution
Watch AI agents work in real-time with buffered streaming, beautiful Markdown rendering, and token usage tracking.
To create a new AI-powered project, simply enter your project vision and let the AI agents handle the rest!
- Project Manager Agent - Analyzes requirements and breaks down projects into tasks
- Technical Lead Agent - Defines architecture and technical specifications
- Software Engineer Agent - Implements features and writes code
- DevOps Engineer Agent - Sets up infrastructure and CI/CD pipelines
- Intelligent Task Delegation - Automatic assignment of tasks to appropriate specialists
- Buffered Streaming - Server-side buffering for 50-100x fewer UI re-renders
- Live Progress Updates - Watch AI agents work in real-time
- Markdown Rendering - Beautiful formatting of AI responses with code highlighting
- Configurable Performance - Tune buffer size and timeout for optimal performance
- Material-UI Components - Professional, responsive design
- Redux State Management - Predictable state with Redux-Saga
- TypeScript - Full type safety across frontend
- Markdown Support - Rich text editor for notes and documentation
- Multi-Project Support - Manage multiple AI-powered projects
- Task Tracking - View and execute tasks with real-time status updates
- Token Usage Tracking - Monitor AI usage per task and project
- Persistent Storage - PostgreSQL database with JPA
- Spring Boot 4.0.2 - Modern Java framework
- Spring AI - LLM integration with streaming support
- PostgreSQL - Relational database
- Spring Data JPA - Database abstraction
- Spring WebFlux - Reactive streaming
- MapStruct - Entity/VO mapping
- Lombok - Boilerplate reduction
- React 18 - Modern UI library
- TypeScript - Type-safe JavaScript
- Vite - Lightning-fast build tool
- Redux + Redux-Saga - State management with side effects
- Material-UI (MUI) - React component library
- Heroicons - SVG icon library
- ReactMarkdown - Markdown rendering with syntax highlighting
- Axios - HTTP client
- LM Studio - Local LLM server (default)
- OpenAI Compatible API - Works with any OpenAI-compatible endpoint
- Model: mistralai/devstral-small-2-2512
- Streaming Support - Real-time response generation
- Token Tracking - Usage monitoring and optimization
- Java 21 - JDK 21 or higher
- Maven 3.6+ - Build tool
- PostgreSQL - Database server
- Docker (optional) - For containerized PostgreSQL
- LM Studio - For local LLM (or any OpenAI-compatible API)
- Node.js 20+ and Yarn are automatically installed by Maven
# Start PostgreSQL with Docker
docker-compose up -dThe compose file is pre-configured with:
- PostgreSQL 16
- Database:
project-db - User:
superuser - Password:
pa55ward - Port:
5432
# Create database
createdb project-db
# Update credentials in application.yaml- Download and install LM Studio
- Download the model:
mistralai/devstral-small-2-2512 - Start the local server on port
1234 - API endpoint:
http://localhost:1234
Update application.yaml:
spring:
ai:
openai:
base-url: https://api.openai.com
api-key: YOUR_API_KEYmvn clean installThis will:
- β Install Node.js 20.11.1 and Yarn 1.22.19 (if not present)
- β Install frontend dependencies
- β Build the React application with Vite
- β Compile the Spring Boot application
- β Run tests
- β Package everything into a single JAR
mvn clean install -DskipTestsmvn clean install -DskipTests -Dfrontend.skip=truecd src/main/frontend
yarn install
yarn buildjava -jar target/spring-boot-project-manager-0.0.1-SNAPSHOT.jarThe application will be available at http://localhost:8080
Backend:
mvn spring-boot:runFrontend (separate terminal):
cd src/main/frontend
yarn dev- Frontend:
http://localhost:3000(with hot reload) - Backend API:
http://localhost:8080
Build:
build.batDevelopment Mode:
dev.batProduction Mode:
start.batspring-boot-project-manager/
βββ src/
β βββ main/
β β βββ java/io/subbu/ai/pm/
β β β βββ agents/ # AI Agent implementations
β β β β βββ ProjectManagerAgent.java
β β β β βββ TechnicalLeadAgent.java
β β β β βββ SoftwareEngineerAgent.java
β β β β βββ DevOpsEngineerAgent.java
β β β βββ controllers/rest/ # REST API endpoints
β β β β βββ AgentRestController.java
β β β βββ services/ # Business logic
β β β β βββ AgentOrchestrationService.java
β β β βββ models/ # JPA entities
β β β β βββ ProjectEntity.java
β β β β βββ TaskEntity.java
β β β βββ repos/ # JPA repositories
β β β βββ mappers/ # MapStruct mappers
β β β βββ vos/ # Value objects
β β β βββ SpringBootProjectManagerApplication.java
β β βββ resources/
β β β βββ application.yaml # Configuration
β β β βββ static/ # Frontend build output
β β βββ frontend/ # React application
β β βββ src/
β β β βββ components/ # Reusable components
β β β β βββ Layout.tsx
β β β β βββ ContentRenderer.tsx
β β β βββ pages/ # Page components
β β β β βββ Dashboard.tsx
β β β β βββ AgentProjects.tsx
β β β β βββ Notes.tsx
β β β βββ store/ # Redux store
β β β β βββ actions/ # Action creators
β β β β βββ reducers/ # Reducers
β β β β βββ sagas/ # Redux-Saga effects
β β β β βββ api/ # API clients
β β β βββ App.tsx
β β β βββ main.tsx
β β βββ package.json
β β βββ vite.config.ts
β βββ test/
βββ docs/ # Documentation
βββ compose.yaml # Docker Compose config
βββ pom.xml # Maven configuration
βββ README.md
π‘ New to the app? Watch the demo video at the top of this README to see the complete workflow in action!
Navigate to Agent Projects and click New Project:
Example: "Build a todo mobile application"
The Project Manager Agent will:
- Analyze your request
- Break it down into specific tasks
- Assign tasks to specialist agents:
- Technical Lead β Architecture and design
- Software Engineer β Implementation
- DevOps Engineer β Infrastructure and deployment
Expand any project to see:
- β Task list with descriptions
- π€ Assigned specialist agent
- π Task status (ASSIGNED β COMPLETED)
- π― Token usage per task
Click Execute Task on any ASSIGNED task to:
- π΅ Watch real-time streaming (blue box)
- π See AI response with Markdown formatting
- β±οΈ Monitor progress with smooth updates
- β Automatically save results when complete
Completed tasks show:
- βͺ Final result (gray box)
- π Beautifully formatted Markdown
- π° Token count
- β¨ Code blocks with syntax highlighting
Edit src/main/resources/application.yaml:
app:
streaming:
buffer-size: 50 # Chunks to buffer (10-200)
buffer-timeout-ms: 500 # Max wait time (100-2000ms)Presets:
- Responsive: buffer-size: 10, timeout: 200ms
- Balanced (default): buffer-size: 50, timeout: 500ms
- Efficient: buffer-size: 100, timeout: 1000ms
spring:
ai:
openai:
base-url: http://localhost:1234
api-key: lm-studio
chat:
options:
temperature: 0.7
max-tokens: 8192
model: mistralai/devstral-small-2-2512
stream-usage: truespring:
datasource:
url: jdbc:postgresql://localhost:5432/project-db
username: superuser
password: pa55wardmvn testcd src/main/frontend
yarn testmvn verify| Metric | Before | After | Improvement |
|---|---|---|---|
| SSE Messages | 1000-2000 | 20-40 | 50-100x fewer |
| UI Re-renders | 1000-2000 | 20-40 | 50-100x fewer |
| CPU Usage | High | Low | Significantly reduced |
| Battery Life | Poor | Good | 2-3x longer on mobile |
# Check database is running
docker-compose ps
# Check LM Studio is running
curl http://localhost:1234/v1/models
# Clear and rebuild
mvn clean install -DskipTestscd src/main/frontend
rm -rf node_modules yarn.lock
yarn install
yarn build# Recreate database
docker-compose down -v
docker-compose up -d
# Wait for PostgreSQL to be ready
docker-compose logs -f postgres- Check LM Studio is running
- Verify model is loaded
- Check
application.yamlbase-url - Check browser console for errors
Comprehensive documentation available in docs/:
BUFFERED_STREAMING_IMPLEMENTATION.md- Server-side buffering detailsFRONTEND_BUFFERED_STREAMING_INTEGRATION.md- Frontend integrationMARKDOWN_RENDERING_FIX.md- Markdown rendering implementationPROJECT_LIST_ENHANCEMENT.md- UI improvementsSTREAMING_DISPLAY_FIXES.md- Streaming fixes
mvn clean package -DskipTestsThis creates: target/spring-boot-project-manager-0.0.1-SNAPSHOT.jar
java -jar target/spring-boot-project-manager-0.0.1-SNAPSHOT.jarThe Spring Boot application serves:
- Backend API at
/api/* - Frontend static files at
/*
# Build JAR
mvn clean package -DskipTests
# Create Dockerfile
# Run with docker-compose
docker-compose up- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This project is part of a learning exercise for building AI-powered full-stack applications with Spring Boot and React. Feel free to use, modify, and learn from this codebase!
We have an exciting roadmap ahead! See the full details in docs/FUTURE_ENHANCEMENTS.md.
- OAuth2 login (Google, GitHub)
- Project sharing with team members
- Real-time collaboration with WebSocket
- Comments and discussions on tasks
New specialist agents:
- QA/Test Engineer - Automated test generation
- Security Engineer - Vulnerability detection
- UX Designer - Wireframes and mockups
- Database Architect - Schema design
- Product Owner - User story creation
- Documentation Writer - Auto-generate docs
- Use GPT-4 for architecture, Claude for code, Llama for docs
- Automatic model selection based on task complexity
- Cost optimization with model fallbacks
- 40% estimated cost reduction
- Sandboxed Docker containers for running generated code
- Multiple language support (Python, JavaScript, Java)
- Real-time output capture and display
- Security isolation for safe execution
- Auto-create repositories from projects
- Push generated code to GitHub
- Create pull requests automatically
- Sync GitHub issues with tasks
- Redis caching (10x faster queries)
- Async task processing with job queues
- Database optimization and indexing
- Load balancing for horizontal scaling
- Dark mode with custom themes
- Advanced task filtering and search
- Drag-and-drop task reordering
- Real-time browser notifications
- Rich analytics dashboard with charts
- Token usage tracking and trends
- Cost forecasting and budgets
- Performance metrics dashboard
- Project velocity analysis
- ROI calculations
- API key management for automation
- Comprehensive audit logging
- Rate limiting and throttling
- SSO integration (SAML, OAuth2)
- Compliance reporting
- Jira/Trello synchronization
- Slack/Discord notifications
- Plugin system for extensibility
- REST API for custom integrations
- Webhook support
- Dark Mode (2 hours) - Most requested feature
- Task Filtering (4 hours) - Better task organization
- Cost Tracking UI (3 hours) - Display token costs
- Redis Caching (4 hours) - 10x performance boost
- Health Monitoring (3 hours) - Production readiness
- Slack Notifications (4 hours) - Team awareness
- Database Indexes (1 hour) - 5x faster queries
- Month 1: Foundation (Multi-user auth, Dark mode, Caching)
- Month 2: Collaboration (Real-time features, Comments)
- Month 3: AI Enhancement (New agents, Multi-model)
- Month 4: Integration (GitHub, Jira, Plugins)
- Month 5: Performance (Async, Load balancing)
- Month 6: Analytics (Dashboard, Reporting, PWA)
Expected Impact:
- 10x user growth
- 5x projects per user
- 40% cost reduction
- 99.9% uptime target
- 80%+ user satisfaction
For detailed implementation guides, cost estimates, and technical specifications, see:
docs/FUTURE_ENHANCEMENTS.md- Comprehensive 40+ ideas with code examplesdocs/FUTURE_ENHANCEMENTS_SUMMARY.md- Quick reference guide
- Spring AI team for LLM integration
- Material-UI for beautiful components
- LM Studio for local LLM capabilities
- React and Redux communities
This project was inspired by the excellent agent patterns and design approaches from:
- Agents Patterns by Lucas Nascimento - A comprehensive collection of AI agent architecture patterns and best practices
- Spring AI Documentation - Official documentation for Spring AI
- Spring AI GitHub Repository - Source code and issue tracking
- Spring AI Examples - Sample applications and use cases
- LM Studio - Local LLM runtime
- Material-UI (MUI) - React component library
- Redux Toolkit - State management
- Vite - Build tool
For issues and questions:
- Create an issue in the repository
- Check existing documentation in
docs/ - Review troubleshooting section above
Built with β€οΈ using Spring Boot, React, and AI


