Learn · Check · Submit · Revise · Reflect
Public demo: https://script.google.com/macros/s/AKfycbyknwp9iFZtzHm2m59HOsAKeHKqXs6Nu7hTeznpNlmhTnoMz8oWl1JwMBveK_uq0qFm4g/exec
ReadyLoop is the GitHub home for MakeReady: Learn Before You Submit, a GenAI-supported IB Design Technology learning layer inside DT Learning Studio that helps students understand fabrication concepts before they submit laser cutting or 3D printing work.
It turns a normal school fabrication request into a guided learning loop:
flowchart LR
A["Learn<br/>DT concept cards"] --> B["Check<br/>pre-submit issues"]
B --> C["Submit<br/>guided upload"]
C --> D["Revise<br/>issue codes and coaching"]
D --> E["Reflect<br/>next check for future work"]
E --> A
| Item | Detail |
|---|---|
| Project title | MakeReady: Learn Before You Submit |
| Repository / system name | ReadyLoop |
| Platform name | DT Learning Studio |
| Competition | AIREA 2026 |
| Stream | Stream 1: Use of GenAI Tools |
| School context | Victoria Shanghai Academy, IB Design Technology |
| Existing dashboard origin | https://bit.ly/dtjobs |
| Live demo data | Sample/demo data only |
ReadyLoop is not mainly a chatbot. It is a practical GenAI learning layer embedded into an existing Design Technology fabrication workflow.
Students often submit fabrication files that look correct on screen but are not machine-ready.
Common problems include:
| Fabrication area | What students often miss |
|---|---|
| Laser cutting | open paths, wrong line colour, duplicate lines, unconverted text, raster images instead of vector paths |
| 3D printing | non-manifold STL geometry, wrong scale, thin walls, poor orientation, missing supports |
| Material logic | kerf, tolerance, material thickness, tab-and-slot fit |
| Design communication | CAD vs CAM, orthographic views, isometric views, dimensions, technical communication |
In the original workflow, students might only learn these issues after a teacher or technician returns the job. ReadyLoop moves the learning moment earlier, while still keeping human review central.
The original DT fabrication dashboard was built quickly using Google Apps Script + Google Workspace:
| Tool | Role in the system |
|---|---|
| Google Apps Script | web app, routing, server logic, deployment |
| Google Sheets | job data, audit records, users, workflow state |
| Google Drive | student file references and upload storage |
| Gmail | workflow notifications |
Within two months, the original dashboard supported nearly 500 laser cutting and 3D printing submissions.
ReadyLoop extends that working operational base into a learning-first system.
Students start with short IB DT concept cards instead of a long instruction document.
Examples:
| Concept | Student-friendly purpose |
|---|---|
| CAD vs CAM | understand the difference between design and machine preparation |
| Vector vs raster | know why laser cutters need editable paths |
| Kerf and tolerance | predict whether parts will actually fit |
| STL and manifold geometry | understand what makes a 3D model printable |
| Orthographic vs isometric | communicate shape and dimensions clearly |
The Pre-Submit Check helps students catch likely fabrication issues before uploading.
It shows:
| Check area | Example guidance |
|---|---|
| Laser cut vectors | check closed paths, line colour, line weight, duplicate lines, text outlines |
| 3D print readiness | check STL/3MF, scale, wall thickness, manifold geometry, supports, orientation |
| Material fit | check real material thickness, kerf allowance, slot width, tab size |
Students use a guided upload flow rather than a plain form.
The form asks for:
| Field | Why it matters |
|---|---|
| machine | laser cutting and 3D printing have different rules |
| material | thickness, fit, heat, and production time depend on material |
| brief | helps reviewers understand design intent |
| file reference | connects learning to real fabrication work |
If work is returned, the Revision Clinic turns issue codes into learning.
Example:
| Issue code | Learning link |
|---|---|
LC_OPEN_PATHS |
closed vector paths |
LC_TEXT_NOT_CONVERTED |
text to outlines/curves |
LC_LINE_COLOUR_MISMATCH |
machine-readable line colour |
P3_NON_MANIFOLD |
watertight 3D geometry |
P3_SUPPORT_ORIENTATION |
overhangs, supports, and print orientation |
Students write a short next-step reflection so the learning transfers to the next fabrication task.
The aim is not just to fix one file. The aim is to improve DT judgement.
ReadyLoop is designed as a full school workflow, not a single student page.
| Role | What the role sees | What the role can do |
|---|---|---|
| Student | learning studio, pre-submit check, guided upload, revision clinic, concepts, progress, reflection, help | learn concepts, check work, ask coach, submit, revise, reflect |
| Teacher | class pulse, Teaching Studio planner, submission signals, reteach library, reflection evidence | identify misconceptions, plan mini-lessons, nudge students, use feedback as teaching evidence |
| Technician | workshop queue, job detail, issue picker, human review actions | approve, queue, send back, reject, attach issue codes, write student-friendly feedback |
| Admin | system safeguards, ops/storage, users/roles, machines, audit log, AI safeguards | monitor demo safety, role access, audit evidence, privacy wording, system readiness |
| Visitor / judge | Overview landing page | understand the project story, AI boundary, live demo pathways, and school workflow |
The Ask Coach panel is a bounded learning guide, not an autonomous assessor.
It can answer:
| Category | Example question |
|---|---|
| DT foundations | "Teach me the DT foundations I should know before a fabrication submission." |
| Laser cutting | "Why do red lines matter?" |
| 3D printing | "What does manifold mean?" |
| CAD/CAM | "What is the difference between CAD and CAM?" |
| Revision | "Why was my file returned?" |
| Reflection | "How do I turn this feedback into a next step?" |
| Teacher support | "Draft a 5-minute mini-lesson for CAM foundations." |
| Technician support | "Draft student-friendly feedback for open paths." |
| Admin/judge | "Does AI grade students?" |
The AI answers are supported by structured curriculum-linked content and deterministic fallback guards in both the frontend and Apps Script backend.
ReadyLoop uses AI to support learning, explanation, retry, and reflection.
It does not:
| AI must not do | Human responsible party |
|---|---|
| grade students | teachers |
| approve fabrication jobs | technicians |
| reject student files | technicians |
| schedule machine production | technicians / workshop process |
| fabricate work | humans and machines under supervision |
| replace teachers or technicians | school staff |
| expose real student information in public demo | admin governance |
The public demo uses sample/demo data only.
flowchart TB
subgraph Client["Client UI"]
O["Overview"]
S["Student Studio"]
T["Teacher Studio"]
W["Technician Queue"]
A["Admin Safeguards"]
C["Ask Coach"]
end
subgraph AppsScript["Google Apps Script Backend"]
Code["Code.gs router"]
Jobs["Jobs.gs workflow"]
Auth["Auth.gs role boundary"]
Audit["Audit.gs audit log"]
AI["AI.gs deterministic AI guard"]
Mail["Mail.gs notifications"]
end
subgraph Workspace["Google Workspace"]
Sheets["Google Sheets<br/>Jobs, Users, Audit"]
Drive["Google Drive<br/>file references"]
Gmail["Gmail<br/>notifications"]
end
O --> Code
S --> Code
T --> Code
W --> Code
A --> Code
C --> AI
Code --> Jobs
Code --> Auth
Jobs --> Sheets
Audit --> Sheets
Jobs --> Drive
Mail --> Gmail
| Difference | Why it matters |
|---|---|
| Built on a real workflow | The project extends an existing DT dashboard instead of inventing a disconnected demo. |
| Feedback becomes teaching material | Issue codes become concept cards, mini-lessons, revision prompts, and reflections. |
| AI is embedded, not centralised | Students meet AI at learning moments, not as a separate chatbot destination. |
| Human-led decisions | Teachers and technicians remain responsible for judgement, safety, approval, rejection, and grading. |
| Scalable pattern | The same Learn -> Check -> Submit -> Revise -> Reflect model can extend to other practical subjects. |
| Path | Purpose |
|---|---|
Dashboard.html |
standalone browser prototype shell |
lib/ |
React source for app shell, student, teacher, technician, admin, AI, data, and UI primitives |
appsscript/ |
generated Apps Script deployable project |
assets/ |
student-facing and concept visual assets |
prompts/ |
versioned AI prompt specifications |
tests/ |
Node-based regression tests |
scripts/sync-to-appsscript.mjs |
syncs frontend source into Apps Script HTML fragments |
SUBMISSION-FORM-ANSWERS-MAKEREADY.md |
competition form copy |
PITCH-SCRIPT-3-MINUTES.md |
3-minute presentation script |
SLIDE-DECK-OUTLINE-15-SLIDES.md |
15-slide deck outline with slide text, visual direction, and speaker notes |
FINAL-DEMO-CLICK-PATH.md |
exact live demo path |
FINAL-RESPONSIBLE-AI-AND-PRIVACY.md |
responsible AI and privacy statement |
This repository includes a complete competition support pack.
| File | Use |
|---|---|
SUBMISSION-FORM-ANSWERS-MAKEREADY.md |
copy into the AIREA submission form |
PITCH-SCRIPT-3-MINUTES.md |
video or live presentation script |
SLIDE-DECK-OUTLINE-15-SLIDES.md |
visual slide-by-slide plan |
FINAL-DEMO-CLICK-PATH.md |
rehearse the live demo |
FINAL-RISK-AND-SAFETY-NOTES.md |
safety and privacy notes |
MAKE_READY_FINAL_SUBMISSION_CHECKLIST.md |
final submission checklist |
The slide outline is written to be visual, attractive, tech-forward, and not boring. Each slide includes main slide text, visual direction, and speaker notes.
npm install
npm testLocal static preview:
npx serve .
# open Dashboard.html from the served directorySync frontend source into Apps Script fragments:
npm run syncPush to Apps Script:
npm run pushThe live public Apps Script deployment is:
Apps Script editor project:
The Apps Script editor project ID is intentionally not published in this public README. Maintainers should connect their own local .clasp.json or request access through the school Google Workspace account.
Required script properties for a real deployment:
| Property | Purpose |
|---|---|
SHEET_ID_JOBS |
spreadsheet containing Jobs, Users, Audit |
DRIVE_FOLDER_ID |
Drive folder for uploaded/reference files |
DEMO_MODE |
public demo write guard |
ANTHROPIC_API_KEY |
optional live AI provider key; deterministic fallback works without it |
The regression suite checks:
| Area | Coverage |
|---|---|
| student flow | learning loop, CardQuest demo, quick checks, CTAs |
| teacher role | Teaching Studio planner, class pulse, reteach actions |
| technician role | human-controlled review, guarded send-back/reject, issue picker |
| admin role | privacy masking, safeguards, audit/ops surfaces |
| AI content | DT foundations, fabrication concepts, role-specific and judge prompts |
| deployment safety | Apps Script fragment sync, prompt guard parity |
| responsive layout | top bar, role shell, right rail, laptop breakpoints |
Latest full validation:
322 passed, 0 failedReadyLoop is competition-demo ready.
| Area | Status |
|---|---|
| Student learning loop | ready |
| Teacher Teaching Studio | ready |
| Technician review studio | ready |
| Admin safeguards | ready |
| Overview visitor page | ready |
| Ask Coach content | ready with bounded known answers |
| Public demo | deployed with sample/demo data |
| Tests | passing |
ReadyLoop helps IB Design Technology students become more fabrication-ready before machine time starts.
It does not try to make AI the judge. It uses AI to make learning clearer, earlier, calmer, and more accessible.
準備好,先好交.