Project timeline

17 weeks, three overlapping tracks, handover woven through

Contract: ~17 weeks, 2026-05-15 → ~2026-09-15 Jutland demo: Wed 27 – Fri 29 May — JB + AR visit teachers; v0.1 demo URL by then Mid-point review: week 6 (Fri 26 June), before both M and JB go on holiday Holiday window: Week 27 (Mon 29 June – Sun 5 July) — JB on Danish summer break; M at Croatia workshop Teacher pilot starts: week 13 (~2026-08-14), when Danish teachers return from summer Teacher workshop: Fri 21 Aug (tentative) — full-day workshop at a partner gymnasium; confirmed against teachers’ timetables in early August, fallback later Sept / Oct

At a glance

gantt
    title 4-month AIPLA timeline
    dateFormat YYYY-MM-DD
    axisFormat %b %d
    todayMarker off

    section Strand A
    Setup & ADRs              :a1, 2026-05-15, 7d
    Jutland demo prep         :a2, 2026-05-22, 5d
    Build core (post-demo)    :a3, 2026-05-27, 30d
    Post-holiday iterate      :a4, 2026-07-06, 39d
    Teacher pilot             :a5, 2026-08-14, 32d

    section Strand B
    Build                     :b1, 2026-07-06, 28d
    Pilot                     :b2, after b1, 14d

    section Strand C
    Scoping kickoff           :c1, 2026-07-06, 21d
    Scoping draft             :c2, after c1, 21d

    section Milestones
    Jutland demo (v0.1)       :milestone, m0, 2026-05-27, 0d
    Mid-point review          :milestone, m1, 2026-06-26, 0d
    M + JB holiday (wk 27)    :crit, 2026-06-29, 7d
    Teacher workshop (tent.)  :milestone, m3, 2026-08-21, 0d
    Final handover            :milestone, m2, 2026-09-15, 0d

Phase shape

Phase Weeks Date range Focus
0. Decide & set up 1 May 15 – May 22 ADRs done; GCP projects (aipla-dev/test/prod-2026) live; platform feature work kicked off upstream (group-ID auth, tenant_id span hook, budget enforcement, artefact review pipeline — see notes)
0.5. Jutland demo (v0.1) 1–2 May 19 – May 27 v0.1 deployed 2026-05-20, 6 days ahead of the Wed 27 May Jutland deadline. Feature detail on the home page and Strands. Buffer week 21–26 May for AR-led prompt iteration.
1. Build (Strand A core) 3–6 May 27 – Jun 26 Complete — ahead of plan. Three physics skills, full teacher UI (auth, classes, activities, analytics), chat-log pipeline in BigQuery, session persistence, and the v1.1 feature wave (co-pilots, rich-document workbench, cross-teacher sharing, MCP-App sims). The 3 June check-in set v1.1 priorities. Detail in Current status below.
Mid-point review 6 Fri Jun 26 Done. Live demo + scope review, held before the holiday freeze.
Both on holiday (M + JB) 7 (wk 27) Jun 29 – Jul 5 Code freeze. JB on Danish summer break; M at Croatia workshop
2. Internal iteration 8–12 Jul 6 – Aug 14 First eval run; iterate Strand A; Strand B build; Strand C scoping kickoff
3. Teacher pilot 13–14 Aug 14 – Aug 28 Real teachers (10 Danish + K) engage; full-day teacher workshop tentatively Fri 21 Aug; capability-floor eval refresh
4. Strand C scoping draft 14–16 Aug 19 – Sep 9 5–10pp scoping note: beyond-LLMs, beyond-chat, student models
5. Handover-intensive 16–17 Sep 2 – Sep 15 Final docs, deep-dive sessions, sign-offs

Current status

As of 10 July 2026. Verified against the execution codebase, not just design docs: each “shipped” line was checked against real files and routes, each “not built” line confirmed absent in code.

Shipped since the freeze (29 June – 10 July)

The planned week-27 freeze turned into a light-iteration week rather than a stop:

  • Group shared-session live sync — the shared group session now syncs live across devices: a per-group turn-lock serialises who’s talking to the tutor, chat updates pulse to all group members, workbench shares flow through the chat, and presence shows “N in your group are here”.
  • One shared MCP-App guest bridge — all four sim artefacts migrated onto a single canonical bridge with a CI drift guard; sim commit-visibility verified live in ChatGPT, and the M365 Copilot path confirmed native to the same open standard.
  • “Open in AIPLA” deep-link — sims running in external AI hosts now carry a call-to-action back into the platform (external hosts as advertising, the app as the home).
  • Curriculum catalogue summary field — feeds co-pilot and teacher document selection (phase 1 of curriculum-selection work).
  • Activity co-pilot folded onto the shared co-pilot shell — closing an item from the backlog below.
  • Design specs (not yet code): the living concept map (teacher-authored prerequisite graph + in-session tutor check-off, M0–M3 with a calibration eval) and the Year-2 concept-graph student-model / cross-group-matching vision.

Shipped to dev — this pre-freeze push (22–28 June)

  • Teacher co-working co-pilot — a floating AI partner on the teacher’s own pages that proposes changes the teacher Applies (nothing happens without the click), the change appearing alongside their own edits. Live on the class list (create classes / mint join-codes) and read-only on class detail (ask about engagement); conversations resume across visits.
  • Activity-authoring co-pilot — the AI composes an activity from a description (prompt, checklists, tables, charts, calculators, notes, solution/upload fields, a proposed vetted sim). Live on dev; held off test/prod until the AR/JB teaching framework lands.
  • Rich-document workbench — rich parsed-document rendering, a Documents tab + activity workbench shell, an in-place PDF viewer (page-nav / zoom / fullscreen, access-controlled), and student upload feeding the active file to the tutor.
  • Image-based solution submission — students answer with a photo + freehand whiteboard (the earlier rich-text editor was removed as the solution surface went image-based).
  • Cross-teacher activity sharing — duplicate / branch an activity, publish to a shared catalogue, adopt a colleague’s, with provenance; plus a researcher all-teachers view.
  • Sims as portable MCP Apps — the physics sims are served over the open MCP protocol so they render in external AI hosts, not only our app.
  • Researcher cross-class analytics — drill-downs, overview, trends, and transcripts across all classes.
  • Onboarding (auto-seeded demo for a new teacher), workbench “shared with the AI” trust cards, one unified sim render path, env-level thinking-budget control.

Shipped earlier in v1.1

Student image upload (the tutor sees handwritten work / setup photos); curriculum-RAG grounding (the tutor cited on teacher-attached documents); summary-first session report; teacher-UI consolidation; the activity element palette (table / chart / calculator / note); activity preview; voice provider + personas; cost dashboard.

In progress

  • Teacher activity authoring (the non-sim authoring umbrella) — concept-activity creation shipped end-to-end; the quiz, workbench-type, and equipment co-design milestones are gated on JB + AR. The one genuinely-open sprint at the freeze.

Partial — backend done, surface or layers missing

  • Per-join-code TTL choice (backend accepts it; no teacher UI yet); thinking budget (env-level only; no per-skill / per-turn / per-persona layer); student consent (recording-consent attestation only, no per-session opt-in prompt).

Not built yet — the backlog

Co-pilot chat history tier; full from-scratch authoring; end-of-class notes summary; student audio turns; exit ticket; engagement signals; tutor-message feedback (thumbs up/down + sentiment); offline-lab workbench; call-teacher (raised hand); a lesson-author preview surface; mobile-performance pass; live per-group difficulty tuning.

Deferred / parked

Duplex voice (turn-based speech is the shipped path); the sim-catalogue admin UI (post-pilot); the 2010 exam archive (Strand C, out of scope).

Blocked on people

  • JB + AR: exit-ticket question set; offline-lab ground-truth model + two real experiments; engagement-signal metrics; the authoring teaching framework (un-gates the co-pilot for test/prod).
  • JB: student-consent wording.

Handover fan-out (parallel, not sequential)

Handover starts week 4, not week 13. The primary handover targets are the two postdocs — AR (co-PI, present now) and AD (starts ~1 Oct, joining dev meetings remotely until then). Each artefact is explicitly co-owned with someone who’ll be around after the contract.

Artefact Primary inheritor Co-owned with First touchpoint
Capability-floor eval (dataset + runner) AR (domain) student helper (operations) Week 3 — co-design task taxonomy
Pedagogical rubrics / LLM-judge prompts AR Week 4 — first rubric review
Production architecture (Strand A) DS + AD ZL (day-to-day) Week 4 — ADR walkthrough
Cloud infra / GCP setup AD (from ~1 Oct) UCPH IT (for self-host migration) Week 6 — runbook v0
Day-to-day operations AR + AD Student helpers (if hired) Week 8 — onboarding session
Strand B (simulation/game) ZL (likely) DS Week 10 — kickoff
Scoping note (Strand C) JB (audience) AR (input) Week 14 — draft review

Recurring handover mechanisms

  • Pair on commits from week 3 onwards — every major component touched by ≥ 2 people before merge
  • ADR sign-offs — every architecture decision needs a second signature, captured in the Sign-off column on the Architecture page
  • Bi-weekly walkthrough sessions — 1hr, rotating audience (AR / DS+ZL / AD / student helpers)
  • Task-oriented runbooks written for successors, not for posterity:
    • “How to add a new bot configuration”
    • “How to onboard a new teacher / class”
    • “How to run the capability-floor eval and update the report”
    • “How to add a new model to the routing layer”
    • “What to do when X breaks”

Risk markers

  • Teacher feedback window is narrow. Real teachers active only weeks 13–17 (post-summer). Don’t over-engineer pre-summer iteration on internal feedback alone — leave headroom to respond to teacher input.
  • Postdoc starts after the contract ends. The postdoc (AD) is hired — resolving the earlier hire-timing unknown — but officially starts ~1 October, after the contract closes 15 September. There is no in-person overlap, so handover to AD rides on the documentation and on the online development meetings AD already attends.
  • Both M and JB on holiday weeks 7–8 (early-to-mid July). The mid-point review at week 6 needs to leave M with enough scope clarity and enough demo material for JB to take into the break. No major direction-setting during the holiday window.
  • Build phase is 4 weeks pre-holiday, not 6. Strand A core needs the minimum viable vertical slice ready by ~Jun 26 — RAG and multimodal can layer on post-holiday if needed.
  • GDPR / consent forms — JB owns these but they gate any teacher-facing deployment. Confirm by early August at latest.

Definition of “done” at week 17

  • Strand A pilot deployed and used by at least 3 teachers (weeks 13–17)
  • Capability-floor report v1 published
  • Strand B prototype demonstrable
  • Strand C scoping note delivered
  • All artefacts have a named co-owner who has demonstrated they can operate them
  • UCPH self-host migration notes complete enough for IT to estimate effort
  • Final handover session run with AD (remote) + AR + DS + ZL