Sharing something more technical than the usual founder story posts, since I think the actual engineering tradeoffs here might be useful to others building similar reminder or scheduling systems.
TextMyPill sends WhatsApp medicine reminders, and the part that turned out to be far more complex than expected wasn't the sending, it was everything around managing the state of a reminder across its lifecycle.
A single reminder isn't just "send message at time X."It needs to track whether it was delivered, whether the person replied, how long to wait before a follow-up if they didn't, whether a caregiver should be notified on a missed dose, and whether that missed dose should affect future scheduling logic, like adjusting reminder timing if someone consistently responds 20 minutes late.
Then multiply that by managing multiple people under one account, a caregiver managing reminders for two or three family members, each on different medicines, different schedules, some overlapping. Each person's reminder state machine needs to be independent but the caregiver dashboard needs a unified view across all of them in real time.
The trickiest part was designing the escalation logic without making it annoying. If someone misses a dose, how long before a follow-up reminder goes out. How many follow-ups before notifying the caregiver. How do you avoid notification fatigue while still catching genuinely missed doses versus someone just being 10 minutes late because they were in the shower.
Ended up building a tiered system, immediate reminder, soft follow-up after 30 minutes, caregiver alert only after a second miss, with the thresholds being configurable per person since an 80 year old on heart medication needs tighter tolerances than someone on daily vitamins.
Curious if anyone else has dealt with similar escalation or state management logic, notification systems, task reminders, anything with a similar "did this actually get done" tracking problem. What patterns worked for you?
I like that you discovered the hard part wasn't sending reminders—it was modeling real human behavior.
Tracking whether a task happened is straightforward. Designing escalation that distinguishes "slightly late" from "actually missed" is where the product becomes genuinely useful rather than just another notification app.