Inspiration
Every year, millions of lost items end up sitting in back rooms or databases, while people waste hours searching, or even give up entirely. The problem isn’t a lack of information, it’s that the information can’t be shared safely.
What it does
Our solution is a secure lost-and-found matching platform that helps people recover items without ever exposing the inventory. Users can submit a lost item inquiry using text, images, or both, and instantly track its status. Behind the scenes, our system automatically matches the inquiry against a private, assistant-only catalog, generating a short list of high-confidence matches. Assistants review and approve matches, and only when there’s strong confidence does the system move forward—dramatically reducing false claims and fraud.
How we built it
We architected this application using React and Tailwind CSS to create a high-performance, responsive interface modeled after professional conversion and retrieval tools. The core intelligence is powered by the Google Gemini API, specifically utilizing the gemini-3-flash-preview model to perform deep visual interrogation of images and standardize natural language queries into technical descriptions. To enable the matching system, we implemented semantic search by converting these descriptions into high-dimensional vectors using the text-embedding-004 model. For robust data persistence, we built a custom IndexedDB service that stores image metadata and vector fingerprints locally, allowing for complex searches without a traditional backend. Finally, we established a secure state-driven workflow to manage the lifecycle of user inquiries, ensuring consistent transitions between "Submitted," "Under Review," and "Resolved" statuses.
Challenges we ran into
One of the challenges was to get a matching score from user's text prompts with the images that we have in the database. The system had trouble trying to make a string lookup and then match the text with the image. So, we used an LLM instead. Another was when the user inputs a text prompt and an image, the matching score only uses the user's image to match with the inventory images. We had to work on the design flaw (early version of our prototype).
What we learned
Gemini API key, LLM and our code interactions
What's next for aSAP Item Finder
We will try to use voice prompt from the user and match it with an item in the inventory. Matching date lost submitted by user with date lost in the database.
Built With
- canvas
- css
- file-api
- google-ai-studio
- google-gemini-api
- html5
- indexeddb
- javascript
- react
- tailwind
- text-embedding-004
- typescript
- vector-search-engine
Log in or sign up for Devpost to join the conversation.