CASE STUDY  ·  UX DESIGN
an ethical assistant FREDDY AI

An AI meeting assistant designed with trust as a first-class feature, proving that consent should be a design constraint — not an afterthought.

The Catalyst

The Invisible Participant

By late 2023, there were already a bunch of AI meeting assistants out there. Otter, Fireflies, Fellow — all of them could transcribe, summarize, pull out action items. Most of them did that pretty well. But none of them asked if that was okay.

Otter just shows up in your Zoom call as a user. The recording's already started by the time anyone sees the notification. For someone who joined late, or a client who wasn't expecting it — they have no idea what's happening to what they're saying. And for teams where consent actually matters culturally, this isn't a minor thing.

Nobody had designed around the most basic question: do the people in this meeting know they're being recorded, and did they agree to it?

There's also just a lot of wasted effort that happens between meetings. New stakeholders need briefings. Action items live in three different tools. People send Slack messages asking what was decided, when the answer is sitting in a transcript nobody's read. The existing tools chip away at that — but they create a different problem by entering professional conversations without any kind of trust established first.

We wanted to build something where consent wasn't an afterthought buried in settings. Trust had to be part of how it worked from the start.

The Landscape

Competitive Analysis

Before touching any UI, we looked at what was already out there — the three tools with the most traction. Not to just list what was wrong with them, but to figure out exactly what none of them were doing.

Tool Key Features Core Gap How Freddy addresses it
Otter.ai Real-time transcription, summary, share & analysis Joins as a meeting attendee and begins recording before participants are informed — consent is entirely absent from the design A consent notice appears immediately for every participant, every meeting, every time. No auto-dismiss.
Fellow Auto-joins all meetings, embeds recordings into notes, AI-generated post-meeting summaries Pricing model makes it inaccessible for small teams and independent consultants Designed as a multi-platform tool with feature parity across team sizes, no gated tiers for core AI features
Fireflies Real-time capture, variety of pricing options, good for simple transcripts Transcription quality degrades sharply with accents and technical domain language — unreliable for international or specialized teams Google Cloud Speech-to-Text with NLP post-processing, with a language toggle built directly into the transcript view

The moment that kept coming up: someone joins a call mid-meeting and realizes they've already been recorded. Nobody warned them. Nobody asked. None of the tools we looked at had designed for that. We made it the center of everything.

How We Got There

Design Process

We spent the first stretch just mapping the problem before opening Figma. When we brainstormed everything that goes wrong in and around meetings, six clusters kept coming up. Each one basically became its own feature brief.

Ideation — Problem Space Mapping
Consent & Trust
  • Tools join silently without notice
  • Recording starts before users opt in
  • Privacy concern for clients & guests
  • Led to: Consent popup at meeting start
Context Loss
  • New members need 30-min briefings
  • Late joiners miss key decisions
  • No structured recap across tools
  • Led to: AI summary + chatbot Q&A
Task Scatter
  • Action items live in 3 different tools
  • Deadlines mentioned but never logged
  • Follow-up falls on memory alone
  • Led to: Task extraction + calendar sync
Meeting Drift
  • Conversations derail from agenda
  • No signal when time is being lost
  • Host reluctant to interrupt senior members
  • Led to: Agenda enforcement alerts
Info Retrieval
  • Transcripts sit unread in shared drives
  • Searching meeting content is manual
  • Summaries too long to skim quickly
  • Led to: AI insights panel + chatbot
Follow-up Friction
  • Writing recap emails takes 20+ minutes
  • No link between meeting and next steps
  • Action items repeat across meetings
  • Led to: @freddy generate follow-up email
Discovery brainstorm — six problem clusters that shaped the Freddy feature set

From there we mapped the full information architecture before touching any individual screens. Four main surfaces — My Meetings, Calendar, Schedule Meeting, Tasks. We wanted to understand the whole system first.

Freddy AI user flow diagram — information architecture across four primary surfaces: My Meetings, Calendar, Schedule Meeting, and Tasks Information architecture — four primary surfaces mapped before any screen design began
The Execution

The Design Approach

We split the design into three phases — before, during, and after. One rule kept coming up across all three: Freddy should make your life easier, not give you one more thing to deal with. Every feature got checked against that.

Phase 1 — Pre-Meeting

The whole scheduling flow is inside Freddy. You pick your platform, set the time, add participants, write an agenda — done, without leaving the app. Freddy handles the calendar sync, availability check, invites, and RSVP tracking.

The agenda isn't just a text field. Freddy actually uses it throughout the meeting — to notice when the conversation drifts, to structure the post-meeting summary, and to keep the chatbot grounded in what was actually said.

Freddy AI pre-meeting scheduling interface showing platform selection, agenda input, and calendar sync Pre-meeting — platform selection, agenda setup, and participant management in a single flow

Phase 2 — During the Meeting

Design Differentiator — Solving Otter's Core Shortcoming

The Consent Notice

When Freddy joins, everyone sees it immediately: "This meeting is being recorded for Freddy AI purposes. The following data is collected: meeting recording, participant name, participant email." It doesn't auto-dismiss after two seconds. It's not hidden in account settings. Every participant, every meeting. By the time most people notice Otter is recording, it's been going for five minutes.

Freddy AI privacy disclaimer shown immediately to all participants when recording begins During the meeting — consent notice shown to every participant the moment Freddy joins. Cannot be dismissed without acknowledgement.
Unique Feature — Agenda Enforcement

Meeting is going out of conversation

When the conversation goes off topic, Freddy surfaces a small notification with two options: "Stop Reminders for this meeting" or "Keep recommending." The host doesn't have to interrupt anyone — Freddy flags it and backs off immediately. We didn't see this anywhere in our competitive research. It's what makes Freddy something other than a fancier transcription service.

Freddy AI agenda enforcement alert — Meeting is going out of conversation, with Stop Reminders or Keep Recommending options Agenda enforcement — a non-blocking alert with two options: stop reminders entirely, or keep recommending

Phase 3 — Post-Meeting

After the meeting, everyone gets a dashboard with the full transcript, a topic-by-topic AI summary, extracted action items with suggested deadlines, and a chat interface where you can actually do things with the content.

Post-meeting dashboard showing transcript, AI insights panel with key details extracted from the meeting Post-meeting — transcript view with AI insights: key decisions, action items, and participant details extracted automatically

The follow-up email came up the most in every demo. You type @freddy generate a follow-up email and it drafts one from the actual transcript. It can only pull from what was said in that meeting — not from anywhere else. That was a deliberate call.

Post-meeting summary view with AI-generated follow-up email in the Freddy chat panel Summary tab — topic-grouped meeting summary and AI-drafted follow-up email on demand
Under the Hood

Technical Architecture

Voiceflow handled the whole conversational layer. The task scheduling flow was the most complicated part — it had to parse natural language, extract a date, check calendar availability, and confirm back with the user, all inside one chat thread.

How the Voiceflow Pipeline Works

From spoken deadline to calendar event — automatically

When Freddy picks up a task assignment in the transcript, it pulls out the deadline reference. A custom JavaScript block in Voiceflow takes whatever someone said — "by end of next week," "December 28th" — and converts it to a structured date. Freddy shows the extracted date to whoever it's assigned to, proposes available slots, and once confirmed, writes it straight to Google Calendar. Nobody leaves the chat.

Voiceflow conversation flow diagram showing task deadline extraction, date parsing, and calendar confirmation blocks Voiceflow implementation — the task extraction pipeline: transcript analysis → date parsing → availability check → calendar write
  • Audio Ingestion & NLP: Live audio is captured and passed to Google Cloud Speech-to-Text. The transcribed text runs through natural language processing to identify named entities and perform VADER-based sentiment analysis.
  • Task Extraction: When the system identifies a task assignment, Voiceflow extracts the deadline reference. Custom JavaScript blocks parse natural language date expressions into structured date objects.
  • Calendar Sync: Freddy surfaces the extracted task to the relevant participant for confirmation. Once confirmed, it writes the event directly to Google Calendar without the user leaving the chat thread.
Chatbot scheduling interaction showing task deadline confirmation and available time slot selection End-to-end task scheduling — Freddy proposes available slots, user confirms, Google Calendar updates automatically
The Constraint

The Ethics Layer

For this project we used Microsoft's 18 Guidelines for Human-AI Interaction as an actual design constraint — not something we checked against at the end of the semester. A lot of them shaped specific decisions directly. Hover any guideline to see how we handled it, or why we didn't.

Guidelines for Human-AI Interaction
Full color = implemented · hover for details
Faded = out of scope for V1
👁  Initially
01
Make clear what the system can do
Guideline: Help users understand what the AI is capable of.

Freddy: Onboarding and the consent popup explicitly list every capability and every data type collected. No hidden features.
02
Make clear how well the system can do what it can do
Guideline: Help users understand how often the AI may make mistakes.

Freddy: AI summaries are framed as drafts for human review, not authoritative outputs. Transcription limitations are disclosed upfront.
🤚  During Interaction
03
Time services based on context
Guideline: Time when to act or interrupt based on the user's current task.

Freddy: Agenda drift alerts only fire when conversation meaningfully diverges — not constantly. Freddy reads context before interrupting.
04
Show contextually relevant information
Guideline: Display information relevant to the user's current task and environment.

Freddy: The AI insights panel surfaces details from the current meeting only — never generic suggestions.
05
Match relevant social norms
Guideline: Ensure experience is delivered in a way users would expect given their cultural context.

Not in scope — Cultural variation in meeting etiquette wasn't designed for. A gap for the next version.
06
Mitigate social biases
Guideline: Ensure AI language doesn't reinforce unfair stereotypes or biases.

Not in scope — Transcript analysis doesn't account for dominant-speaker dynamics or seniority bias in extracted insights.
⚠  When Wrong
07
Support efficient invocation
Guideline: Make it easy to invoke the AI when needed.

Freddy: The @freddy trigger summons the AI precisely when needed — emails, scheduling, Q&A — without it being persistently active.
08
Support efficient dismissal
Guideline: Make it easy to dismiss or ignore undesired AI services.

Freddy: "Stop Reminders for this meeting" dismisses agenda alerts instantly with one tap.
09
Support efficient correction
Guideline: Make it easy to edit or recover when the AI is wrong.

Freddy: Transcripts are editable, summaries can be regenerated, action items dismissed. Freddy drafts — humans decide.
10
Scope services when in doubt
Guideline: Gracefully degrade when uncertain about user goals.

Freddy: The chat bot only draws from the current meeting transcript — no speculation, no external sources.
11
Make clear why the system did what it did
Guideline: Let users access an explanation of AI behaviour.

Freddy: The consent popup states exactly what data is collected and why. "Was this helpful?" lets users flag unexplained AI decisions.
⏱  Over Time
12
Remember recent interactions
Guideline: Maintain short-term memory for efficient back-references.

Not in scope — Freddy has no persistent memory across sessions. Each meeting starts fresh. Cross-session memory is a V2 priority.
13
Learn from user behavior
Guideline: Personalize experience by learning from user actions over time.

Not in scope — No personalization engine. Preferences reset each session in the current prototype.
14
Update and adapt cautiously
Guideline: Limit disruptive changes when adapting AI behaviours.

Not in scope — The system doesn't adapt from historical patterns. Requires persistent memory that V1 doesn't have.
15
Encourage granular feedback
Guideline: Let users indicate their preferences during regular interaction.

Partially — Thumbs up/down captures binary signal only. What specifically was wrong wasn't implemented.
16
Convey the consequences of user actions
Guideline: Convey how user actions will impact future AI behaviour.

Freddy: Before any calendar sync, Freddy shows the exact slot being booked and asks for explicit confirmation.
17
Provide global controls
Guideline: Let users globally customise what the AI monitors and how it behaves.

Freddy: Users can pause recording, disable insights, and stop all agenda reminders from settings.
18
Notify users about changes
Guideline: Inform users when the AI adds or updates capabilities.

Freddy: Every participant sees the consent notice at meeting start. No silent state changes — if Freddy is recording, everyone knows.
Microsoft · 18 Guidelines for Human-AI Interaction
We implemented 12 of the 18 guidelines in this prototype. The other 6 are documented above — not because they don't matter, but because they'd need features that weren't in scope for V1.

The harder questions we didn't resolve

Some questions came up that we genuinely couldn't answer. If Freddy gets a summary wrong, who fixes it and whose responsibility is that? If a senior person sets up agenda enforcement and a junior person's comment gets flagged — is the AI doing something a person shouldn't be able to do unilaterally? We didn't solve those. We documented them instead of pretending they weren't there.

Final Thoughts

Reflection

Freddy is the project I'm most proud of academically, and the one I'm most critical of as a designer.

What worked: Using the Microsoft guidelines as actual design constraints, not just something to cite. It forced real decisions. The consent popup is a simple thing but no commercial tool had done it right, and I think it's because nobody was treating it as a design problem — just a legal one.

What I'd do first next time: Get this in front of actual users. We never did. I have no idea if the consent notice felt reassuring or alarming to someone seeing it for the first time. I don't know if the agenda alerts felt useful or condescending. Those are real questions we skipped.

What the next version needs: Cross-session memory so Freddy learns your team's patterns over time. Personalization for summary styles and alert thresholds. Local processing for teams in sensitive industries. Better speaker identification across accents. Building consent-first from the start is easier than going back and adding it to something that wasn't designed around it.

What I'd bring to every project: Using ethics as a constraint, not a final section. Every time we had to justify a decision against a specific guideline, it made the reasoning sharper. Instinct wasn't enough on its own. I want to keep doing that.

Next Case Study

Design for Elderly →
🤖 URMIK AI INITIALIZING...
🤖 URMIK AI INITIALIZING...
🤖 URMIK AI INITIALIZING...