Hi HN, I’m building an open-source digital safety net for home hemodialysis patients. This operates ostly as a portfolio piece but i thought it worth sharing.
The Why: Home dialysis gives patients freedom, but introduces a terrifying risk of isolation. If a patient's blood pressure crashes or a line disconnects while a caregiver is asleep in the next room, the machine sounds an alarm, but it only beeps in the room. It doesn't text the spouse, it doesn't alert the clinic, and it doesn't notify emergency contacts. I lost my mother to a disconnect in home care, so I decided to build the safety net I wish we had that night. Of course, who knows how effective this may have been if it existed.
The Tech: It's built on Elixir and Phoenix LiveView. Active dialysis sessions are backed by OTP GenServers to maintain state. If an anomaly is detected (like a hypotensive drop), Phoenix.PubSub instantly broadcasts the event over WebSockets to a LiveView dashboard and triggers SMS alerts to the patient's "Care Network." Because proprietary medical devices are locked down, I also built a mock IoT server in Rust that streams medically plausible, simulated telemetry to test the pipeline.
The Reality Check: I shared the first build with a dialysis community on Reddit and got rightfully roasted by a caregiver. He pointed out that exhausted patients don't want another "app" or a GitHub link—they just want to tame the chaos of medical documents and get help when they need it. It was a humbling UX lesson that forced me to pivot. I immediately simplified the onboarding and built "Community Hubs" so users can upload their own knowledge bases and machine manuals.
It’s currently in Pre-Alpha (using the Rust simulator for data). I would love any feedback on the Elixir/OTP architecture, the LiveView real-time dashboard, or the overall UX flow.
(Note: To test the dashboard and simulator, you do have to create an account so the database can build your Care Network topology. You can use fake info!)
mech422•2d ago
That's actually a pretty cool - especially for a portfolio piece. While it's not for common use (yet?), it gives prospective employers an idea of how you would work with safety critical code, as we as the 'normal' CRUD/web stuff.
qweliantanner•2d ago
The Why: Home dialysis gives patients freedom, but introduces a terrifying risk of isolation. If a patient's blood pressure crashes or a line disconnects while a caregiver is asleep in the next room, the machine sounds an alarm, but it only beeps in the room. It doesn't text the spouse, it doesn't alert the clinic, and it doesn't notify emergency contacts. I lost my mother to a disconnect in home care, so I decided to build the safety net I wish we had that night. Of course, who knows how effective this may have been if it existed.
The Tech: It's built on Elixir and Phoenix LiveView. Active dialysis sessions are backed by OTP GenServers to maintain state. If an anomaly is detected (like a hypotensive drop), Phoenix.PubSub instantly broadcasts the event over WebSockets to a LiveView dashboard and triggers SMS alerts to the patient's "Care Network." Because proprietary medical devices are locked down, I also built a mock IoT server in Rust that streams medically plausible, simulated telemetry to test the pipeline.
The Reality Check: I shared the first build with a dialysis community on Reddit and got rightfully roasted by a caregiver. He pointed out that exhausted patients don't want another "app" or a GitHub link—they just want to tame the chaos of medical documents and get help when they need it. It was a humbling UX lesson that forced me to pivot. I immediately simplified the onboarding and built "Community Hubs" so users can upload their own knowledge bases and machine manuals.
It’s currently in Pre-Alpha (using the Rust simulator for data). I would love any feedback on the Elixir/OTP architecture, the LiveView real-time dashboard, or the overall UX flow.
Repo: https://github.com/qweliant
(Note: To test the dashboard and simulator, you do have to create an account so the database can build your Care Network topology. You can use fake info!)