The Gemma 4 Good Hackathon

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.

  1. 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.

  2. 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.

  3. 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.