CareSignal

Inspiration

Family caregivers often notice health deterioration through small changes: a slightly lower oxygen reading, a rising temperature, increasing pain, or new breathing difficulty.

These changes may happen gradually across several days, making the overall pattern easy to miss. CareSignal was inspired by the idea behind clinical Early Warning Scores used in hospitals. We wanted to adapt that safety practice into a simpler, more accessible tool for family caregivers at home.

What it does

CareSignal helps caregivers record and understand daily health observations for multiple patients.

Caregivers can record:

Oxygen saturation Temperature Blood pressure Breathing difficulty Pain level Confusion Medication adherence Free-text journal notes The application analyzes the readings using transparent, deterministic rules and assigns one of four statuses:

Stable Monitor Concerning Urgent CareSignal also provides:

A multi-patient dashboard Last check-in indicators Health trend charts Direction arrows for changing vital signs Explanations for each risk status A printable patient summary Input validation and duplicate-date protection An in-app explanation of the safety architecture

How we built it

CareSignal was built as a Flask web application using:

Python Flask SQLite HTML CSS JavaScript Chart.js Optional OpenAI-compatible API The application is divided into clear layers:

Database layer: Stores patients and daily observations in SQLite. Risk engine: Applies deterministic Python rules to calculate the risk level. Explanation layer: Generates a plain-language explanation using either an optional AI service or a local fallback template. Flask routes: Connect the application logic to the web interface. Frontend: Provides dashboards, forms, charts, reports, and responsive layouts. The most important architectural decision is:

Rules decide the risk. AI only explains the result.

The AI never determines, raises, lowers, or overrides the actual risk level. If no AI key is available, or if an AI request fails, CareSignal continues working with a local explanation template.

The project uses synthetic demonstration data, including a seeded patient named Ahmed whose risk changes from Stable to Concerning to Urgent over three days.

Challenges we ran into

Designing a safe AI boundary The first challenge was deciding how AI should be used in a health-related application. A chatbot making medical decisions would be difficult to trust and difficult to evaluate.

We solved this by separating risk calculation from language generation. The rules engine determines the result, while AI can only explain the already-determined result.

Working without guaranteed API access An external AI API key may not always be available. To avoid making the application dependent on a secret, network connection, or paid service, we added a local fallback explanation system.

The app works correctly in three situations:

No API key is configured An AI call succeeds An AI call fails or times out Resolving framework confusion During development, the project briefly contained both Flask and Streamlit versions. We reviewed both implementations and kept Flask because it provided the more complete workflow for this submission:

Multi-page navigation Chart.js timeline Printable reports Browser-tested forms Friendly validation Existing HTML and CSS customization The final repository contains only the Flask implementation.

Handling imperfect input Real users may submit incomplete readings, impossible values, duplicate dates, or text instead of numbers.

We added validation for:

Oxygen saturation range Temperature range Blood pressure range Pain level range Valid dates Missing numeric values Duplicate patient/date check-ins Invalid submissions now return clear messages instead of crashing the application.

Accomplishments that we're proud of

We are proud that CareSignal is more than a generic dashboard. Every risk result can be traced back to specific observations and rules.

We are especially proud of:

Building a working multi-patient caregiver workflow Making the risk logic deterministic and inspectable Preserving caregiver notes alongside structured readings Showing gradual health changes through charts and history Adding an AI fallback so the app works without external services Creating a printable patient report Handling missing and invalid data safely Testing the app through both automated checks and browser interaction Keeping the interface focused instead of adding unnecessary hospital-management features The seeded Ahmed scenario demonstrates the core experience clearly: Day 1: Stable Day 2: Concerning Day 3: Urgent

What we learned

We learned that safety-sensitive applications should not rely entirely on generative AI for important decisions.

A deterministic rules engine is:

Easier to test Easier to explain Easier to debug More reliable when no API is available More transparent to users and judges We also learned that separating the database, risk logic, explanation logic, and presentation makes the application easier to improve without breaking other parts.

Browser testing taught us that a feature can work in Python but still fail in the real interface. We verified actual form submissions, redirects, rendered charts, visible disclaimers, report pages, and validation messages.

Finally, we learned that a strong hackathon project is not necessarily the one with the most features. A focused, understandable, and reliable workflow is more valuable than a large collection of unfinished ideas.

What's next for CareSignal

Future versions could include:

Optional user authentication Secure cloud database support Role-based access for caregivers and healthcare professionals Encrypted storage for sensitive information Offline chart assets Server-side PDF generation More configurable monitoring rules Additional language support Voice-based check-ins Clinician review and sharing workflows Integration with approved medical devices These features would require additional privacy, security, clinical validation, and compliance work. The current version remains intentionally limited to an educational prototype using synthetic data.

CareSignal does not diagnose medical conditions and does not replace professional medical advice. In an emergency, users should contact a doctor or emergency services immediately.

Built With

Share this project:

Updates

Submission history