All projects
Med Reminder Bot
Open Source
web
1 stars

Med 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 AppZero install friction. Users already have Telegram — its an open WebView with auth baked in, no sign-up flow to abandon.
  • aiogram + FastAPIAsync Python everywhere — bot and API share models and DB without a second runtime. Scheduled reminders live in the same process as the API.
  • RedisReminder 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.