Project Workflow
Activity 1: Project Setup and Architecture
Activity 1.1: Select and confirm the generative AI model (IBM Granite) and necessary
libraries (Transformers, Accelerate, BitsAndBytes, PyTorch).
Activity 1.2: Define the system architecture: Flask backend, HTML/CSS frontend, AI model
integration, and data handling (in-memory history, planning for database persistence).
Activity 1.3: Set up the development environment, installing Python, Flask, and all required
AI/ML libraries and dependencies.
---
Activity 2: Backend Core Functionalities
Activity 2.1: Implement core Flask routes (/, /about, /services, /chat, /dashboard, /login,
/logout).
Activity 2.2: Develop user authentication logic for login/logout and session management.
Activity 2.3: Integrate the IBM Granite model loading and text generation functionality.
Activity 2.4: Implement helper functions for AI response generation, sentiment analysis, and
data formatting.
---
Activity 3: Data Handling and Logic
Activity 3.1: Set up in-memory storage for chat history, sentiment, and concerns (plan for
database integration for persistence).
Activity 3.2: Implement logic for processing user input (questions, feedback, concerns) and
updating the data storage.
Activity 3.3: Develop logic for fetching and aggregating data for the dashboard view (e.g.,
sentiment counts, recent issues).
---
Activity 4: Frontend Development
Activity 4.1: Design and develop HTML templates for all project pages ([Link],
[Link], [Link], [Link], [Link], [Link]).
Activity 4.2: Implement styling using [Link] and inline CSS for page layout and
appearance.
Activity 4.3: Create forms for user input (chat, feedback, concern, login) and ensure correct
data submission.
Activity 4.4: Display dynamic content from the backend in the HTML templates (AI
responses, dashboard data, error messages).
---
Activity 5: Integration and Testing
Activity 5.1: Integrate the frontend templates with the Flask backend routes.
Activity 5.2: Test all user flows, including login, logout, page navigation, chat interaction,
feedback/concern submission, and dashboard viewing.
Activity 5.3: Debug any errors encountered in the backend or frontend.
---
Activity 6: Refinement and Deployment
Activity 6.1: Refine UI/UX based on testing and feedback. Optimize code for performance,
especially AI inference.
Activity 6.2: Prepare for deployment (configure server environment, set up a persistent
database if planned).
Activity 6.3: Deploy the application to a hosting platform.
Activity 6.4: Provide documentation and user guides.
---
Execution Steps (from assistant's guidance):
1. Choose IBM Granite model and load it with Transformers + PyTorch.
2. Define architecture: Flask backend, HTML/CSS frontend, in-memory storage.
3. Install dependencies: pip install flask torch transformers accelerate bitsandbytes
4. Implement Flask routes, authentication, and AI helpers.
5. Use in-memory dict for chat, sentiment, concerns.
6. Create HTML templates + CSS, integrate Jinja dynamic content.
7. Test workflows with flask run --debug.
8. Refine UI/UX, optimize inference, prepare deployment (Render/IBM Cloud).
9. Switch storage to database for persistence (SQLite/Postgres).
10. Provide README, API documentation, and user guides.