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

  1. A working end-to-end booking system inside Telegram with a clear, button-based flow.
  2. Conflict-checking logic that prevents accidental double-booking.
  3. Caregiver support (linking individuals, booking on their behalf, and viewing attendance).
  4. A usable admin workflow to create events and view upcoming events by month.
  5. A deployable repo structure (requirements, .env template, README) that someone can run quickly.

What we learned

  1. Ensuring accessibility and low-friction UX matters as much as the code
  2. Telegram bots are powerful for rapid prototyping but state management needs a lot of structure
  3. Database constraints such as unique keys and foreign keys reduce bugs and keep data consistent.
  4. Operational details (tokens, environments, single-instance polling, restart workflow) are critical for demos

What's next for Team Ball H4G

  1. Improve caregiver flows: editable linked profiles, permissions and better visibility of who attends what
  2. Add waitlists, recurring events and automated notifications before activities.

Built With

Share this project:

Updates