So background, my kid has seizures often. He is currently on 5 different medications to try to control it(plus 1 for sleeping and 1 for his liver enzymes) plus severe non verbal autism so he can’t tell us if he already had his meds. Currently when it’s medication time, it’s always “did you give him his meds yet?” and we have no way of tracking how many seizures he actually has besides “alot more recently” or “it’s gone down recently”. Yes he had multiple doctors and this is NOT a post looking for health advice.
I am creating an app for phones(c# Maui) which will send json objects to a api to store/retrieve data in a database(when he last had medication x, when he has a seizure etc). It will probably only be used with in my family, maybe 20 entries a day on a really bad day(7 medications twice daily + 6 seizures to give a round number) but should be less then 10 transactions(most medications given at same time).
What’s the cheapest/easiest was I can host something like this? I do not have a static ip. Yes it’s health information but I’m only storing first names and tracking time of events, not too worried about hippa like security.
You can drploy a Cloudflare worker that exposes an APi endpoint with an SQLite DB completely for free and without doing any maintenance. I don’t think the DB is encrypted , so it wouldn’t be my first choice if privacy is a concern. There’s a bit of a learning curve with all the UI bloat but once you figured it out it’s a very hassle free solution.
I’m not sure of the availability guarantees, but Oracle and other cloud services have free tiers for low CPU/RAM/storage needs. If the availability guarantees are there, this could be an option. It works fine for FoundryVTT and hasn’t cost me anything for the last couple years, and I don’t imagine your projected needs would outstrip Foundry’s.
You can get a VPS on Vultr for $5 a month that’ll be plenty for your use case. For security look into mTLS. Web servers like Caddy support it pretty easy. You put a certificate on you and your wife’s phones and only you will be able to connect to your endpoint.
I’m using a free web host plan from freehostia (chocolate plan), an SQLite database and a single php file from the github repo below to provide me api access to my database tables. I previously used the web hosts MySQL database.
Create some QR codes or NFC tags for specific medication/seizure events to make logging easy. For visibility you can create some reports and you’ve got yourself a solution.
I use this setup to manage and log my backup tape rotations at work.
Why not Home Assistant? You can log seizures via buttons on the UI (web or mobile app), or via an NFC tag, have counters and stats. Counters can also be used for medication tracking. More advanced solution exist via custom integrations, e.g this.
Maybe use a filesystem and syncthing this way? https://github.com/39aldo39/DecSync
Or you could use the free tier of some PaaS like
https://render.com/docs/free if you prefer a traditional approach. Just remember to make backups, if it’s free it can disappear at any time.A VPS on Hetzner with 2 shared vCPUs, 4GB ram and 40GB storage costs me less than €5 per month. I use it for services that are more “critical” compared to what runs on my home server.
Do you need a web app, or would a mobile app do? There are a number of medication trackers and one specifically for tracking stuff like this called Track & Graph. The DB export is a SQLite DB, which can be SyncThing’ed to a computer and worked with with whatever rolls you like.
This is what I was thinking.
Syncthing will be the quickest to set up.
There’s a potential for collisions but that would likely be manageable.
I’d use something that already exists:
- https://life-notes.fr/
- https://github.com/babybuddy/babybuddy
- https://github.com/BabyTracker/baby-tracker
The focus of the latter two is slightly off, but it would work.
Actually, I’d probably not add a use-specific thing unless I needed something specific it offered. I’d just pop up another page on our shared wiki to track things, or put it in a synced note app.
Yes but for example for seizures I want a simple form, not having to type in entries. Especially for siezures, it’s normally a busy event of caring for him, having to add a seizure taking more than a minute means it probably won’t be used.
If you don’t have strong privacy concerns, you can use the free tier vps from oracle cloud or Google cloud. They are small, but are more than enough for this load.
I didn’t know they had free tiers… I’ll look into it
I’ve read very bad experiences about Oracle free tier VPS, like VPS disappeared for good with all the data.
They wouldn’t even accept my card for mysterious reasons. Only time I’ve had that problem.
Google Sheets will be a simple solution you can do for free.
The app “Track & Graph” is another.
I have been logging all my medical events using Tasker and a Google Calendar. Analysis is manual using graphviz.
This is c/selfhosted
The boundary of where to host what, is not fixed. You cannot host the internet at home. Where people sit on the spectrum varies depending on skill, resources and need.
I highlighted several options that provide a solution for someone with limited skills and resources.
You could host a CALDAV server or a next cloud at home and use the suggestions I provided, or you could use those hosted by someone else.
My answer was to provide ideas, not a how-to guide, answering, in my opinion, exactly what OP was looking for.
That it doesn’t match your idea about solving the problem tells you that there are many ways to solve software problems. My suggestions had a low barrier to entry.
What’s your recommendation for OP?
If you want to self-host, I recommend a used business thin client, docker + docker-compose, and Tailscale for access away from home if needed. Don’t forget to dump & back up nightly.
Edit: thin client because it beats a pi in every respect and doesn’t run on an SD card. Tailscale because you don’t have to open ports in your firewall and point a public domain at your house.
Or you could use hosted services, neon.tech and turso both offer really generous free tiers for SQL databases.
Or you could use a notebook and pen. Sometimes simplicity is king.
Username checks out
If it is for home use, why not go with a raspberry pi (or similar, there are lots of cheaper alternatives like it) which is only accessible from the local network and not from the internet?
If access through the internet is needed, you can use one of many free dyndns services. (e.g duckdns.org)
You could also look into existing projects and maybe contribute instead of building from scratch, but thats up to you. Through a quick search I found https://github.com/FSchiltz/Helse
Hmm…i do have a raspberry pi that isn’t being used… Since it’s asp.net should be Linux compatible… Not a bad idea
Just a quick note for hosting a DB on a pi (or anything that uses SD cards for the OS), SD cards fail with some regularity, so I strongly suggest getting an NVMe board with a stick of SSD memory to store the actual files, because it’s much more reliable long term for data integrity. SD cards support reading large amounts but writes wear them out more quickly.
You can find great cases that come with the boards (but not the SSD, however that’s very easy to find separately).
For RPi 4 I have an Argon (NVMe board sold as accessory): https://argon40.com/products/argon-one-v2-case-for-raspberry-pi-4
And fro RPi 5 I have a Pironman case (NVMe comes as part of the kit): https://www.sunfounder.com/products/pironman-5-nvme-m-2-ssd-pcie-mini-pc-case-for-raspberry-pi-5
I recommend both of those but your use case may vary.
Thank you very much for pointing this out.
I completely forgot to mention this, since I’ve been running compute modules with nvme’s for ages.
Just to add a further alternative: The pine64 soquartz baseboards are also compatible with rpi compute modules.
Also for extra saving: by the time you buy all that, there are a lot of second hand office mini PCs that are considerably cheaper on ebay.
Check out OliveTin. I use it in a similar fashion to track when I take my daily meds and for other personal health tracking.
It’s a simple webapp that fires off shell scripts on your server. I store my data as CSV, but you can tailor the scripts to store and retrieve/present your data however you’d like.
Edit 2: adding that I host this on a Raspberry pi zero w. It’s ultra cheap. It’s only accessible on my lan by choice. I use a wireguard tunnel on my stupid cheap (~$1.50/month) vps to access it remotely.
Edit 1: fix link formatting