I need a browser-based application for my music school that lets teachers track every student’s progress across five curriculum levels. Each level breaks down into three areas—technique, theory, and performance—containing roughly 10 – 20 individual skills apiece. Core workflow • Teachers log in (admin role) and create or select a student account (student role). • All data is entered directly inside the app—no imports or external integrations are required at this stage. • When a skill score is updated the system must save the change with an automatic timestamp so we can view a complete audit trail later. Visualization For each student I want an on-screen spider / radar chart that compares the “target” score we set against the “actual” score currently achieved in every area. Ideally the chart refreshes instantly after an update, and I can export it as an image or PDF for reports. Libraries such as Chart.js, D3, or Highcharts are fine as long as they render crisply on desktop browsers. Key features to build - Role-based authentication (teacher/admin vs. student) - Intuitive desktop interface for manual data entry and editing - Flexible data model that stores level, area, individual skills, scores, and timestamps - Dynamic spider chart with print / download option - Basic dashboard: list of students, filter by level, quick progress summary Acceptance criteria 1. A teacher can add a new student, assign level, and record first scores in one session without errors. 2. Any score change is visible in the history log with exact timestamp. 3. Radar chart correctly shows both target and actual values and updates on save without page reload. 4. A student account can view—but not edit—his or her own scores. 5. The entire app loads and functions in the latest versions of Chrome, Firefox, Safari, and Edge on desktop. If you can propose a solid tech stack (for example React + Node/Express + PostgreSQL or Django + Chart.js) and deliver clean, well-commented code, I’d love to hear your approach and estimated timeline.