INITIALIZING_RUNTIME
MEM: OKNET: OK
PROJECT_MODULE
2026
React 18ViteZustandTailwind CSSReact RouterReact Hot ToastRadix UI

EnrollMate

Intelligent course timetable builder with a frontend-first workflow.

PROJECT_DETAILS

Overview

EnrollMate is a client-side intelligent timetable planning tool designed to help students build, visualize, and export personalized course schedules with zero backend dependency. The system converts a raw list of available courses into a clean, conflict-free, exportable timetable - entirely inside the browser.

Problem Statement

Most students face the same recurring pain every enrollment cycle:

  • Choosing compatible courses from an overwhelming, unstructured list
  • Discovering slot conflicts only after finalizing selections
  • No way to filter schedules around preferred free days or time blocks
  • Institutional portals with broken or missing export options EnrollMate addresses these challenges using client-side conflict intelligence and a structured selection workflow.

System Architecture

EnrollMate follows a frontend-first, zero-server architecture consisting of:

  • Data Layer – Browser-based course input via paste workflow or extension injection
  • App Runtime – React 18 + Vite for fast, component-driven rendering
  • Processing Layer – Client-side conflict detection and filter logic
  • Persistence LayerlocalStorage via Zustand persistence middleware

Repository Structure

TXT
EnrollMate/ ├── frontend/ React application │ ├── src/ Components, pages, state, utilities │ ├── public/ Static assets │ └── README.md Frontend-specific documentation ├── design-md/ Design reference packs │ └── <brand>/README.md Brand-specific design guide ├── README.md Project root documentation └── LOCAL-TESTING-GUIDE.md Local testing instructions

Timetable Decision Engine

The conflict and filter engine processes user selections and produces actionable timetable outputs.

Inputs

  • Selected course list
  • Preferred free days
  • Preferred free time windows
  • Compatibility rules

Outputs

  • Validated, conflict-free timetable
  • Conflict warnings for overlapping slots
  • Filtered course recommendations
  • Export-ready timetable view The decision logic runs entirely on the client - no API calls, no latency, no data leaving the browser.

Frontend Flow

The frontend provides:

  • Course data input via paste or auto-injection
  • Search and selection interface with conflict feedback
  • Filter controls for days, times, and compatibility
  • Visual timetable grid with slot mapping
  • PDF export and download action The UI state is fully reactive and updates instantly on every selection change.

Data Storage & Persistence

Zustand with localStorage persistence is used for:

  • Storing selected course state across sessions
  • Preserving filter preferences
  • Maintaining timetable configuration without re-entry This ensures a seamless experience with no login requirement and no external storage dependency.

Data Flow

TXT
Paste Course Data → Frontend Application → Conflict Detection Engine → Filter Processing → Timetable Visualization → PDF Export

Key Functional Features

  • Intelligent conflict detection based on overlapping day/time slots
  • Course selection with real-time timetable visualization
  • Filtering by free days, free time windows, and compatibility rules
  • Export-ready timetable view with PDF download
  • Persistent local state — selections survive page refreshes
  • Zero backend dependency — fully offline capable

Security Considerations

  • No user data transmitted to any external server
  • No authentication layer — no credentials stored
  • All course data remains local to the user's browser
  • No sensitive data exposed or persisted beyond localStorage

Extensibility

The system is designed to support future enhancements such as:

  • Browser extension for one-click institutional course data injection
  • Multi-semester comparison and planning views
  • Shareable timetable links via URL-encoded state
  • Integration with institutional course catalog APIs
  • Enrollment deadline notifications and reminders

Summary

EnrollMate transforms the chaos of course selection into a structured, conflict-aware, exportable timetable - with no servers, no logins, and no friction. The platform is built to run fast, work offline, and stay entirely in the student's control.

END_OF_MODULE