Skip to content

Talos Care — conversational AI medical pre-screening agent. Case study by Garv Malik.

HTI.560 Conversational AI · Tampere University

A multimodal conversational AI that helps patients disclose sensitive health information before a doctor's appointment — without the fear of human judgment.

Conversational UXVoice DesignAI IntegrationAccessibilityFigmaJavaScript
RoleUX Engineer & System Architect
CourseHTI.560 · Jan – May 2026
ToolsFigma · Groq API · Web Speech API · JavaScript
TeamHarshith Arava, Vishakha Thakur, Donya Davoodi

Live Deployment · GitHub Pages

The app is hosted and fully navigable. The AI screening chat requires a Groq API key — not embedded for security reasons. To try it: paste your key in the app's Settings, or contact Garv for a live walkthrough.

Open Live App ↗

App Screens

Real screens from the deployed application — scroll to explore

Home

Chat — Start

Chat — Input

Voice — Thinking

Voice — Listening

Mid Session

Review Summary

Emergency

Settings

Past Summaries

The Problem

Patients lie to their doctors. Not out of malice — out of shame.

"Patients are often more willing to disclose stigmatized information to a machine because it lacks the capacity to judge socially." — Blease, The BMJ, 2024

Sensitive symptoms — substance use, sexual health, mental health struggles — are routinely withheld or downplayed during clinical appointments. Patients fear moral judgment from doctors. Clinical time is limited; a 15-minute slot rarely builds the trust needed for honest disclosure.

This information gap leads to inaccurate diagnoses and worse care outcomes. The question was: could a carefully designed AI agent, positioned before the appointment, fix this?

Research & Key Insights

We grounded every design decision in academic literature on the Automaton Effect, ethical AI in healthcare, and patient-chatbot interaction styles.

The Automaton Effect

Research by Blease (2024) confirms patients disclose more sensitive information to machines than to clinicians, precisely because the machine cannot socially judge them.

Fake Empathy Backfires

CHI 2024 research by Lyu et al. showed that chatbots saying "I'm so sorry for your pain" were perceived as creepy and insincere. Users preferred "Clinical Validation" — clear, task-focused acknowledgment.

Autonomy is Non-Negotiable

Ethical AI literature on mental health tools (JMIR 2025) found that explicit opt-out controls are critical — users need to feel in control, not interrogated.

Users Are Emotionally Vulnerable

Clinical environments involve anxiety, pain, and distraction. Interfaces must be high-contrast, forgiving of errors, and never force a yes/no binary on ambiguous symptoms.

A

Anxious Alex

Age 22 · Seeking advice on sexual health

Pain Points

Fear of moral judgment

Intimidated by authority figures

Goals

Disclose symptoms accurately

Feel reassured of confidentiality

P

Private Patricia

Age 65 · Experiencing early signs of cognitive decline

Pain Points

Deep embarrassment

Fear of losing independence

Goals

Slow-paced, patient interaction

Explain symptoms in her own words

Design Process

01 — Literature Review & Concept

Grounded the entire system in the Automaton Effect and established the ethical opt-out framework. Defined personas and scoped the system to pre-clinical screening — not diagnosis. The AI was never allowed to act like a doctor.

02 — Conversation Scripting

Drafted dialogue trees for high-sensitivity conditions (anxiety, sexual health). Applied the "Clinical Validation" principle from CHI research — acknowledgment over fake empathy. Wrote the two-step closing protocol to ensure the AI always summarizes before ending.

03 — Interface Design in Figma

Designed the full component library — the Voice Orb states, quick-reply button variants, the sticky action bar with persistent "Prefer not to answer" affordance, and the final PDF Review screen. High-contrast, forgiving, and mobile-first throughout.

04 — AI Integration & Prompt Engineering

Connected the front-end to the Groq API (Llama-4-Scout) using strict JSON-mode prompting. This constrained the AI to ask exactly one question per turn, prevented unsolicited diagnoses, and reliably generated dynamic on-screen buttons alongside spoken responses.

05 — Voice UX & Error Handling

Implemented the Web Speech API with custom pitch-shifting logic for three distinct voice personas. Designed multimodal fallback: if speech recognition confidence dropped below 60%, the system automatically switched to on-screen buttons, preventing dead ends.

06 — The Handoff Redesign

The original plan emailed the summary to the doctor — until we asked one question: does any patient actually know their doctor's email address? Nobody does. We replaced the entire flow with a QR code: the summary is compressed into a link the doctor scans at the appointment, opening a clinical document on their own device. More realistic, and more private — the data never touches a server.

Sample Dialogue

A real exchange from the anxiety pre-screening flow. Notice the agent never forces a yes/no — it always offers an escape hatch.

Scenario 1 — Low Energy Screening
TalosHave you felt significantly lower energy than usual in the past two weeks?
PatientI guess… maybe? I don't know if it's medical.
TalosIt can be hard to tell. Would you like to select "Unsure", or describe how it affects your daily routine?
PatientI've just been sleeping more than usual.
TalosI've noted that. Thank you — that's helpful context for your doctor.
Scenario 2 — Mood & Social Withdrawal
TalosI need to ask a few questions about how your mood has been recently. You can skip any question if you prefer.
PatientOkay.
TalosHave you been avoiding social situations or daily activities more than usual?
PatientMaybe… I just feel tired all the time.
TalosThat is okay. Would you like to describe what has felt difficult lately, or select "Unsure"?
PatientI think talking to people feels exhausting.
TalosI've noted that. Your doctor will have this context before your appointment.

Design note — The agent never says "I'm sorry you're going through this." It says "I've noted that." Clinical validation over performed empathy. CHI 2024 research showed the neutral bot was consistently rated more trustworthy.

The Solution

A zero-backend, multimodal conversational web app. Every design decision was driven by one constraint: the patient must always feel in control, never interrogated.

Neutral-Supportive Persona

Clinical validation over fake empathy. The agent acknowledges inputs clearly without performing emotions it cannot actually have.

Explicit Autonomy

A persistent "Prefer not to answer" button is always visible. Every sensitive topic opens with a reminder that skipping is always an option.

No Dead Ends

Speech recognition failure, hesitation, or ambiguity never ends the conversation — the system always offers a clear next step.

Voice Orb with Silence Detection

A continuous listening interface with distinct visual states — idle, listening, processing. Silence detection automatically stops recording, removing the need to tap a button.

Dynamic Quick-Reply Buttons

The Groq LLM generates context-aware on-screen buttons for each question in real time via JSON prompting. Users can tap or speak — both inputs are equally first-class.

Two-Step Closing Protocol

Before any session ends, the AI is forced to produce a structured summary and ask for the patient's final confirmation. Nothing gets submitted without explicit patient approval.

QR Clinical Handoff

The summary is compressed into the URL fragment of a shareable link — the doctor scans a QR code and a clinical document opens on their own device. Fragments never reach a server, so patient data never leaves the patient's control.

Technical Stack

AI Engine

Groq API (Llama-4-Scout)

Strict JSON-mode prompting. Constrained to one question per turn. Prevented from diagnosing.

Voice Engine

Web Speech API + ElevenLabs

Custom pitch-shifting logic for Male, Female, and Neutral voice personas. Multimodal fallback at <60% confidence.

Frontend

HTML / CSS / Vanilla JS

Deployed live via GitHub Pages. No framework dependencies — fast load, zero build overhead.

Privacy Layer

localStorage + jsPDF

All session data stays on-device with enforced 30-day auto-deletion. Clinical PDF generated in-browser. No backend database.

Clinical Handoff

QR + Web Share + lz-string

Summary compressed into a URL fragment — fragments never touch a server. The doctor scans a QR and gets a print-ready clinical document instantly.

Design

Figma

Full component library covering all interface states — orb, buttons, summaries, error states.

My Contribution

UX Engineer & System Architect

System architecture — zero-backend privacy model

QR clinical handoff design (lz-string URL encoding)

Groq API integration and JSON-mode prompt engineering

Constraining LLM to clinical-safe behaviour (no diagnosis)

Multimodal voice state machine (orb, silence detection)

UI localization across 10 languages, synced with Whisper + LLM

Error handling for API rate limits with animated fallback UI

GitHub deployment pipeline and live app delivery

Figma component library for interaction states

What I Learned

Bridging UI design and live AI constraints is its own discipline. Writing prompts that produce predictable, safe, one-question-at-a-time clinical dialogue required weeks of iteration — not minutes.

We underestimated the complexity of voice-to-text mode switching. State management for overlapping audio streams had to be fully rewritten mid-project to fix an audio collision bug.

Designing for vulnerable users sharpens every instinct. Error messages, loading states, and fallback paths cannot be afterthoughts when the user might be anxious, in pain, or distracted.

Outcomes

15–20

Questions per session

Strict LLM prompting kept the screening focused and clinically efficient.

10 min

Live demo validated

Fully functional prototype demonstrated in real time to course faculty.

0

Backend servers needed

Complete zero-backend privacy architecture — patient data never leaves the device.

The most significant design outcome: the AI was successfully constrained to never act as a doctor. It asks. It records. It hands off. That boundary — between data collection and clinical judgement — was the hardest design problem and the most important one to get right.

What's Next

The app is live and functional. These are the concrete next milestones planned for the clinical handoff phase.

Platform

Shipped

Progressive Web App

Service worker + manifest so patients can install Talos directly to their phone home screen. Offline caching keeps the UI functional without internet.

Platform

Shipped

Multilingual Support

Expanded from 3 to 10 languages. Whisper voice transcription, LLM responses, and the full UI all sync to the selected language.

Clinical

Shipped

Pre-Screening Intake Form

A dedicated optional form before the chat collects age, medications, and allergies. Frees the AI to focus purely on symptom screening.

Clinical

Shipped

QR Clinical Handoff

The summary travels inside a QR code / shareable link as a compressed URL fragment — the doctor scans it and a clinical document opens on their device. Replaced the original email plan: patients don't know their doctor's email.

Resilience

Shipped

Rate-Limit Error Handling

HTTP 429 responses trigger an animated banner with a live countdown timer and auto-retry logic — the user never hits a dead end due to API throttling.

Evaluation

A/B Usability Study

Comparative test between Talos and a standard digital intake form, measuring "Ease of Disclosure" scores with real volunteers.

Reflection

Talos Care sits at the intersection of conversational UX, clinical ethics, and real AI implementation. Most portfolio projects exist as Figma prototypes. This one runs in a browser, speaks ten languages in a chosen voice, and hands the doctor a scannable clinical document — no server ever sees the patient's data.

Designing for patients who are afraid required a level of care I hadn't applied to consumer apps. Every label, every fallback message, every moment of silence had to be intentional. The research wasn't decoration — it was load-bearing. The "Neutral bot is more trustworthy than Empathetic bot" finding directly rewrote our scripting.

What I carry forward: the habit of designing the unhappy path with the same rigor as the happy path. And the understanding that in high-stakes interaction design, the system's limits are as important as its capabilities.

Open to UX/UI internships — Finland & Europe

Interested in working together?

thegarvmalik@gmail.com