Inspiration
MINDS runs many activities for persons with intellectual disabilities and sign-ups often involve back-and-forth messaging, manual spreadsheets or accidental double-booking. We wanted to reduce friction for both caregivers and individuals while giving staff a cleaner way to manage attendance lists. Since Telegram is widely used and familiar to many Singaporeans, a bot felt like the fastest way to meet users where they already are.
What it does
- Lets users register as Individual or Caregiver using their Telegram handle.
- Shows activities step-by-step (select activity → view details → book).
- Prevents overlapping bookings with automatic schedule conflict checks.
- Allows caregivers to link and manage bookings for multiple individuals under their care.
- Supports caregiver attendance confirmation: when an individual books, they can request a caregiver to join; the caregiver receives a prompt to confirm/decline.
- Provides an admin mode with password-protected login to create events and view upcoming events by month (and can be extended to generate attendance lists).
How we built it
Platform: Telegram Bot API Backend: Python with python-telegram-bot Storage: SQLite database (lightweight and reliable, making it good for a hackathon prototype)
Logic: User registration flows (individual/caregiver/admin) Caregiver–individual linking table Activity creation + capacity tracking Booking table with uniqueness constraints + conflict detection by time overlap Inline buttons for a guided booking UX and admin navigation
Challenges we ran into
Designing a Telegram UX that is simple enough for real users using buttons and thus fewer typed commands. Managing multi-step “conversation flows” (registration, booking, confirmations) without breaking state. Handling Telegram polling issues (e.g., “only one bot instance can run” conflict errors). Modeling real-world scenarios (caregivers booking on behalf of multiple individuals, caregiver attendance confirmations) while keeping the database schema clean.
Accomplishments that we're proud of
- A working end-to-end booking system inside Telegram with a clear, button-based flow.
- Conflict-checking logic that prevents accidental double-booking.
- Caregiver support (linking individuals, booking on their behalf, and viewing attendance).
- A usable admin workflow to create events and view upcoming events by month.
- A deployable repo structure (requirements, .env template, README) that someone can run quickly.
What we learned
- Ensuring accessibility and low-friction UX matters as much as the code
- Telegram bots are powerful for rapid prototyping but state management needs a lot of structure
- Database constraints such as unique keys and foreign keys reduce bugs and keep data consistent.
- Operational details (tokens, environments, single-instance polling, restart workflow) are critical for demos
What's next for Team Ball H4G
- Improve caregiver flows: editable linked profiles, permissions and better visibility of who attends what
- Add waitlists, recurring events and automated notifications before activities.
Log in or sign up for Devpost to join the conversation.