Hey @jessefarquhar48
Thanks for the post and impressive system you’re building! There are probably quite a few ways you could go about building something like this. And, I believe a few users have built similar sorts of reminder systems, so I’d highly recommend searching the forum for some of those. But, happy to share some ideas for how you could do this.
Anytime you want Bubble to schedule something for later, and we need for it to run even if the user has left the page, you’ll want to use a scheduled backend workflow. This way, Bubble can trigger the workflow to run even if the user isn’t actively using the app anymore. Knowing this, there are probably two main ways to go about this. You could schedule one backend workflow, that reschedules itself when it’s done running and either reschedules itself every day (and conditionally doesn’t run the notification action on days the user didn’t select) or, you could get a little fancy with the reschedule to have it reschedule specifically to the next day the user selected.
Bubble takes time into account with date fields and when you schedule workflows, so that part should be easy. You’ll initially schedule the workflow to the time the user selected and then in your reschedule action, you’ll make sure to always use the same time for each future event.
Keep in mind, depending on the app plan you’re on, you could also use Bubble’s recurring event feature set to daily. If you went this route, you would use ‘only when’ on the notification actions within the recurring event to make sure it only actually sends notifications on the days the user selected.
The notifications themselves are up to you. You could integrate with a service to do actual push notifications, or a different service (like Twilio) to send text messages or (like Sendgrid / Postmark) to send emails. Having a popup appear on someone’s phone (outside of a web browser) wouldn’t be a native feature of Bubble, but you could potentially make this work if you’ve wrapped your app using a service that helps provide some of that native ios / android functionality. Otherwise, it’s only one additional click to have them provide an answer in your app and then have the app respond accordingly.
Hope this helps give you a push in the right direction. There’s a lot that will go into this one, but it’s definitely possible on Bubble and this is how I’d try to tackle it if I had to build it.
Feel free to reach out with any questions this might kick up. You can reach out directly at Support@Bubble.io