Javier Raut
Back to Projects
schoolwork

AdaptiveDo

A User Modelling Proof-of-Concept, AdaptiveDo is a responsive task management application built with Next.js and TypeScript. It demonstrates adaptive interface design by automatically adjusting the UI based on user workload, overdue tasks, and user experience level.

Technologies

Next.jsTypeScriptVercel

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, or PANIC cognitive 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

screenshot-2026-01-22_22-02-28.png

Beginner Mode

image.png

Intermediate Mode

image.png

Expert Mode

image.png image.png

Focus Mode

image.png