About the Project Imagine losing your water bottle at school and going to the lost-and-found, only to find a huge box filled with water bottles, jackets, shoes, and random items. You have to dig through everything just to figure out if your item is there.

That was the kind of everyday student problem I wanted to solve with ReFind.

Since the hackathon focuses on Student Life, I wanted to build something that could actually be useful to students instead of just making an app that was interesting technically. Losing something might seem like a small problem, but it can be frustrating for students and also difficult for school staff to keep track of all the items that are found.

That's where the idea for ReFind came from: What if the lost-and-found could be searchable instead of being a box you have to dig through?

How I Built It

I built ReFind using Python and Tkinter for the application interface and JSON for storing the found-item information.

AI Disclosure: ChatGPT was used to assist with Tkinter GUI development, debugging, and developing parts of the application's search and item-management logic. The project idea, design, testing, and implementation were done by me.

The app has two main sides:

Staff: Staff can log a found item with information such as its name, category, color, location, date, and description. Students: Students can search for their lost item and see possible matches.

I also added an ID and status to each item. New items start with a "found" status, and when a student claims an item, its status changes to "claimed". This prevents claimed items from continuing to show up as available matches.

One feature I especially wanted was the ability to show multiple possible matches. For example, if two blue water bottles were logged, ReFind can show both instead of assuming that the first one is the correct item. Students can compare the details and decide which one belongs to them.

I also focused on making the interface simple and easy to understand, since the goal is for students and staff to be able to use it without needing instructions.

What I Learned

This project taught me a lot more about building an actual application than I expected.

Before this project, I had worked with Python, but building a complete application with a graphical interface was a different experience. I learned how Tkinter frames, buttons, labels, and entry fields work together to create an actual user interface.

I also learned how important data management is. At first, getting an item to appear on the screen was enough for me, but I quickly realized that the information needed to actually be saved and updated. Working with JSON helped me understand how an application can store information and use it later.

I also learned about debugging. A lot of my development time was spent finding small problems in my code, especially when I was working with JSON, search results, and the claim feature. Some errors were as simple as a missing comma, but they could completely stop the application from working.

Challenges

One of the biggest challenges was figuring out how to handle multiple similar items.

At first, my search would only display one possible match. I realized that this wouldn't work well in a real school because multiple students could lose the same type of item. I changed the search system so that it could display multiple results and give each item its own claim button.

Another challenge was making sure the correct item was claimed. I solved this by giving every item a unique ID and using that ID to identify which item the student selected.

I also had to make sure that claiming an item actually changed its status in the stored data, rather than just changing what was displayed on the screen.

What's Next?

The next feature I would like to add is AI-powered description matching.

Right now, ReFind searches based on the information stored in the catalog. But students and staff might describe the same item in completely different ways.

For example, a student might say:

“I lost a dark blue bottle with stickers near the gym.”

while a staff member might write:

“Blue metal bottle with several stickers found outside the gym.”

In the future, I would like to use AI to recognize that those descriptions could refer to the same item, even though the wording is different.

For this version, I focused on making the core application work reliably first. AI matching would be the next step in making ReFind even more useful.

Why ReFind?

ReFind started with a simple idea: make an annoying part of student life a little easier.

Instead of digging through a box and hoping your item is there, students can search for it digitally. At the same time, staff get a simple way to organize the things students have lost.

It's a small problem, but I think small problems are worth solving too.

Built With

Share this project:

Updates

Submission history