Engineering Adaptation: A User Modelling Proof-of-Concept
The Vision: Beyond the Static Interface
Our User Modelling coursework taught us about adaptive systems. For this project, we were tasked to implement Adaptive Interfaces. This is a Proof-of-Concept (PoC) designed to investigate how software can perceive a user's cognitive load and modify its entire UI to prevent burnout.
The Core: The User Model
The heart of this application is a dynamic user model that categorizes users based on two primary dimensions to deliver a personalized experience:
- Experience Level: The system tracks interactions to distinguish between Beginners (who receive onboarding and simplified layouts) and Experienced users (who gain access to "Quick Add" features and high-density views).
- Cognitive Load State: By monitoring real-time metrics—specifically task volume and deadlines—the system determines if a user is in a state of
LOW,HIGH, orPANICcognitive load.
The Feature: Intelligent "Focus Mode"
The standout achievement of this PoC is the behavior-based Focus Mode (formerly Catch Up Mode). Rather than being a static toggle, it acts as an intelligent "digital intervention":
- Predictive Triggering: If the system detects a workload of 4 or more incomplete tasks or identifies overdue items (calculated from the start of the current day), it automatically proposes a low-cognitive-load view.
- Reducing Friction: Focus Mode strips away visual clutter and highlights a single "Next Step" to help the user regain momentum without feeling overwhelmed.
Technical Architecture & Implementation
To ensure the app felt production-grade despite being an academic PoC, I leveraged a modern, type-safe stack:
- Framework: Built with Next.js and TypeScript to handle complex state transitions and ensure a robust codebase.
- State Management: Centralized via UserContext, which serves as the "brain" of the application—calculating overdue logic and user metrics on every render.
- Infrastructure: While the project is currently deployed on Vercel for ease of access, the architecture follows the same container-ready principles I apply to my self-hosted Proxmox projects, ensuring the system is ready for automated CI/CD pipelines.
The Academic Alignment
This project directly satisfies the requirements for my laboratory activity. It specifically focuses on:
- User Model Variations: Supporting Beginner, Experienced, and Behavior-based states.
- Ethical Reflection: Respecting user autonomy by prompting for changes rather than forcing them.
- Heuristic Evaluation: Utilizing a built-in Simulation Panel that allows testers to artificially "stress" the user model to observe the adaptive logic in real-time.
Photos
Onboarding for New Users
Beginner Mode
Intermediate Mode
Expert Mode