Inspiration
Arriving to play squash at fully booked courts. Checking phone to see the cancellation message was buried under 100 ICG photos. Walking back in disappointment.
What it does
The IG Schedule Bot introduces a centralised, AI-powered scheduling system built directly into Telegram, where students already communicate. Instead of manually updating spreadsheets or sending repeated announcements, IG heads can simply type natural announcements like their respective IG group chats: “Art on Friday 730-930 at Seminar Room 2”. The bot uses Gemini API to parse this command, updates the SQLite database, and makes it instantly visible to everyone via a calendar interface.
Students can view all IG sessions in one place, filter by IG or day, receive up-to-date, reliable information without digging through chats.
How we built it
Programming Language: Python
Backend Frameworks: python-telegram-bot (v21+) for Telegram bot logic, Flask for the web-based calendar interface
Database: SQLite (lightweight, local-first storage)
Natural Language Parsing: OpenAI API or Google Gemini API for natural language parsing
Frontend: HTML, CSS, JavaScript (calendar UI)
Platform & Integration: Telegram Bot API for real-time messaging and interaction
Challenges we ran into
Humans don’t follow rigid formal structure, so using an AI to extract information was challenging and completely new to use. So was handling ambiguous inputs (missing dates, unclear venues, mixed formats) without breaking the system.
Accomplishments that we're proud of
Built a full end-to-end system, from Telegram input to AI parsing to a live calendar interface, the entire pipeline works cohesively. Also this is a use case of AI where it is not just a wrapper.
What we learned
Natural language is inherently ambiguous. Even simple inputs like “badminton tmr 6” require resolving missing dates, time formats, and context, which makes parsing far less straightforward than expected. LLMs are good at extraction, not correctness. The AI can reliably structure inputs, but it often makes implicit assumptions (e.g., guessing venues or dates), so a strict validation layer is necessary to enforce accuracy.
What's next for IGScheduleBot
Asking fellow IG heads to try it out. If successful, to get the whole residential college to use this to streamline their coordination between participants and heads.
Built With
- css
- flask
- geminapi
- html
- javascript
- python-telegram-bot
- sqlite
Log in or sign up for Devpost to join the conversation.