hero image Back

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.

Role
Researcher and designer
Timeline
February 2026 to present
Methods
Co-design, interviews, thematic analysis, journey mapping, storyboard validation, prototype testing
Output
Teacher dashboard, onboarding flow, student check-in report, design system

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.

6co-design workshops
45+teachers across >8 US school districts
25coded frictions and unmet needs

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.

  1. 01
    Teachers · 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.

  2. 02
    Tutors · 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.

  3. 03
    Students · 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.

  1. 01

    Exploratory discovery

    February · in person

    Engagement tracking was completely manual. Screen projection, walking the room, and a personal Excel sheet every teacher kept on the side.

  2. 02

    Journey mapping

    March · Zoom, four small groups

    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.

  3. 03

    Storyboard validation

    April · in person

    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.

  4. 04

    Prototype testing

    May

    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 in parallel groups across idea stationsteachers working across idea stations
Teachers worked in parallel groups so neither table anchored to the other's ideas

The prompt

A blank rectangle, stickies, markersblank prompt

What they built

The filled whiteboardfilled whiteboard
A blank prompt, and what teachers built from it. Growth by domain, efficiency against peer group, and the slope of lessons passed toward grade level, in their own framing.

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

  1. 01
    Blank page before prototype

    Showing our design first would have anchored everything. Starting from zero produced ideas we would not have known to ask about.

  2. 02
    Role-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.

  3. 03
    Paper 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.

The prototype, early version next to the iterated versionprototype, early version next to iterated version
The prototype evolved live across interviews. Explore it at iready-teacher-study.netlify.app

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

25codes
11friction points
13unmet needs
5themes
The Design Friction Lens codebook, showing column structure and example rowsthe Design Friction Lens codebook (redacted)
The Design Friction Lens codebook. Column structure and a few example rows.
  1. 01
    Report 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.

  2. 02
    Goal-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.

  3. 03
    Student 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.

  4. 04
    Teacher 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.

  5. 05
    Reward 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.

The feature built to address finding 1feature addressing finding 1

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

The feature built to address finding 2feature addressing finding 2

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

The feature built to address finding 3feature addressing finding 3

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

The feature built to address finding 5feature addressing finding 5

what 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 flowthe teacher onboarding flow
Teacher onboarding

Teacher 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 exception-first teacher dashboardthe teacher dashboard
The teacher dashboard, exception-first with an attention banner

Student 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 reportthe student check-in report
The student check-in report

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

The PLUS design system overviewdesign system overview
The design system: foundations, data-display patterns, components, and handoff

Now 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

A blank FigJam boardfigjam board, blank

Filled

The filled FigJam boardfigjam board, filled
A FigJam board, blank and filled

what would I change?

What I would do differently

  1. 01
    Talk 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.

  2. 02
    Tighter 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.

What is next

8+schools in the multi-school pilot
Nextpitch to the i-Ready product team