Inspiration
We wanted to try the SAP challenge because it allowed us to learn to use MCP and Vector Search.
What it does
- AI-Powered Search: Users describe their lost item in natural language or upload an image. The system uses Google Gemini models for semantic search and matching.
- Conversation-Driven Workflow: The AI guides users through a chat interface, asking for clarifying details only when necessary, and confirms when enough information is available for a claim. Inquiry Submission: Once enough details are gathered, users can submit an inquiry. The full conversation history is saved for admin review.
- Admin Verification: Admins can view all inquiries, including the conversation history and AI-matched items, to verify claims.
- History and Status Tracking: Users can view their past inquiries and their statuses. Strict Privacy: The AI never reveals information from the database to users.
How we built it
- Frontend: Angular, TypeScript
- Backend: NestJS, TypeScript, MongoDB (Mongoose), Google Gemini API
- AI Models: Gemini 2.5 Flash (or latest available), text-embedding-004 for vector search
- Vector Search: MongoDB Atlas Vector Search, 768-dim embeddings, 0.75 similarity threshold
Challenges we ran into
- Optimizing the system prompt so that it neither asks for too much information before selecting items nor chooses items when information is inconclusive.
What we learned
We learned about how to use vector search in MongoDB and how to give tools to LLMs through an MCP server.
AI assistants such as Github copilot were used in the making of this project to increase coding speed
Built With
- angular.js
- gemini
- mongodb
- nestjs
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.