A lightweight GenAI-powered utility for collecting, organizing, and summarizing team updates for leadership reporting.
Team Updates Aggregator streamlines the process of gathering team progress reports and automatically generates executive summaries using AI. The application provides real-time markdown rendering and supports multiple AI providers for flexible deployment.
- Team Update Collection: Structured input for team name, reporting period, and update content
- AI-Powered Summarization: Generates executive summaries with key highlights, themes, and action items
- Real-time Streaming: Live display of AI-generated content as it's created
- Multiple AI Providers: Supports OpenAI, Anthropic, and OpenRouter APIs
- Persistent Storage: Local storage for updates and AI configuration
- Responsive Design: Bootstrap-based UI that works across devices
- Markdown Support: Professional formatting with marked.js
- Frontend: Vanilla JavaScript (ES6+), HTML5, CSS3
- UI Framework: Bootstrap 5.3.2
- Template Engine: lit-html 3.1.0
- Markdown Rendering: marked.js 9.1.6
- AI Integration: bootstrap-llm-provider, asyncllm
- Icons: Bootstrap Icons 1.11.2
- Clone or download the repository
- Open
index.htmlin a modern web browser - No build process or dependencies required
- Click "Configure LLM" to set up your AI provider
- Enter your API base URL and API key
- Configuration is saved locally for future sessions
- Fill in the team name, reporting period, and update content
- Click "Add Update" to save the information
- Updates are stored locally and displayed in the current updates panel
- Add one or more team updates
- Click "Generate Summary" to create an AI-powered executive summary
- The summary appears with real-time streaming as content is generated
- Summaries include key highlights, cross-team themes, strategic insights, and action items
- View Updates: All current updates are displayed with team name, date, and content preview
- Remove Updates: Click the trash icon to remove individual updates
- Clear All: Remove all updates at once with confirmation
The application supports multiple AI providers through the bootstrap-llm-provider library:
- OpenAI:
https://api.openai.com/v1 - Anthropic:
https://api.anthropic.com/v1 - OpenRouter:
https://openrouter.ai/api/v1 - Custom: Any OpenAI-compatible API endpoint
updates-poc/
├── index.html # Main application interface
├── script.js # Application logic and AI integration
├── README.md # Project documentation
└── LICENSE # MIT license
- Chrome 80+
- Firefox 75+
- Safari 13+
- Edge 80+
Requires support for ES6 modules, async/await, and modern JavaScript features.
- AI provider API key with chat completion capabilities
- Streaming support for real-time content generation
- OpenAI-compatible API format
All data is stored locally in the browser using localStorage:
- Team Updates: Saved as
team-updateskey - AI Configuration: Saved as
llm-configkey - No server required: Fully client-side application
The application uses modern JavaScript patterns:
- Functional programming approach
- ES6 modules and destructuring
- Async/await for API calls
- Template literals and arrow functions
- Minimal DOM manipulation with lit-html
Modify Bootstrap classes in index.html or add custom CSS for appearance changes.
Edit the prompt template in script.js to customize summary generation format and content.
Replace localStorage calls with your preferred storage solution for persistence.
- Lightweight: No external dependencies beyond CDN resources
- Fast loading: Minimal JavaScript bundle size
- Efficient rendering: lit-html templates for optimized DOM updates
- Streaming: Real-time content display reduces perceived latency
- API keys are stored in browser localStorage
- All processing happens client-side
- No data transmission to third parties except configured AI provider
- Consider key rotation and secure storage for production use
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly across browsers
- Submit a pull request
For issues, questions, or feature requests, please create an issue in the project repository.
- Initial release with core functionality
- AI-powered summary generation
- Real-time streaming support
- Multi-provider AI configuration
- Local storage persistence