abbado
An AI coordinator for university student teams. It helps with the part of group work nobody sees: everything between getting the brief and handing it in.
The short version. Abbado is an AI coordinator for university group work, built end to end as my master's thesis. A 4 question onboarding maps each student to a Belbin role, the brief becomes a task plan with owners, and an AI facilitator nudges the team while the professor sees health, never individuals. The matching engine is validated in a 1,000 team simulation and the app ships with 656 automated tests. Next step: a real classroom pilot.
The problem
Group projects tend to fail the same way. One person ends up carrying the team, quiet people get talked over, and small conflicts grow in silence until the deliverable breaks.
Most of it happens in the stretch between the brief and the hand-in, when no one is really looking.
Research
I interviewed 11 students and professors. A few patterns kept coming up:
- Silence. People keep quiet to avoid friction.
- Stolen credit. Loud voices win; quiet work disappears.
- Invisible work. Organisers do more, for the same grade.
- A timing gap. Conflicts start early, but professors notice late.
Conflicts started in weeks 2 to 4, but professors didn't notice until weeks 7 to 8. That gap is the reason abbado exists.
Three people summed up what I found, and they steered every decision that follows:
- Montse, the organiser. Ends up carrying the team and doing the invisible work, and burns out for the same grade as everyone else.
- Agatha, the quiet one. Her work is solid, but louder voices talk over it. By the middle of the project she has stopped proposing.
- Felix, the professor. He wants teams to learn, not to be policed. He finds out in week 8 what broke in week 3.
Design decisions
Visibility without surveillance. A professor needs to see how a team is doing, but the moment students feel watched they stop being honest. So the professor sees team health and never the person behind it. No roles, nobody named.
- 4 questions, not 30. A short, adaptive quiz maps you to a team role, instead of a long personality test.
- Health by deadlines. It tracks what's due, so a team behind on what matters can't hide behind a pile of small wins.
- Role logic is deterministic. The matching runs on fixed rules, not the model. Same answers, same role, every time, and you can check why.
- A chat that knows your context. Running on Mistral, it already knows your role and tasks. It facilitates and stays out of the actual work, and it never picks your team for you.
The matching, under the hood. The four answers score each student across the nine Belbin team roles, and fixed rules pick a balanced spread. The engine also avoids the pairings my research flagged as friction-prone, two high risk (a Shaper with a Completer Finisher, a Plant with an Implementer) and five medium. And one boundary it never crosses: it does not pick your team. You choose your people; Abbado helps the team you chose work.
What I built
A real, deployed app, not a Figma mockup, with 656 automated tests behind it.
- 11 interviews behind the design.
- 4 onboarding questions, nine Belbin roles.
- 1,000 teams in the validation simulation.
- 656 automated tests behind the app.
- 4-question onboarding and a Belbin role for each student.
- The brief broken into tasks, shared out by profile.
- A live dashboard with team health, alerts and the chat.
- A shared process report at the end.
Honest about testing: I validated the matching logic with a 1,000-team simulation, which showed around 60 to 70% less friction. That’s simulation, not real users yet. Next is a real classroom pilot, plus Canvas and Moodle.
What I’d test next
The matching is validated in simulation, but abbado hasn’t run with a real student team yet. That’s the honest edge of the evidence, so here is the classroom pilot I’d run to close it.
- 5 teams, one project each. Does abbado kill the "who owns section 3?" moment? I'd measure how fast each member commits to a role and whether task ownership is explicit by day three, not a vanity number.
- The week 2 to 4 hypothesis. Friction starts early but surfaces late. I'd track whether abbado's nudges make a problem visible closer to when it actually starts.
- The privacy promise, head on. Did students feel seen without feeling watched, and did professors get enough signal without monitoring? If students feel surveilled, the core bet failed.
- What would change my mind. If teams ignore the assigned role, or reject the one the four questions give them, the matching needs rework before anything else.
What I learned
The decision I’m proudest of was what I left out. Most of the design work went into deciding what the professor would never get to see. In the end, privacy wasn’t a feature I bolted on. It was the answer to the problem itself.
Doing this solo, the research, the design, the AI and the build, meant there was no one to hand a decision to: every trade-off had to survive me arguing with myself. Exhausting, and probably the best training I could have asked for.
What I would change: I would take abbado into a real classroom sooner, instead of refining the simulation further. The evidence I still need lives with real students, not in my data.