-
-
-
See where Elena is, what’s planned and how to reach the ward, all in one shared family overview.
-
Bring hospital letters, care-team updates and planned care into one timeline, with the sources close at hand.
-
Turn a recording into a written update, with time to check every word before sharing with the family.
-
-
Record, type or photograph an update, then check it before sharing, so the family can follow along.
-
See the original words behind each update, who shared them and what still needs confirmation.
-
Catch up on what’s new and see which tasks need a hand, so everyone has a way to help.
-
When a new concern comes up at home, see the next step alongside the discharge instruction it comes from.
-
Keep warning signs, daily check-ins and going-home preparations together for the first days at home.
Inspiration
When someone we care about has an accident, usually one person stays by their side, listens to the doctors, and shares updates with everyone else. Each time the story is retold, it changes a bit. Family in other cities hear different versions, and small details can get lost between night and day shifts. When the patient goes home, the family is left with a discharge letter, a bag of medicines, and one big question: is this serious?
I wanted to create something families really need: a shared timeline that keeps everyone updated, from the accident to the first days at home. The person closest to the patient shouldn't have to handle all the conversations by themselves.
What it does
KindredRelay-HomePreflight follows a fictional family: Elena, 82, has broken her hip. Her daughter Anna is with her in London, her son David is in Toronto and her granddaughter Mia is in Melbourne.
During the hospital stay: one family timeline
- Where is Mum now? The page opens on a Right now card: the ward and bed, and what is planned next.
- Share once, and everyone gets the update. Anna can record or type an update just one time. Each fact keeps its original wording, who said it, and when. Each family member sees what's new since they last checked, in their own time zone.
- The care team is always in charge. When the plan changes, the latest update from the care team comes first, and earlier updates are still easy to find. Family reports never replace what the care team says. For example, if a drip planned for 7 a.m. still isn't started at 8:30, Anna can note it and ask. The day nurse then checks the chart and makes a decision.
- Get answers without having to ask Anna. The Ask about Elena feature answers family members' questions using quoted sentences from the updates. The model only selects these quotes; it doesn't write anything new. Questions for the doctor go on a shared list, ready for the next talk with the care team.
- Everyone can help. Anyone can ask the family for help ("someone to stay with Mum tonight"). Relatives claim tasks and mark them done, and each claim appears on the timeline.
Going home: the first 72 hours
- The letter gets read twice. Anna takes a photo of the discharge letter. Nemotron 3.5 Super-VL reads it two times with different prompts, and the second reading doesn't see the first. My code compares the results, groups the lines (diagnosis, medicines with stops first, follow-ups, when to get help), and flags any lines where the readings don't match.
- Take it one step at a time. Anna checks off what matches the paper, shares it on the timeline, and then posts follow-ups as family tasks. David claims the district nurse visit, marks it done, and the handover shows the next person what's still left to do.
- A clear next step with sources. If David reports that Elena's leg is red, swollen, and hot, Nemotron 3 Ultra organizes the concern and a rule engine checks her letter: it says to return to A&E straight away, quoting the source. If the sources don't answer a question, it lets you know.
How I built it
Each NVIDIA model has a specific job and returns strict JSON that the code can check. They all run on Nebius Token Factory, using a single OpenAI-compatible client.
| Job | Model |
|---|---|
| Read the discharge letter, twice and independently | Nemotron 3.5 Super-VL |
| Extract quoted facts; pick answer sentences | Nemotron 3 Super 120B-A12B |
| Structure a symptom report | Nemotron 3 Ultra 550B-A55B |
| Compile the NHS rule pack (offline) | Ultra compiles, Super independently checks |
Parakeet speech-to-text and Nemotron Content Safety run on direct NVIDIA endpoints.
The main design rule is simple: models make suggestions, and the code makes the decisions.
- A fact appears only if its quote is verbatim in the source.
- A family report never overrides the care team.
- A letter line becomes a rule only when both readings agree.
- The urgency tier (999, A&E, NHS 111/GP or routine) is chosen by a rule engine, never by the model.
- A safety rail blocks dose advice and anything milder than the decided tier.
- If a plan changes after an answer, that answer is marked Historical.
- Every model call is metered and capped, and leaves a receipt with its model, time, tokens and cost.
The app is Streamlit and SQLite, with a 273-rule NHS pack and an offline suite of <TEST_COUNT> automated checks that runs without network, keys or models.
Challenges I ran into
- Stopping a fluent model from merging two versions of a plan. I moved authority out of the model entirely: it extracts quoted facts, and a plan ledger decides which statement leads.
- Two readings of one photo. Disagreement turned out to be the useful signal. A line only one reading found becomes a visible check for the family, not a silent drop.
- Never letting a missed tick make advice milder. An unconfirmed "call 999" line can keep or raise urgency, never lower it.
- Keeping things calm. Every technical detail I added made the page harder for families who are already worried. The hardest part was removing things: focusing on one step at a time, using plain words, and keeping the evidence one tap away instead of always on the screen.
Accomplishments that I'm proud of
- Safer than using the model alone. In 24 made-up home situations, the full system picked the right urgency 20 times, compared to 14 for Nemotron alone, and it never picked a level that was too relaxed (0 times versus 4). This was an engineering test, and the labels were prepared by AI.
- Model choices backed by data. Ultra made 4 errors, while Super made 8, on tough symptom cases. That's why Ultra organizes symptoms.
- A red team. 49 of 54 attacks were stopped, and 0 of 19 normal inputs were blocked.
- A complete, tested product built by one person, covering everything from the first hospital update to the first days at home.
What I learned
Small, focused model tasks work better than one big prompt, because every output can be checked by the code. Measuring is better than guessing: two of my biggest design choices came from looking at real results. Families need to know where information comes from more than they need summaries. Who said it, and is it still true? That's what matters most during a shift change.
What's next
- Real-family use: sign-in and invitations, per-person permissions and revocation, consent management, and access history.
- Clinician-reviewed evaluation on a larger set of cases.
- Line-by-line comparison when the hospital sends an updated letter.
- Integration with hospital discharge systems, so the letter arrives as structured data.


Log in or sign up for Devpost to join the conversation.