Project Info
Inspiration
In our current hospital space, 93% nurses surveyed in a study reported they thought hospitals were understaffed. That means without proper care and watch over specific patients with no means of accessing the helpline themselves (i.e those physically unable to move, unaccustomed to communication, or marginalized groups), critical signals that lead to life-or-death decisions may be missed. Observed by one of our own teammates, these patients’ only source of outlet may be vocal outbursts or facial expressions to convey their pain and need for help, which is not necessarily picked up by physical monitors.. Oftentimes, especially in absence of family members, their moans and cries echo unnoticed by nurses in understaffed hospitals – until it is too late This is where ExpressCare comes in, a “call-button” technology that picks up these neglected cues to alert corresponding staff members, morphing hospitals into a more empathetic place.
What it does
Let’s consider a low-income, non-native english speaker that is admitted to an overstaffed hospital without family members. The language barriers alone make a big threat to communication, which is then amplified if the patient is physically constrained to the bed. ExpressCare monitors patients in these states and picks up distress queues to alert nurses if an overall distress index surpasses our threshold. ExpressCare “call-button” device then displays an alert with pain level index and duration on the nurses’ side, informing about a call for help. Our team considered varying needs in hospital spaces, including patients that need psychological support over immediate medical attention. Therefore, an elderly patient admitted for dementia that is exhibiting queues of confusion as the primary emotion may trigger the system as well. Our device monitors this and sends a milder message to corresponding staff members, including hospital volunteers of psychologists that may better address these circumstances. Nurses are able to monitor their patients during normal circumstances as well, as ExpressCare offers a display of levels of discomfort throughout the day.
How we built it
Express Care uses Hume API to configure facial patterns and vocal outbursts to pick up varying emotions. We used batch API and streaming API to process these configurations side-by-side, while isolating the specific negative emotions that resemble discomfort. A distress score is then calculated, which can include anger, pain, confusion, or others as underlying triggers.
Challenges we ran into
Getting the API to process audio and video was the primary challenge. We tried using PyAudio to store audio files and processing them in time intervals alongside video frames, and to get the technology to monitor vocal outbursts and facial expressions at the same time. However, we were unable to make it run on our local devices due to a PyAudio installation error, so decided to pare down the features we wanted to include in this iteration.
Accomplishments we're proud of
This is an incredibly important need that we've identified in the healthcare space, and are proud of the contribution we've made to this area.
What we learned
We learned a lot throughout this project that will be useful to us in the future--both technically and market knowledge of AI, and APIs as a product.
What's next
In the future, we would like to test this with real patients in a SF public hospital to measure the difference in length of distress period with and without ExpressCall, as well as to see if patients need anything else from this service. Additionally, we would like to expand its use case to an iteration where we measure loneliness, sadness, and boredom for the long-term stay patients to see if they need psychological intervention.
Cal Hacks 10.0 | Hume AI
Getting Started
-
Sign up: Navigate to https://beta.hume.ai/sign-up to sign up and obtain your API Key.
-
Let us know you signed up: Navigate to https://link.hume.ai/custom_model_sign_up for access to Custom Models and updates throughout the hackathon.
-
Documentation: Explore the Hume API documentation at dev.hume.ai. There you will find Guides, Recipes, FAQs, and our API Reference documentation.
-
Dataset Tips: https://dev.hume.ai/docs/data-tips-what-should-your-data-look-like
-
Support: You can reach us in the Cal Hacks Hume Slack Channel (
#spons-hume) or on the Hume Developer Community Discord Server.
Hume AI
Hume provides the AI toolkit to measure, understand, and improve how technology affects human emotion. Our algorithms understand nuanced speech prosody, vocal bursts, facial expression, and tone of language—which, integrated into large language models, will determine how people experience the future of AI. Our APIs can process video, audio, images, or text and can be integrated with LLMs to build better healthcare solutions, digital assistants, communication tools, and more.
Learn more about Hume AI, and the science behind the platform:
-
Hume AI Intro: The New Science of Expression
-
Fundamental Advances in Understanding Nonverbal Behavior | Keynote by Alan Cowen | ICML 2022
-
Our interactive expression model maps for the voice, face, and language: https://hume.ai/products/#models
Sample Projects
Below are a list of example projects in Python and NodeJS for reference to jumpstart your project development. Visit the #built-with-hume channel in the Community section of our Discord Server for more reference code!
Python
-
Expressions Prompt Engineering | Developed by our research team, this project is a solution for enhancing LLM prompts with expression via Hume APIs. ChatGPT and OpenAI language embeddings are also integrated to enable deeper experimentation.
-
Humechat | Sample project which usees OpenAPI with Hume AI. Also includes an example of how to stringify Hume API expression predictions with OpenAPI.
NodeJS
-
Hume Raw Text Processor | Sample project on processing raw text with Hume's Batch API. Implements polling for a job status before fetching predictions with exponential backoff.
-
Sandbox | Provides a sample on how to use Hume's Streaming API with your webcam and mic.
-
Hume Chrome Extension | Sample project which demonstrates how our Web Socket API could be used to obtain real-time inference results from our Face model for videos streamed in a web browser.
How Businesses and Researchers are utilizing Hume today:
-
Health & Wellness | Clinical diagnosis (e.g., depression, autism); patient monitoring, therap.y
-
AI Research/Services | The next generation of search, recommendation, and content generation.
-
Social Networks | Toxicity detection; health/well-being monitoring; relationship compatibility.
-
Call Center Analytics | Call triaging (e.g., frustration); emergency detection (e.g., pain); training.
-
Embedded Devices | Social robots; AI dashcams; warehouse safety.
-
Brand/Financial Analysis | Sentiment analysis for market forecasting and brand sentiment research.
-
Creative Tools | Character animation; content generation, editing, and curation.
-
Digital Assistants | Conversational AI (e.g., backchanneling); optimization (e.g., ↓ frustration).
-
UX/CX Research | Sentiment analysis of user interviews and tests.
-
Gaming & XR | Animation; virtual characters; moderation (e.g., bullying); optimization.
-
Education/Coaching | Focus/boredom detection; student well-being; leadership coaching.
-
Sales/Meeting Analytics | Sales rep coaching; analyzing customer engagement and sentiment.
Analysis
View
Metric
- 5
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- JavaScriptIn code
- Next.jsIn code
- OpenAIIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
8 of 8 appear in the indexed code.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
83 KB
Source files
61
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
lillianyjiang/CalHacks
78 files · 166 KB · @ 02f2f60
Structure
Interface
27 files · 35%Screens, components and styles rendered to the user.
Application logic
25 files · 32%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript81%
- Python9%
- Markdown9%
- JavaScript1%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
sandbox/package.json
npm · 16- @fontsource/poppins
- @phosphor-icons/react
- @types/node
- @types/react
- class-variance-authority
- next
- react
- react-dom
- react-use
- tailwind-merge
- typescript
- +5 more
humechat/requirements.txt
pypi · 12- colorama
- git
- gTTS
- hume
- hume[stream]
- numpy
- openai
- opencv-python
- playsound
- pvrecorder
- pynput
- whispercpp
hume-raw-text-processor/package.json
npm · 22 development-only dependencies.
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.