Inspiration

Residential life at NUS University Town is vibrant and full of opportunities, with events, facilities, and community initiatives happening every week. Yet, many students feel disconnected from this experience. The issue is not a lack of opportunities, but a lack of accessibility. Important information from event details and dining hours to booking procedures and announcements, is fragmented across multiple platforms such as Telegram chats, emails, websites, and notice boards.

What should take seconds to find often takes minutes, or is missed entirely. Over time, this small but persistent friction discourages students from participating fully in residential life. We were inspired by the idea that improving access to these information could significantly enhance student engagement and help residents feel more connected to their community.

What it does

ResiBot is a Telegram-native AI assistant that centralizes residential life information and proactively connects students to relevant events. It works in two key ways:

  1. Reactive (on-demand): Students can instantly access information such as event details, dining hours, facility booking procedures, and FAQs through an intuitive button-driven interface — no searching through chat histories required.
  2. Proactive (AI-powered): ResiBot learns each student's interests and recommends events tailored to them. It sends:
    • Daily personalized event digests
    • Real-time alerts for new relevant events
    • Reminders before events they are interested in

How we built it

  • Frontend Interface: Telegram Bot using Python and the python-telegram-bot library, enabling seamless interaction through commands and inline buttons.
  • Backend Logic: A Python-based application layer handles user onboarding, role-based access control (user/admin/super admin), and menu navigation.
  • Data Layer: A structured CSV-based storage system stores user profiles, roles, and event metadata. This allows non-technical RC admins to easily update information.
  • Notification System: A scheduling system sends automated alerts, including daily digests and pre-event reminders.
  • System Flow: Telegram → Bot Interface → Python Backend → Data Store → AI Recommendation → Response / Notification

Challenges we ran into

One of the biggest challenges we faced was defining the right scope within a limited timeframe. Since residential life is a broad and complex ecosystem, it was tempting to build a feature-heavy solution that tried to solve everything at once. However, we realised that overengineering would compromise both usability and feasibility and this forced us to make trade-offs — narrowing our focus to the most high-impact problems, such as information fragmentation and event discovery, while ensuring the core experience remained simple, fast, and intuitive.

Another key challenge was designing a system that balanced simplicity with functionality. While we initially explored using AI across many parts of the bot, we encountered practical issues such as inconsistent responses, increased latency, and unnecessary complexity for routine queries. At the same time, relying purely on static menus risked making the system feel too rigid. Striking the right balance required us to rethink our architecture — using structured, button-driven flows for predictable interactions, while integrating AI selectively for higher-value features like personalized recommendations and content parsing.

In addition, as most of us were relatively new to coding, the technical implementation itself was a significant challenge but also a major area of growth. We had to quickly learn and apply concepts such as working with APIs (Telegram Bot API), structuring a Python-based backend, handling user states and role-based access control, and managing data through CSV files. Debugging issues, coordinating across different components, and ensuring the system worked end-to-end under time pressure pushed us to improve rapidly. What started as a steep learning curve became one of the most rewarding aspects of the hackathon, as we gained hands-on experience in building a real, functional system.

Finally, we faced challenges in ensuring real-world adoption and maintainability. A solution that works in theory may fail if it disrupts existing habits or adds workload for administrators. Integrating with Telegram helped address user adoption, but we still needed to design lightweight admin tools that were easy to use and did not require technical expertise. Additionally, working with simple data structures like CSV files introduced constraints around scalability and data consistency, requiring us to think carefully about role management, data updates, and system reliability. These challenges ultimately pushed us to build a solution that is not only functional, but practical and deployable in a real residential setting.

Accomplishments that we're proud of

  • Built a fully functional Telegram bot combining reactive on-demand features with proactive AI-powered event recommendations
  • Eliminated the need for a new app, ensuring zero adoption friction and seamless integration into students’ existing routines.
  • Reduced information access time from minutes to seconds, consolidating fragmented updates across platforms into a single interface.
  • Designed a system that adds value for both students and administrators, streamlining information access and reducing repetitive queries.
  • Reframed the challenge from merely providing information to actively driving engagement and participation in residential life.

What we learned

Building ResiBot during the hackathon was not just about creating a Telegram bot, but it fundamentally reshaped how we think about user problems, system design, and adoption. We began with the assumption that students lacked information, but quickly realised the real issue was friction. Information already exists in abundance, but is fragmented across multiple platforms, making it difficult to access. This led to a key insight: effective solutions do not add more information, but reduce the effort needed to access it. As a result, we pivoted from a search-based concept to a button-driven interface, enabling students to retrieve answers in just a few taps without scrolling through chats or emails.

We also learned that simplicity often outperforms intelligence in core features. Most student queries are repetitive and structured, so relying heavily on AI would increase cost and reduce reliability without adding meaningful value. Instead, we designed ResiBot to use structured menus for the majority of interactions, while reserving AI for high-impact functions like personalised event recommendations. This led to another important insight: engagement is driven not by availability, but by relevance. By introducing interest-based profiles and AI-powered matching, ResiBot surfaces events that users are more likely to care about, shifting behaviour from passive searching to effortless discovery.

Finally, we recognised that adoption and real-world usability are just as important as technical capability. By building on Telegram, a platform students already use daily, we eliminated onboarding friction entirely, while ensuring the system also reduces workload for administrators through automation and simple management tools. The constraints of the hackathon pushed us to prioritise clarity, feasibility, and scalability over complexity, ultimately shifting our mindset from building isolated features to designing a cohesive system centred on user behaviour. The biggest lesson we learned is that technology alone does not create engagement. However, removing friction does, and ResiBot succeeds because it integrates seamlessly into how students already live and communicate.

What's next for ResiBot

Looking ahead, we aim to strengthen ResiBot’s AI capabilities to make it more intelligent and impactful. This includes enhancing our event parsing system using natural language processing (NLP) to more accurately extract structured details such as event names, timings, and categories from unstructured Telegram announcements. In parallel, we plan to improve our recommendation engine by incorporating behavioural data, such as event clicks and attendance — to deliver more precise and personalised suggestions over time.

We also envision building an advanced admin analytics dashboard to provide residential colleges with insights into event engagement and participation trends. This will enable organisers to better understand student preferences and plan more effective, targeted activities. On the technical side, we plan to migrate from CSV-based storage to scalable cloud infrastructure such as PostgreSQL or Firebase, allowing for real-time updates, improved data reliability, and seamless deployment across multiple residential colleges.

Finally, we see strong potential for ResiBot to expand beyond its current scope. This includes extending support to additional platforms beyond Telegram if needed, and scaling the solution beyond UTown to serve all NUS residences. In the long term, our goal is for ResiBot to become a campus-wide digital companion that not only centralises information, but actively enhances student engagement and community participation.

Built With

  • python
  • python-telegram-bot
  • telegram-bot-api
+ 13 more
Share this project:

Updates