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
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
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