An experimental framework that leverages Generative AI to automatically generate Design System-coherent, personalized user interfaces for an enterprise cybersecurity platform. The system creates customized dashboards tailored to user roles, organizational contexts, and real-time security situations while maintaining visual consistency and design standards.
- AI-Powered Personalization: Automatically generates dashboards based on user role, preferences, and behavior patterns
- Design System Compliance: Ensures all generated interfaces adhere to predefined design guidelines
- Real-Time Adaptation: Dynamically adjusts UI based on current security posture and incident data
- Multi-Framework Support: Available implementations for both Vuetify and Quasar frameworks
- Fallback Mechanisms: Seamlessly switches to static dashboards if AI services are unavailable
- User Feedback Loop: Collects user interactions to continuously improve dashboard generation
- Node.js (v16 or higher)
- npm or yarn
- AWS Bedrock access credentials (for AI generation features)
All commands should be executed from the src\root directory.
cd apps\Renderer_beta
npm installnpm run devThe application will be available at: http://localhost:5173/
cd demo\'Toolbox demo quasar'\'toolbox app'\
npm installnpm run devThe application will be available at: http://localhost:9000/#/
To enable AI-powered layout generation, you must configure the AWS Bedrock client.
Create a .env file in the src\root\bedrock-client\ directory with the proper variables:
AWS_ACCESS_KEY_ID=[YOUR_AWS_ACCESS_KEY_ID]
AWS_SECRET_ACCESS_KEY=[YOUR_AWS_SECRET_ACCESS_KEY]
AWS_REGION=[YOUR_AWS_REGION]
KNOWLEDGE_BASE_ID=[YOUR_KNOWLEDGE_BASE_ID]
DATA_SOURCE_ID=[YOUR_DATA_SOURCE_ID]
MODEL_ID=[YOUR_MODEL_ID]
BUCKET_ID=[YOUR_BUCKET_ID]CRITICAL SECURITY NOTICE: Currently used credentials are for development/demo purposes only. DO NOT share or commit these credentials to version control. In production environments, use proper secrets management solutions.
In a separate terminal window:
cd src\root\services\orchestrator
node server.mjsThe orchestrator server must be running for AI layout generation to function.
- Use the configuration form to select desired dashboard components
- Customize widget placement and data sources
- Real-time preview of generated layouts
Load user behavior and description files to automatically generate personalized dashboards:
Sample files location:
- User Behavior:
src/root/demo/Toolbox demo quasar/toolbox app/src/userBehavior/userBehavior1.json - User Description:
src/root/demo/Toolbox demo quasar/toolbox app/src/userDescriptions/userDescription.json
The system analyzes user patterns (e.g., economics student profile) and generates appropriate dashboard layouts.
Upload user behavior JSON files to generate personalized dashboards.
To demonstrate and test dynamic chart type selection and adaptation:
Step 1: Update LLM Plan
# Copy demo chart configuration
cp public/DemoChartsPlan.json public/llm-plan.jsonStep 2: Update Widget Registry
# Copy chart demo registry
cp src/core/widget-registryChartDemo.ts src/core/widget-registry.tsThis configuration showcases the system's ability to:
- Dynamically select appropriate chart types
- Adapt visualizations based on data characteristics
- Maintain design system consistency across different chart types
src/
├── apps/
│ └── Renderer_beta/ # Vuetify implementation
├── demo/
│ └── Toolbox demo quasar/ # Quasar implementation
├── services/
│ └── orchestrator/ # AI orchestration server
└── bedrock-client/ # AWS Bedrock integration
- Renderer: Front-end application that displays generated dashboards
- Orchestrator: Backend service coordinating AI requests and dashboard generation
- Bedrock Client: Integration layer with AWS AI services
- Widget Registry: Catalog of available UI components and their configurations
Users can generate AI-generated dashboard view:
- Locate the dashboard generating button in the interface
- Select "DGenerate" for AI-powered personalization
The system respects previously ignored security incidents:
- Ignored incidents are automatically excluded from AI-generated dashboards
- Users maintain clean, focused views on relevant security events
- Ignore preferences persist across sessions
- groups the incidents
This project was completed as an academic-industry collaboration (2025-2026). The original development team is no longer actively maintaining this repository.
This is now a community-maintained project. We welcome and encourage:
- Bug reports and fixes
- Feature suggestions and implementations
- Documentation improvements
- Forks for specialized use cases
- New maintainers
Please read our Contributing Guidelines for details on:
- Reporting issues
- Submitting pull requests
- Code standards and testing requirements
- Development setup
You are welcome to fork this project for your own use. If you fork:
- Maintain Attribution - Keep the MIT license and credit original authors
- Share Improvements - Consider contributing valuable changes back
- Rename if Heavily Modified - Avoid confusion with the original project
See Contributing Guidelines for detailed forking guidelines.
We are looking for active maintainers. If you are interested in helping maintain this project, please open an issue expressing your interest and outlining your vision for the project.
Since the original team has moved on, community support is crucial:
- Help answer questions in Issues
- Review pull requests
- Share your knowledge and experiences
- Consider becoming a maintainer
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by students at Poznań University of Technology as a part of a bachelor project (2025-2026).
Bachelor Students:
- Agnieszka Maleszka
- Paweł Mazurkiewicz
- Kacper Paluch
- Maciej Szukało
-
Developed within the Software Development Studio course, part of the Master's degree program at Poznań University of Technology.
Master Students:
- Szymon Haj
- Katarzyna Piechowiak
- Marcin Stecewicz
-
Academic supervision by Sylwia Kopczyńska, PhD
-
Conducted in collaboration with an external industry project partner
- Enhanced AI model training capabilities
- Expanded design system support
- Multi-language interface support
- Advanced analytics and reporting
- Community contribution guidelines for open-source release