Open Source
web
1 starsMed Reminder Bot
Live Telegram Mini App for medication tracking — React inside Telegram, FastAPI + aiogram backend, Redis Pub/Sub real-time sync between API and bot scheduler
By the numbers
0
Docker services
0
Retry intervals (min)
0
Install steps for user
The Problem
What I was solving
A friend kept forgetting pills. Standard phone alarms dont help — you mute them and forget. Apps usually ask you to install something yet another thing. The trick isnt reminding once; it is being persistent without being annoying, and keeping a real history so the doctor sees whats taken and whats missed.
My Approach
How I built it
Telegram Mini App — no install, users already have Telegram open. React frontend lives inside Telegrams WebView, Python FastAPI backend exposes the API, aiogram bot handles push notifications with configurable retry (5/15/30 min) until marked taken. Six Docker services: frontend, backend, bot, PostgreSQL, Redis, nginx. Per-user timezone support because reminding at 3am is worse than not reminding. Admin dashboard shows DAU, active users, and ban controls for abuse.
Tech choices
- Telegram Mini App— Zero install friction. Users already have Telegram — its an open WebView with auth baked in, no sign-up flow to abandon.
- aiogram + FastAPI— Async Python everywhere — bot and API share models and DB without a second runtime. Scheduled reminders live in the same process as the API.
- Redis— Reminder queue and rate-limiter in one store. A pill due at 10:00 becomes a scheduled Redis job — durable even if the bot process restarts.
Outcome
What came out of it
One-click entry via Telegram — no app install, no new account, no password to forget. Retry logic catches the "I will take it in 5 minutes" excuse because the bot keeps pushing until you actually mark the pill as taken. Daily checklist and intake history become a readable log for the doctor. Admin dashboard makes abuse detection a 30-second scan.