Telegram Task Manager
A task bot and Mini App: persistent reminders, recurring tasks, and dates parsed from plain text
Overview
A task manager that lives inside Telegram: a bot with commands and buttons plus a full React Mini App. You can create a task with an ordinary phrase — “купить хлеб завтра в 18:00”, “hisobot ertaga soat 10”, “call mom tomorrow 9am” — and the bot parses the date and time in all three languages. The headline feature is reminders that don’t give up: the bot repeats them at a set interval until you tap “Done” or “Snooze”.
The problem
Ordinary reminders are easy to miss: the notification fires once, you swipe it away, and the task leaves your head. On top of that, switching to a separate app for a single task is a chore, and half the work is discussed in Telegram anyway.
The solution
Reminders live in PostgreSQL with a “next fire at” column, and an APScheduler job picks up the due ones every 30 seconds and sends them. A server restart loses nothing — the state is in the database, not in process memory. The API never talks to Telegram directly: it writes notifications to an outbox table and the bot drains the queue. All timestamps are stored in UTC with the user’s own timezone on the side; conversion happens only on the way in and out.
The outcome
- 54 API endpoints and 15 tables: tasks, recurrences, reminders, categories, attachments, logs
- 17 Mini App screens plus a separate web admin panel with Telegram Login
- Three interface languages and date parsing in all three — Russian, Uzbek, English
- XLSX, CSV and PDF export, broadcasts, and an audit log for administrators
Next project
Zareen Travel
A travel agency platform: tours, overbooking-proof reservations, payments, refunds and financial reports