← Jack Quinn

Case study · D2 Labs

MyVoice

An anonymous feedback platform that turns what teachers say about their school into plans leaders can act on and track.

Role
Founding engineer
Client
D2 Labs
Period
2022 – present
~20,000educators using it
~200districts
6states
MyVoice's Create a solution with AI wizard at step four. An AI generated draft titled Expanding Teacher Autonomy in Instructional Decision-Making, based on indicator 5.1 with a score of 3.30, lists the existing needs and desired outcomes, with buttons to regenerate or continue.
Leader view A solution plan the agent drafted from one low-scoring indicator and a sentence of context. Screens on this page show demo data.

Teachers won’t be candid if they can be identified

Our client works with schools across the country, and it kept seeing the same pattern: trust and satisfaction between educators and the people who run their schools were low. It wasn’t a handful of bad schools. It was a national trend. They hired D2 Labs to develop the concept with them and build the platform: a way to collect feedback from educators anonymously, track it over time, and show school leaders the real problems in their workforce at a glance.

Before MyVoice, the usual channel was a town hall: educators and leadership in a room together, often on a planning day. The trouble is the room. Teachers get nervous about being completely honest face to face, in front of their peers and their supervisors, so the hardest problems tend to stay unsaid.

The whole thing depends on honesty. A teacher who thinks their principal could work out who said something will soften it or say nothing. Anonymity is what lets real change happen, and the system is what carries it through, taking the discomfort out of the process. So the guarantee had to be real, which meant building it into the architecture from the start instead of adding it later.

A score, a plan, and proof it worked

Interactive 01

One indicator, two school years.

Drag through the timeline to follow one indicator at one school, from a falling score to a plan and back.

Indicator 5.1 average3.62
Since the plan went live—
4.03.53.0Plan live3.623.483.303.413.583.71
Teachers take the inventory.

Every teacher at North Ridge High rates the 48 statements. Indicator 5.1, about the freedom to make classroom-level decisions, averages 3.62.

Illustrative. The scores are demo data, not results from a real school.

Two statements from the MyVoice inventory for Clear & Unified Direction, each rated on a five-point scale from strongly disagree to strongly agree. The first is answered strongly agree and the second agree.
Teacher view MyVoice calls the ten areas drivers. Each statement is rated on a five-point scale.

The inventory comes from our client’s research into what drives school culture. It covers ten areas, from how clearly a school communicates its direction to whether teachers feel they belong there. Each area is measured by four to six plain statements, and those statements are the indicators the rest of the platform works from.

MyVoice calls the plans solution plans. A solution plan is something a district rolls out to its workforce, with a cause it addresses and a goal it can measure. Holding more frequent town hall meetings because the district expects them to raise how teachers rate collaboration is a typical one.

The agent doesn’t write a plan and hand it over. Leaders build plans in a wizard. It opens on the district’s top quantitative issues, and the leader picks the ones they want to change. From there the agent works alongside them, suggesting goals based on those metrics and drawing on the district’s solutions library: plans the district has used before, saved as reference. Then it walks the leader through the rest: which schools the plan applies to, how it will be tracked, when it goes live, and who can edit it. What comes out is a live goal inside the platform, not a document.

Two steps of the plan wizard. Step one shows the three highest opportunity areas at North Ridge High, scored 3.30, 3.35 and 3.40, with the Empowerment indicator selected. Step three shows that indicator with the leader's context: new teachers say they have to follow the pacing guide exactly, even when their students are ahead or behind.
Leader view What the agent starts from: the lowest-scoring indicators at the chosen school, and a sentence of context from the leader. The draft at the top of this page is what it wrote from these.

What I built

I’ve been the only engineer on MyVoice since 2022, responsible for discovery, architecture, implementation, validation, and the long-term support that follows.

The stack is deliberately plain. MyVoice is a Next.js app backed by Postgres, and we host it ourselves on AWS Lambda. The agents run on Claude through Anthropic’s SDK.

Interactive 02

Where anonymity is enforced.

Select a part of the system. Below the line, MyVoice knows people only by their anonymity ID.

New ratings show whether the plan worked.

Anonymity is decided here, once.

Every user has an anonymity ID, and it is the only identifier their ratings and messages carry past this point. Reporting, the agent, and the national view are all built on anonymity IDs, so none of them has anything that leads back to a person.

Anonymity is part of the data model

Promising teachers anonymity in the interface isn’t enough. It has to hold everywhere the data goes, including places nobody thought about when the promise was made.

A region leader's view of the Empowerment driver across all schools. 30 of 31 people have responded, and a donut chart splits the 30 responses to indicator 5.1: 10 strongly disagree, 5 disagree, 6 neutral, 6 agree and 3 strongly agree.
Region leader view Leaders see how many people answered and how the answers split, never who gave them.

So in MyVoice, anonymity is decided by how scores are stored. Every user has an anonymity ID, and that ID is what their responses are saved against. Reporting works only with anonymity IDs, which keeps individual people out of every report.

That matters most at the top. Because multi-tenancy is built into the architecture, D2 Labs can look at trends like teacher happiness, retention, and student success across districts and states from one national view. That view is built from the same anonymized data, so the guarantee a teacher gets in one school still holds when their scores become part of a national number.

Hiding names isn’t enough on its own. If a department has three teachers, its “anonymous” average is easy to trace back. So the data system won’t report a result unless enough people contributed to it, with the minimum sample size set for each district.

The agent never sees who said what

The simplest way to keep an agent from revealing a source is to never give it one. The agent doesn’t know where any piece of feedback came from. It only sees feedback the system has already summarized, so it has nothing identifying to leak, even by accident.

The rest of the agent’s behaviour is checked by evals (automated tests of its output) that run in CI, on every code change. One set covers guardrails, meaning the edge cases we never want to see in production:

A second set checks the quality of the work, and it exists because of a real failure. Early on, the agent was suggesting fairly generic solutions. It had tools for searching the district’s solutions library, but it often didn’t use them, so the plans it proposed ignored what that district had already tried.

To fix it, we built a series of increasingly complicated requests into the eval suite and tuned when the agent calls its tools, and in what order, until the solutions library was actually applied. Those cases now run in CI with the guardrail checks, so a change that makes the agent generic again fails before it ships.

Six states and counting

MyVoice first rolled out in late 2022 through our client partnership. It now reaches about 20,000 educators in about 200 districts across six states, and it’s still expanding.

Much of that growth comes from people who use the product. District champions in Georgia and Arizona bring new districts onto the platform in their states. We also have a strong presence and connections in the public sector, and a busy pipeline of new states.

Districts use it for real planning, too. On average a district creates two or three solution plans a semester, which adds up to hundreds of plans across the platform. Most are large plans tracked over a long period, not quick fixes. On average, the workforce happiness metrics we track go up at schools that use MyVoice.