Inspiration

Every semester, a student living on campus has to move out of their room. When they do so, they have to remove chalk on their door which was drawn by their friends at the start of the semester.

Once it is removed, there is no tangible way for them to remember what the doors looked like, or what their neighbours' doors look like.

We believe that memories in NUS are worth preserving, and we decided to preserve the chalk on students' door as a marker for someone's time in NUS.

What it does

Currently, we are implementing the project for a single residence. Students can go to their AY and semester, and then go to different doors to view them. If students live in a certain room, they can upload an image of their door. When they do, the backend scans the door with an opencv model and extracts the chalk. Thereafter, using chalk as inspiration, the website gives options to beautify, uglify and sloppify to give users more ways to think about their time at nus. Based on the image, custom doorbells are generated that vary from person to person.

How we built it

Chalkipie is a full-stack web application built with a clear separation between the frontend experience and backend AI processing. The frontend is developed using React / Next.js, focusing on an interactive, visually polished interface that allows users to explore doors by academic year, semester, and room, and smoothly zoom into individual doors to view and interact with them.

The backend is a Flask-based server deployed on Render. When a door image is uploaded, OpenCV is used to extract the chalk from the door, after which several AI-driven transformations generate “beautified,” “uglified,” and “sloppified” versions, along with a textual description. Since these operations are computationally expensive, we implemented an asynchronous job and polling system to handle long-running processing without blocking requests or causing timeouts.

This architecture allowed us to integrate AI-powered features into a responsive and scalable web experience within the constraints of a hackathon.

Challenges we ran into

Because of the complexity of the application, it was extremely difficult to merge things together, and to get the minor details right.

We find that we ended up spending the most time trying to get the UI to look nice and reasonable (e.g., ensuring that elements are centred and nice to the eye).

We also spent the tail end of the hackathon attempting to integrate the different parts that have so far been moving in isolation. Making API endpoints for the front end and back end, across different programming languages was an uphill battle for us.

Accomplishments that we're proud of

I think we're really excited that the project came together in the first place. There was a lot of wrangling and many moving parts. The fact that we managed to take control of something that is so complex and difficult is something that we're definitely very proud of

What we learned

That if we have the will to do it, we can do it. 24 hours ago we wouldn't have believed that we could put out a full stack app with features so complex, and yet here we are.

What's next for Chalkipie

We hope to put it to practical use and deployment in NUS residences to ensure that students get to keep a piece of NUS with them wherever they go.

Built With

Share this project:

Updates