CMU · AIMS EduData / Gates Foundation · UX Research + Product Design
Co-designing a 0-1 K-12 tool that helps teachers guide students to set and hit better goals
A 0 to 1 co-design project that brought teachers into the goal-setting loop, from a blank whiteboard to a built tool now being tested in classrooms.
what is PLUS?
A tutoring program where goals lived on paper
PLUS is a Carnegie Mellon tutoring program that pairs students with tutors during the school day to build math skills on i-Ready. Goal-setting was already part of it.
A student would sit with a tutor, agree on how many minutes and how many lessons they would do that week, and sign a paper contract. If they hit the goal, they got a fruit snack.
who owned the goals?
Math skill goals were minutes per week and lessons done per week
Goals were set verbally, written on paper, and then disappeared. Tutors ran the conversation inside a 17 to 21 minute session. Teachers got a spreadsheet once a week and were expected to do something with it. Students signed the contract and forgot the number by Wednesday.
The metric underneath all of it was minutes, and minutes could be faked.
- 01Teachers · No visibility
A weekly spreadsheet covering 150 students, delivered Monday, with no way to tell who needed attention. Every teacher had built their own parallel tracking sheet to compensate.
- 02Tutors · No infrastructure
Weekly goals set inside a 17 to 21 minute session, with nothing connecting this week's number to a student's actual learning trajectory.
- 03Students · No ownership
Goals were handed down rather than chosen. Progress was invisible between check-ins. Effort counted for nothing if the final number came up short.
Completing a lesson doesn't give me helpful data. Passing it does.
Tim, Workshop 2
why co-design, not testing?
Teachers as collaborators, not test subjects
Teachers know what fits inside a school day, what motivates a twelve year old, and which numbers actually change what they do on Monday morning.
Four longitudinal workshops with seven teachers, February to May 2026. One in person, three on Zoom. Each session built directly on the one before it.
- 01
Exploratory discovery
Engagement tracking was completely manual. Screen projection, walking the room, and a personal Excel sheet every teacher kept on the side.
- 02
Journey mapping
We realised there was a gap between goal setting and goal rewards. Students forgot what goals they had set for themselves, and got no feedback on how far they had come in the week.
- 03
Storyboard validation
The in-person session surfaced real teacher needs: grouping students by common lessons, a view of the exact part of a lesson they struggle on, and a check-in report that introduced a skills breakdown.
- 04
Prototype testing
Features sorted into Must Have, Nice to Have, and Not Now. Grouping by shared lesson landed as Must Have.
The weekly cycle we mapped
Monday, check reports and update grade books. Tuesday, PLUS session, tutors set goals, data report arrives. Wednesday, rewards handed out. Thursday, regular instruction and informal check-ins. Friday, second PLUS session.
The tension sits between Monday and Tuesday, which is where the design had to intervene.
We put markers in teachers' hands and let them design first
One workshop ran in person at the school. Idea stations, printed storyboards, blank whiteboards. Before anyone saw a prototype, teachers sketched their ideal mid-semester report from nothing.
teachers working across idea stationsThe prompt
blank promptWhat they built
filled whiteboardThe insight that came from a conversation, not a question
Two teachers were sketching a domain bar chart together when one of them said to show where the student is strong, not just where they are stuck. The conversation that followed produced a principle I had not thought to ask about.
A motivating report leads with strengths, then gaps. That became the default framing of the student check-in report.
- 01Blank page before prototype
Showing our design first would have anchored everything. Starting from zero produced ideas we would not have known to ask about.
- 02Role-play exposed the gaps
When teachers acted as students during the check-in role-play, they improvised around data that was not there. Those improvisations became the highest priority fixes.
- 03Paper changed the conversation
Stickies and markers produced a different quality of engagement than screen critique. Teachers argued, erased, and built on each other in a way they did not when reviewing a mockup.
what did we bring to interviews?
We built a working prototype in code and took it into every interview
Rather than test static mockups, I built a functioning teacher dashboard in code and brought it into interviews live. Every teacher clicked through the real thing, and the prototype kept changing as interviews surfaced new friction.
01 · Built from findings, straight from the workshops Lessons passed as the primary metric, an attention banner at the top, a three week trend as the default view.
02 · Iterated across live sessions Each interview doubled as a design critique. Teachers pointed at specific elements and those became the next build.
03 · Closed the loop on onboarding Later interviews revealed teachers needed to configure goal parameters before the semester started, not during it. The onboarding flow was added and validated inside the same session.
prototype, early version next to iterated versionOne hard call, tying weekly goals to diagnostic scores
Every goal started out purely weekly. Minutes and lessons, reset each Monday. It worked, but it left students with no sense of why any of those numbers mattered.
I made the call to connect the weekly micro-goal to a trimester diagnostic target, so the line between "pass two lessons this week" and "reach grade level by spring" was visible to both the teacher and the student.
I proposed this before it was validated. I brought it to Workshop 3 as a storyboard and teachers backed it, with one condition. The system would recommend goals, which the teacher can review and accept or override with their own.
That approval pattern ended up as the backbone of the entire dashboard interaction model.
how did the findings hold up?
A friction codebook, built to make the findings arguable
Workshop transcripts, interview recordings, whiteboard photos and sticky notes were coded into a single framework. Every code carries a definition, a design implication, the participants who showed the pattern, the source file, and a paraphrased excerpt.
The point was to make each design decision traceable back to specific people saying specific things, rather than to a general impression of what teachers wanted.
the Design Friction Lens codebook (redacted)- 01Report legibility
Teachers cannot tell at a glance who is struggling or why. Ranking logic is opaque, students go missing from group reports without explanation, and finding a student's current lesson takes too many clicks.
- 02Goal-setting process
Goal-setting gets rushed because it sits at the start of a tutoring session. Goal sheets are filled inconsistently. Adjustments depend on a tutor being available, so they often do not happen.
- 03Student motivation and progress visibility
Students have no visual of domain-level progress over time and no view of where their current pace lands them. Buy-in depends on seeing tangible progress. Abstract rewards do not work for everyone.
- 04Teacher intervention capacity
Small group pulls are not feasible inside a 20 to 25 minute window. Teachers want to assign specific lessons but flexibility is limited, and reports do not link out to anything they could use immediately.
- 05Reward system logistics
Fruit snacks run out mid-week. The routine stops during absences and testing windows. Reward value differs by student and one size does not fit all.
what did the data say?
What the data said. What we built.
Finding 1 · Minutes can be gamed Students idle or click slowly to run the clock. Tim: "Completing a lesson doesn't give me helpful data. Passing it does." Decision: lessons passed becomes the primary metric, and the gap between lessons completed and lessons passed surfaces everywhere as an integrity signal.
feature addressing finding 1Finding 2 · Teachers cannot review 150 students Julie: "Rather than reviewing all 150 students, I want five rock stars to acknowledge and three to five kids who need immediate intervention." Decision: exception reporting instead of full rosters. An attention banner leads the dashboard, flagging students who are inactive, dropping, or stuck on the same lesson.
feature addressing finding 2Finding 3 · Framing changes motivation In the student role-play, showing how far someone has come landed better than showing how far they are from grade level. Decision: the student view defaults to growth from starting point. Grade-level comparison is a toggle, not the default.
feature addressing finding 3Finding 5 · Teachers want AI recommendations, not black boxes In the storyboard session they were positive about goal recommendations and immediately asked to see the reasoning. Decision: every recommendation shows its rationale, and nothing takes effect without teacher approval.
feature addressing finding 5what got built?
A closed loop, from onboarding to the student conversation
The research kept pointing at three moments where a teacher needs to be in the loop: the start of a semester, the week to week rhythm, and the individual student check-in. The tool maps to those three moments and nothing else. It is built and running.
Teacher onboarding Teachers set their goal metrics, reward triggers, and how much the system is allowed to recommend, before the semester starts.
the teacher onboarding flowTeacher dashboard Exception-first. The attention banner surfaces students who are inactive, dropping, or stuck on the same lesson. The roster groups by shared lesson so a teacher can pull the five students all stuck on one-step equations and run a five minute mini-lesson.
the teacher dashboardStudent check-in report Shareable in one click from the roster. Current goal, three week trend, and skills led by strengths before gaps. Built-in conversation prompts so the check-in does not depend on the teacher improvising.
the student check-in reportFrom prototype to a system someone else can build from
The vibe-coded prototype proved the concepts but it was not something a developer could ship. Once prototype testing settled the feature set, I built the design system the production tool was made from: 49 components and tokens.
design system overviewNow testing across 3+ schools
The tool is in classrooms over the next few weeks at 3+ schools in person, with teachers who were never part of the co-design.
This gives us the thing longitudinal co-design cannot: teachers using it who were never in a single session with us, who have no investment in it, and no idea what any of it is supposed to do.
what were the instruments?
The instruments behind the findings
Co-design looks loose from the outside. It is not. Every session ran on a written protocol with timed activities, specific prompts, and a defined thing I was trying to learn. These are the instruments the findings came out of.
01 · Workshop facilitation protocols Each workshop ran on a written protocol: session flow, timings, the research question behind every activity, the prompts as spoken, and a "watch for" list. What it drove: the journey-mapping prompt "what do you wish you knew but do not" is where the one day lag surfaced. Nobody would have reported it if I had only asked what they do.
02 · FigJam boards, blank and filled Both boards went in blank. What it drove: running them blank rather than pre-populated meant the columns filled with what teachers actually track, which turned out to be Classwise, walking the room, and a personal Excel sheet. That gap became the case for the tool.
03 · Thematic analysis on Dovetail and Taguette A nine column structure: code ID, name, definition, design implication, friction type, participants, source, excerpt, and open questions. What it drove: the design-implication column is the reason every decision traces back to specific people rather than a general sense of what teachers wanted.
04 · Storyboards Five illustrated concepts, annotated with four sticky colours for positive, question, concern, and idea. What it drove: colour-coding made concerns visible at a glance. The concerns on the AI storyboard are what produced the recommend-and-approve pattern.
05 · Feature prioritisation Must Have, Nice to Have, Not Now, sorted with teachers rather than for them. What it drove: grouping by shared lesson came out as Must Have while grouping by urgency and lesson time came out as Nice to Have. That ordering set the build sequence.
Blank
figjam board, blankFilled
figjam board, filledwhat would I change?
What I would do differently
- 01Talk to students directly
The entire student perspective came through teachers role-playing as students. That surfaced a lot, but it is inference. Direct student interviews would have given us motivation patterns we had to guess at.
- 02Tighter loops between sessions
The gap between Workshops 2 and 3 let context drift. Teachers had half forgotten the specific frictions we needed them to validate, so we spent time rebuilding shared ground.
