Skip to content

ua246/learnlab

Repository files navigation

LearnLab

LearnLab is a fictional Build Week demonstration of a persistent GCSE Science learning record. It brings assessment evidence, homework, topic mastery, upcoming AQA exams and teacher updates into role-aware student, teacher and parent experiences.

It is not a grading engine and it does not use model output as the source of truth. Deterministic TypeScript calculations create the record; the optional assistants explain the permitted facts from that record.

Links: live demo · source repository · fictional demo access

The problem

Revision is often driven by scattered test marks, homework reminders and vague advice. Students do not see the specific evidence behind a suggested next step; teachers need to piece together class patterns; and upcoming assessments are not usually linked to the exact content being assessed.

LearnLab demonstrates a structured record that keeps these facts together over time. It separates demonstrated mastery from a student's own confidence, links upcoming assessments to curriculum points, and presents explainable priorities rather than invented predictions.

What is implemented

  • Student dashboard: assessment history and score trends, Paper 1/2 topic mastery, homework, upcoming exams, Year 10-to-Year 11 archive, and explainable revision priorities.
  • Teacher dashboard: class overview, subject-scoped student records, topic gaps, upcoming-exam authoring linked to AQA specification points and sub-points, and an evidence-grounded class assistant.
  • Parent dashboard: one linked student's overview, assessment history, archive and a bounded support assistant. Teacher-only and student-only updates are excluded.
  • Curriculum scope: AQA GCSE separate Biology (8461), Chemistry (8462), and Physics (8463), including Paper 1 and Paper 2 points represented in the demo dataset.
  • Tutor routes: signed fictional sessions derive the permitted student, teacher or parent context server-side. The dashboard assistants use Groq when configured; they are quota-limited and explicitly unavailable if not configured.
  • Custom GPT Action demo: a separate, read-only key-scoped API contract in docs/openapi-actions.yaml. It is intentionally for fictional Build Week data only.

Run locally

Requirements: Node.js 20.9+ and npm.

npm install
npm run dev

Open http://localhost:3000.

For a production-like local run:

npm run build
npm start

For normal local dashboard use, set a session secret in an uncommitted .env.local file:

TUTOR_SESSION_SECRET=replace-with-a-random-local-secret

The optional Groq tutor and shared demo persistence additionally require GROQ_API_KEY, UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN. See .env.example and docs/always-on-tutor.md. Never commit secrets.

Test and build

npm run lint
npm test
npm run build

Fictional demo access

All records, names, dates, scores and access codes are fabricated. They are not real credentials.

Role Example demo code Result
Student noah_williams_2009_02_16 Noah's student dashboard
Chemistry teacher priya_shah_1985_03_05 Chemistry-scoped teacher dashboard
Parent rina_patel_1981_06_20 Maya Patel's linked parent dashboard

The complete fictional list, including all students and parents, is in docs/build-week-demo-access.md. The Custom GPT Action uses its own generated, key-scoped demo access grant; do not use dashboard demo codes as a production authentication scheme.

Architecture

Role-scoped dashboard or Custom GPT Action
                ↓
Next.js App Router pages and /api route handlers
                ↓
Services: view models, validation and deterministic calculations
                ↓
Domain types + ProgressRepository
                ↓
Fictional seed data / optional Upstash shared demo record
  • src/domain/: types and mastery calculations.
  • src/services/: student, teacher and parent view models plus exam/specification logic.
  • src/data/: fictional seed data, curriculum data and the persistence seam.
  • src/app/api/: validation, role-scoped routes and tutor endpoints.
  • docs/: Action schema, curriculum index, tutor setup, privacy and demo instructions.

The demo’s topics, assessment results, homework and targets are deterministic. Topic mastery is calculated from recorded, topic-linked assessment evidence; it is not an AI judgement. The optional tutors receive only server-built, role-appropriate context and cannot alter grades, targets, mastery, homework or teacher notes.

Codex and GPT-5.6 in this Build Week project

Codex, with GPT-5.6, was used as the development agent to inspect the existing codebase, implement and review scoped changes, write regression tests, run lint/test/build validation, and prepare documentation. It helped turn the product decisions into the Next.js UI, API routes, deterministic calculations and test coverage in this repository.

The product itself does not call GPT-5.6 at runtime. GPT-5.6/Codex was used to build the project. The optional dashboard assistant is a separate Groq-backed fictional demo, and the Custom GPT is a separate Action-based experience.

Privacy and scope boundaries

  • This is a fictional Build Week demonstration only. Do not enter real pupil, parent or school data.
  • Demo access codes are convenience gates, not production authentication.
  • Dashboard navigation uses fictional role/session gates: students, teachers and parents land in their corresponding demo view, and each parent view is linked to one fictional student.
  • General dashboard API routes are prototype routes, not hardened production authorisation. The stricter server-side scopes in this repository are the dashboard tutor routes and the Custom GPT Action gateway.
  • Teacher-only and student-only notes are excluded from parent contexts.
  • The dashboard tutor derives identity and permitted record scope from its signed demo session. The browser cannot select an arbitrary student record for the tutor.
  • The Custom GPT Action is read-only and key-scoped for fictional data. It must not be used with real learner data.
  • A real deployment would require authenticated identity, consent, safeguarding review, audit logs, encryption, retention/deletion controls and a proper database. These are not implemented here.

Limitations

This is an early prototype, not a production school system. The shared demo uses fictional data and free-tier infrastructure. Groq, Upstash and Vercel availability is quota-dependent. Live classroom integrations, real authentication, production data governance and automated grading are outside this repository's scope.

For additional technical detail, see docs/architecture.md, docs/gpt-action.md, docs/always-on-tutor.md, and /privacy.

About

A Year 11 AQA GCSE Science progress dashboard for students and teachers.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors