How can I host a small api/database accessable from a phone app as cheap/easily as possible?
-
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.
-
-
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.
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.
-
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.
@vrek have you looked at https://turso.tech/ or https://supabase.com/
-
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.
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.
-
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.
Since you're already working in C#, an ASP.Net Core backed, with whatever database you prefer, will do what you want.
You could self host it, but I wouldn't call that easy. There are plenty of cloud providers that can integrate with your preferred git repo and really streamline the build and deployment process. I run a few applications as "Apps" on Digital Ocean. Once you get it configured properly, deployments are quick and easy.
-
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.
HIPAA (not hippa) is not even remotely applicable.
Cheap and easy are in opposition here. Which matters more? There are symptom and medication apps already that would be easy and available right now. And you don't need to do tech support for family.
-
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.
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.
-
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.
Check out [OliveTin] (https://www.olivetin.app/). 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.
-
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.
-
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.
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.
-
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.
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.
-
HIPAA (not hippa) is not even remotely applicable.
Cheap and easy are in opposition here. Which matters more? There are symptom and medication apps already that would be easy and available right now. And you don't need to do tech support for family.
Well it's also a learning project as through a series of events I am technically a software developer in job title who got thrown into a c# code base with databases after doing a python boot camp for 9 weeks and have no mentor to tell me what I'm doing wrong on professional projects.
-
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.
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
-
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
-
@vrek have you looked at https://turso.tech/ or https://supabase.com/
Both good suggestions, thanks for the ideas
-
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.
-
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.
Username checks out
-
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.
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.
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.
-
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.
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.
-
Well it's also a learning project as through a series of events I am technically a software developer in job title who got thrown into a c# code base with databases after doing a python boot camp for 9 weeks and have no mentor to tell me what I'm doing wrong on professional projects.
Ah - I get that. You have my sympathies.
A personal project like that would be a great way to train/get experience then. But do realize that it becomes a lot more complicated once you have people other than yourself relying on your application. Suddenly up-time becomes a lot very important and up-time is hard. End-users, even friendly ones, get very frustrated when you say "try now please" a lot. They'll just stop using it.