Huddl

An app that helps college teams build chemistry on purpose, instead of leaving it to chance.

Role
Researcher, then product lead and engineer
Team
Sahini Komandla, Signe Slater, Siddharth Hardikar, Ralph Chang
Sponsor
Team Chemistry Design
Timeline
HCDE capstone, two quarters
Status
Live at teamhuddl.com
Huddl
Results
1/4
Huddl's home: an open Huddl to answer, and a Vibe Check from the coach.
Home
A Huddl in progress: one question per card, 'What's going well?'
A Huddl in progress
Plays: the team's photos and videos in a two-column feed, from graduation and the capstone showcase.
Plays

Product direction

The brief: chemistry isn't luck

Coaches train skills every day, but team chemistry is treated as something that just happens. Our sponsor, Team Chemistry Design, believes it can be practiced like anything else, and asked us to apply human-centered design to it. We started with college teams.

Research: trust comes first

In the first quarter I was a researcher. We ran 15 interviews with coaches, players and staff, watched UW softball, soccer and football practices, and read 17+ papers. My biggest contribution was turning all of it into one set of findings the team could design from.

  • Trust comes first.

    Every coach named it as the base the rest depends on. (All 4 coaches, 2 field studies.)

  • Chemistry isn’t camaraderie.

    A team can be close friends and still not play for each other. (3 coaches.)

  • Players are tired of tools.

    One team already filled out wellness surveys twice a quarter. Anything new had to be quick. (UW Softball.)

Those findings became six design principles that every feature had to answer to:

  1. Trust above all elseAnonymous Vibe Checks and Comment Box
  2. Completed over comprehensiveVibe Checks short enough for the walk back
  3. A door, not a destinationEmoji reactions instead of replies
  4. Signals, not noiseCoaches see trends over the season
  5. Actionable for coachesBookmarks a coach brings to practice
  6. Assumed, not arguedOnboarding that explains how each feature works

What I didn't expect: a prototype that looked finished

Going into the second quarter, the team had a long list of ideas. Then one teammate used AI to build all of them into one clickable prototype.

The AI-built prototype, nine screens: an archetype quiz, a team health score of 8.2, a locker room, a timed one-word prompt, a Team Chemistry Wrapped, and Huddle results with flags.
The AI-built prototype: every idea at once, all of it looking finished.

It looked finished, and that was the problem. Something that concrete stops reading as a question and starts reading as the product, and our conversations went from “why” to “yeah, I like that.” So I asked the team to slow down and take it into co-design as ideas to test, not a product to defend. Players kept some of it and pushed back on a lot. Letting go was hard, but we went back to sketching, and what we shipped looks very different.

What I'd do differently: agree as a team, up front, what AI prototyping is for. It's good at testing a decision we've made. It shouldn't be making them for us.

Co-design: what players actually wanted

I designed the co-design sessions and led some of them: six 30-minute sessions with college players from basketball, rowing, soccer and softball. Each one walked through a proposed onboarding and proposed features, with stickers to vote and room to invent new ones.

The co-design session plan: an 8-minute intro, 20 minutes of co-design on proposed onboarding and features with stickers to vote, and 2 minutes of closing questions.
Every session: 8 minutes of intro, 20 of co-design, 2 of closing questions.

Two things came out of them. The first was a feature we hadn't planned: Plays, a team gallery with a “Fun” feed and a “Game footage” feed. The second was what to cut.

  • Built

    Plays

    Players already share photos and clips in group chats, where people get left out and the good stuff gets buried.

  • Cut

    Archetype quiz

    It told players something, but gave them nothing to do.

  • Cut

    Buddy system

    Mixed feedback: players didn’t find it helpful in practice. Individual goals went with it; team goals stayed.

The feature-ranking board: each teammate sorted every feature into must-have, nice to have, maybe later, and cut.
The team ranked every feature: must-have, nice to have, maybe later, cut.

Trust and safety

Anonymous where honesty needs it

In interviews, players said they needed a way to raise concerns without their name on it. Vibe Check is the first: a short survey a coach sends on a schedule, with statements about trust, belonging and accountability to agree or disagree with. Players answer anonymously; coaches see only percentages and trends. At first coaches could see each player's answers; we reversed that.

It's built to be finished, not thorough: one tap per answer, seven questions, and anything left halfway is saved. If it takes longer than the walk back to the locker room, players won't do it.

A coach's Vibe Check report: a 38% response rate, and for one statement about respecting every role, the team's answers as percentages from strongly agree to strongly disagree.
A coach's view of one Vibe Check: percentages for the team, no names.

The Comment Box is the second: a one-way message to the coaches, anonymous by default. There's no reply in the app; the point is to start a conversation in person.

Comment sent: Coaches will notify you in person once they've read your comment.
BeforePromised something the app couldn't keep.
Comment sent: Your coaches will read this, though you won't get a reply here. Your voice still helps the team.
ShippedSays what will actually happen.

Both are anonymous in the database itself, not just on screen.

Huddl: why there's no reply button

A Huddl is a team retro: a few open questions, a few short thoughts from each player. When it closes, the whole team can read every answer. The board at the top of this page is a real one, from our own team.

We landed on emoji reactions, no replies. A reaction lets a player say “me too” without turning the app into a group chat, and the counts show a coach which answers the whole team agrees with. The conversation itself happens in person.

Huddl results with bookmarked topics and answers grouped beneath them.
Bookmarked topics help the coach know what to talk about in person.
Showcase Huddl results with player answers and emoji reaction counts, without reply controls.
Teammates can react to an answer; they can’t reply to it.

Plays: a space coaches can't see

Plays came out of co-design: players already share photos and clips in group chats. It's a players-only gallery, so players can post without wondering what their coach will think. The database enforces that, not just the menu.

That ruled out the usual safety net: a coach can't moderate what a coach can't see. So moderation stays inside the team: any player can report a post, a teammate the coach trusts reviews it, and every decision can be undone.

A player reports a post
Plays, with a post's menu open: Report.Report this post: the report is private; pick a reason, like harassment, spam or illegal content.
The moderator reviews it
Reports, To review: each reported post with its reason, and Remove or Dismiss.Remove this post? It disappears from the team gallery and the author is told why; it can be restored from the Removed tab.

Design and engineering

Leading the build

In the second quarter I led the product and was its only engineer. We built Huddl as a web app installed from the browser, so the sponsor could reach real teams without waiting on app store review.

The designers gave me a starting point. For Plays, the design covered posting one photo. While building, I designed the rest: several photos at once, video, and watching full screen. Small calls I made on the spot; big ones went back to the team.

The design: posting one photo
Plays in Figma, marked Ready for dev: onboarding, the feed, and the flow for posting a single photo.

What I built: several photos, video, and full-screen viewing

Screenshots of the built Plays: the upload menu, a post with several photos, a video post, and full-screen viewing for video and photos.

Where Back goes was another of those calls. Say a player opens a Huddl from Home, then taps Back:

A Huddl in progress.The coach's Huddl list.
BeforeIt followed the page hierarchy, to the Huddl list.
A Huddl in progress.Home.
ShippedIt goes back the way they came: Home.

The design system. I asked the designers not to build one up front; in the code, I decided screen by screen what became a shared component.

Making a web app feel like an app

An installed web app has to do by hand what a native app gets for free, so I tested on a real iPhone after every build. It starts at install: the website's only job is to get Huddl onto the home screen.

The Huddl website in Safari: Build the Team Behind the Team, and an Install the app button.
The website: one button, Install the app.
The installed app's welcome: what Huddl does for players and for coaches, then Join a team.
The installed app: what it does, then Join a team.

The biggest one was touch feedback.

Before
Feedback, concerns or suggestions?
In the installed app, nothing: no sign the tap landed.
Shipped
Feedback, concerns or suggestions?
Each one answers the moment it’s touched.

Notifications. A website can't reach you once it's closed; an app can. Huddl registers a service worker, a small script the browser keeps running in the background, so a push can arrive and show a notification while the app is closed. Players hear about a new Huddl or Vibe Check, a Huddl that has closed (or a tag in one), and a teammate's new play. On an iPhone this only works once Huddl is on the home screen, one more reason the website's only job is to install it.

Under the hood, the server signs each notification with our own key (VAPID, the Web Push standard) and hands it to Apple's or Google's push service. Closing a Huddl is a scheduled job: it waits until the deadline, releases the answers, and then notifies the team.

  • New HuddlYour coach has set up a retro. Tap to share your thoughts.
  • New Vibe CheckYour coach wants to hear how you’re feeling. Tap to start.
  • Results are inSee what your team shared in Huddl.
Three of Huddl's notifications, with the copy the app sends.
Huddl's splash screen: the wordmark on the app's cream.
A splash screen while it loads.
Plays mid pull-to-refresh: a spinner above the Huddl header.
Pull to refresh.
A Vibe Check report scrolled down: the Back button and the page name, June 2, stay pinned at the top.
Back and the page name stay put while you scroll.

Outcome

Live, and going to a team

Huddl is live at teamhuddl.com. At our capstone showcase, a team filled Plays with real clips and photos. Team Chemistry Design is now taking it to the women's soccer team at Saint Mary's College of California, and invited all four of us to stay on as advisors.