The Gemma 4 Good Hackathon · Main Track · Fourth prize
DEMENTOR
Built by Inchara
An elder-care prototype with wearable sensor alerts and a structured Gemma triage response. The reviewed hub processes text and sensor data; the claimed speech transcription and vision paths are missing.
I also participated in this hackathon with Memory Moment. This coverage was prepared independently after results were announced.
The idea worth stealing
The model is allowed to fill in a form, and nothing else.
Dementor never lets Gemma 4 chat with a person who cannot always self-report. Speech is meant to be transcribed locally, a keyword gate routes anything that sounds like a symptom or a medication to a specialist head fine-tuned with Unsloth, and that head may only emit JSON: an urgency level, follow-up questions, a caregiver summary, and a safety note. A fixed schema limits the response format; it does not establish that the content is safe or correct.
What we checked
Date checked: .
Public repository at the submission revision, Kaggle writeup, and linked artifacts; code was read, not executed. Deployment checks and limits are described below.
Labels apply to each finding and the evidence described, not to the project as a whole.
Not independently verified means the available evidence was insufficient to confirm a claim. It does not mean the claim is false.
-
The hub never hears the audio
Inconsistent
Before prompting, analyze_capture swaps audio and image bytes for a placeholder like “<base64 81920 chars>”, and the model is a text-only llama-cpp completion. No Vosk or Whisper exists in the repository, so nothing transcribes speech. Source
What we need: The submitted audio-processing implementation and an audio-to-transcript trace, or a corrected capability description.
-
Routing is a keyword list, not function calling
Inconsistent
Seven regular expressions (pain, chest, fell, headache, emergency, meds, suicid) decide whether a transcript reaches the specialist. Gemma’s only tool call is append_context, for durable facts. Source
What we need: Submitted code and a trace showing model-driven specialist routing, or a description matching the keyword rules.
-
The form is real
Verified
The prompt demands JSON with urgency, follow-up questions, caregiver summary, and safety note; the parser clamps urgency to five values, keeps at most three questions, and falls back to keyword rules. No posture field exists. Source
Under the hood
- Falls are caught at 2.7 g
- The ESP32 streams an MPU6050 over UART and I2S audio over RTP; the Pi listener flags a fall at 2.7 g or 180 degrees per second with an eight-second cooldown, and the emergency loop runs with no model at all.
- The adapter is Gemma 4; the script says Gemma 2
- The Unsloth training script defaults to gemma-2-2b-it and ships four sample rows, but the LoRA on Hugging Face was trained on gemma-4-e2b-it and uploaded on May 18.
Nuance
At the submission commit the hub is a FastAPI service the demo guide runs on a laptop, and that commit reverts a change which injected mock data and intercepted chat queries for the demonstration. The sensor loop and the JSON contract are real; the local speech, vision, and posture parts the writeup describes are not in the code. We did not run the five test files.
Sources
Last updated: . Editorial updates do not imply a new technical check.
Builder credits reviewed: , using the official announcement, submission, and any linked credit sources.
Builder? Add context, request a correction, or ask for a re-check →
- Official winner announcementkaggle.com
- Submissionkaggle.com
- Repositorygithub.com
- Demoyoutu.be
- Live appdementor-ten.vercel.app
- Gemma clientgithub.com
- Fall thresholdsgithub.com
- LoRA adapterhuggingface.co
- The hub never hears the audiogithub.com
- Routing is a keyword list, not function callinggithub.com
- The form is realgithub.com