Inspiration

Bowel changes are one of the earliest signs that something is going wrong: constipation building on a new pain medicine, diarrhea after antibiotics, a possible bleed. In care homes and home care, those changes are easy to miss until they become an ER visit. People are embarrassed to bring it up, and when they do it's usually "I've had stomach problems for a while." We wanted logging to be painless and un-embarrassing for the person, and to give the care team a dated, sourced pattern instead of a vague memory. That's PointClickCare's Catch It Early challenge: spot a health risk before it becomes an emergency, and explain why.

What it does

Gut Feeling has two deliberately different apps that share one diary, plus a sip-counting water bottle.

Walter's story (our demo). Walter, a fictional older adult, starts a new pain medicine. Over a few days his usual type 4 stools turn hard, he isn't drinking much, and then his son confirms three days with no movement. Womby, the app's mascot, gives Walter a calm early nudge first. Then two rules fire ("repeated hard stools" and "consecutive confirmed days with no movement") and Walter rises to the top of nurse Priya's review queue with the evidence one click away. She calls the same morning instead of waiting for next week's visit. Without the flag, this kind of constipation can progress to impaction or obstruction and an ER trip.

Patient app. An installable phone web app built around Womby. A guided one-page log: Bristol type (illustrated picker), red/black colour question, symptoms, context such as a new medicine, notes, or a deliberate "no movement today" check-in. Optionally add a photo and Gemini suggests a Bristol type with confidence and limitations; the person always confirms it, and photos are never stored. Trends with 7/30/90-day charts and an on-request Gemini read of the person's own entries, a two-week pattern view, gentle "worth a look" warnings, printable visit notes, light/dark themes, and per-clinician sharing switches that can be turned off at any time.

Smart water bottle (hardware). A Grove 3-axis accelerometer taped to a water bottle and wired to an Arduino UNO R4. The Arduino detects each tip-and-return as a sip, shows the count on its LED grid, and prints running totals over USB; a small bridge script sends them to the app. Each sip counts as an estimated 30 ml, always labelled as an estimate. Fluids matter because constipation and hydration are linked: a dedicated rule flags hard stools on several days even when logged fluids looked adequate, which points to something other than "drink more water", such as a medicine.

Care-team workspace. A sortable patient table and a review queue ordered by priority, with the reason in one line. Every flag shows what changed, when, the exact entries behind it, timing context (like a new medicine), the rule in plain words and its caveats. No black-box risk scores, and every item is labelled by source: patient, rule, AI or clinician. A "Why was this flagged? Ask Gemini" card explains a flag in plain clinical language citing real entries, and "Ask Gemini about water" relates drinking timing to the stool pattern with cited data points. Clinicians record a decision and follow-up; new entries reopen the item.

Rules decide, Gemini explains, people act. Deterministic, configurable rules flag repeated loose or hard stools, consecutive confirmed no-movement days, patient-reported blood, severe pain or fever, a shift from the person's own baseline, and hard stools despite good fluids. Missing logs are treated as unknown, never as "no symptoms."

All demo people are fictional. This is a prototype, not a medical device.

How we built it

  • App: Next.js 16, React 19 and TypeScript as an installable PWA, with our own forest-themed design system. SQLite via Node's built-in node:sqlite. Deployed on Render.
  • Gemini API (@google/genai), five uses, each with a JSON response schema and zod validation: photo-to-Bristol estimate, flag explanations, trend reads, water-vs-stool insights, and care-team handoff summaries. Any output that cites an entry or flag that doesn't exist is dropped.
  • Hardware: Arduino UNO R4 + Grove accelerometer, an Arduino sketch that detects sips, and a Node USB serial bridge (port autodetect, reconnects, retries without double counting) that posts totals to a device-token API.
  • Rules engine in plain TypeScript with a personal baseline.
  • Security: scrypt password hashes, hashed httpOnly sessions, same-origin checks, server-side authorisation on every read, revocable consent, rate limiting, upload checks by file signature.
  • Testing: 117 unit/integration tests (Vitest) and 75 end-to-end browser checks (Playwright), including a simulated board sending sips over USB.

Challenges we ran into

  • Making AI useful without letting it diagnose. Rules decide what to flag, Gemini explains, and a clinician decides.
  • Trusting model output: structured output plus validation, and rejecting any explanation that cites entries that don't exist.
  • Getting sips off the bottle reliably. We dropped Wi-Fi and went wired over USB, and rewrote the bridge to keep the serial settings on Mac, reconnect, and never double count on retries.
  • Photo colour is unreliable under phone lighting, so AI never flags blood; only the person's own answer does.
  • "Didn't log" and "no movement" are different, so we ask for a deliberate check-in instead of guessing.

Accomplishments that we're proud of

  • Every flag explains itself with the exact entries behind it, the bonus Catch It Early asks for.
  • A real end-to-end loop: a sip on a physical bottle or a few taps on a phone, a rule fires, the nurse sees why, records a review, and the item reopens on new data.
  • Two views of the same week: calm and simple for Walter, dense and evidence-first for Priya.
  • Consent is real: per-clinician, revocable, timestamped, enforced on the server.

What we learned

  • In health tools, explainability and humility matter more than clever predictions.
  • Schema-validated structured output makes LLMs far safer to build workflows on.
  • Simple hardware earns its place when it removes a manual step, here logging water.

What's next for Gut Feeling

  • Validate rule thresholds with clinicians and measure photo accuracy on a labelled set.
  • A wireless, rechargeable bottle sleeve and real volume measurement.
  • Clinic admin and invite flow for care-team accounts.
  • EHR integration (for example PointClickCare) so flags land where care teams already work.
  • A pilot with a home-care team, with a health-privacy review (PHIPA/HIPAA).

AI tools used

We used Claude (Anthropic) via Claude Code as an AI coding and writing assistant. Google Gemini is part of the product itself. The team reviewed and tested every feature.

Built With

Share this project:

Updates

Submission history