PinPoint
PinPoint Website: https://codelabproduct.vercel.app/
Introduction
PinPoint, the new and improved lost and found technology for UC Davis staff and students. At UC Davis, losing personal belongings is a common challenge for both students and staff. Our current system for finding lost items is disorganized, with multiple departments, bulletin boards, and even snapchat stories. Because of the fragmentation of the current system, several items remain unclaimed. UC Davis has yet to create a streamlined solution that simplifies the process and ensures lost items are returned quickly and efficiently. This is where PinPoint comes in. We’ve created a centralized, user-friendly platform to streamline the lost and found process. PinPoint is here to soothe the frustrations of those who lose their valuable items and save the time of the UC Davis community.
The Team
Vrinda Bansal — Project Manager
Nandini Baruah — Software Developer
Ian Yoo — Software Developer
Adisesh Venkatesh Sanklapur — Software Developer
Reeveson Masilamani — Software Developer
Jason Peng — Software Developer
Shashwat Mahalanobis — Software Developer
Bardia Anvari — Software Developer
Benedict Nursalim — Software Developer
Trung Vo — Product Designer
Jasmine Gonzalez Pacheco — Product Designer
Aidan Chiang — Product Designer
Tools
Design — Figma
Development — Firebase, Typescript, Tailwind, React, Next.js, PostgreSQL
Maintenance — Notion, Github
Design
User Research Methods
Our research began by having each team member from both the Design and Development teams conduct approximately three user interviews. These interviews focused on general lost and found experiences, including whether participants had lost, found, or successfully returned an item. From these interviews we were able to gain new insights on a personal level which the design team then identified any gaps and followed up with an online survey. After gathering survey data, we analyzed websites and mobile apps related to lost and found services, including UCD’s Lost & Found website, Facebook’s Lost & Found Pages, and the Ring Neighbors app. Finally, we conducted a literature review on Japan’s Lost & Found system.
Research Insights
We used insights from our surveys and competitive analysis to inform the various filters we would need to identify peoples’ belongings, such as categories of items, location tags, and estimated value. The biggest concern that we gathered from user interviews was how high-value items would be handled; our choice was to limit the items a user can see depending on the specific filters they’ve set. They would not be allowed to search for a lost item report unless they had a sufficient amount of information entered. Additionally, we’re discussing a “trusted friends” feature that will allow us to do more between these users since dishonesty is assumed to be out of the picture. Item matches and returns would be facilitated directly between users via a messaging integration+-, as the majority of our survey responses (55.6%) preferred to have direct contact with the item owner.
Mid-Fi to MVP
Creating an impactful product starts with transforming ideas into a tangible, testable solution. The mid-fidelity (mid-fi) design process bridges concept and reality by focusing on core functionalities and user flows, ensuring clarity in navigation and task completion. This phase begins by defining the problem space, mapping user flows, and crafting wireframes that prioritize functionality and content hierarchy over visual details. Usability testing plays a critical role in identifying pain points early, allowing for rapid iteration. The insights gained here directly inform the Minimum Viable Product (MVP) — a simplified version of the product that delivers maximum value. By prioritizing essential features and refining designs based on user feedback, the MVP becomes a polished, interactive prototype ready for validation. The mid-fi process ensures the MVP addresses real user problems efficiently, reducing development costs and laying the foundation for future iterations.
Development
Search and Filter Functionality
To provide an idea as to how we set up our Firestore database, above is a snapshot of a sample database structure.
At its core, we have primarily focused on fields such as categories and timestamps. This ensures that lookups are rapid as well as reliable at all times. We made sure that it isn’t just about meeting today’s modern standards, but also ensuring that the product is scalable in the future. By structuring the database in this way, we have made sure that the system is scalable. As this product grows, we hope to implement features such as full-text search, relevance ranking, and other similar machine learning driven query methods. This strategy also makes sure that the product doesn’t just meet the expectations of users, but actually exceeds them.
We implemented a dynamic item display using filters that can classify the items by category and date, and a search bar. Our current functioning search bar does not require an exact match of input text to find results, it works by identifying items that share the most common characters with the search query, even if match isn’t perfect, in other words, we can find results with partial names, misspelled words, and beginnings of a word. On a realistic level, there would be an incredible number of items lost across the campus, so instead of hours wasted on tracing back your path , you can easily find previously reported lost or found items based on filters such as item category, price, date, or with a simple search.
Landing and Report Pages
The main frontend work we did was developing and implementing a clean UI structure. Our first priority was getting the buttons to work, and on the landing page we have just two: Lost, and Found.
We wanted it to be very simple and straightforward to get to the respective report pages. On these pages, we styled the form elements to be intuitive and appealing. The inputs are processed together and sent to the database in a single object. The images are stored separately to reduce overhead when calling read/writes to the database. The sidebar and navigation bar ties the functionality of our system to the design aspect as we integrated the features mentioned before.
Firebase V.S. Supabase
When deciding between Firebase and Supabase for implementing Google login, we initially leaned toward Supabase due to its simple setup and Postgres-backed architecture. However, we encountered key challenges that led us to switch to Firebase.
One major limitation was Supabase’s lack of native Java support, which made integration with our Java-based backend cumbersome. Additionally, its authentication system lacked the seamless polish offered by Firebase’s built-in GoogleAuthProvider, which simplifies implementation significantly.
Another deciding factor was Firebase’s strong integration with Google Cloud services. This was crucial for us as we needed Cloud Storage to manage image uploads, a feature Firebase supports out of the box, whereas Supabase would have required additional setup.
In summary, Firebase provided better Java compatibility, a more robust authentication system, and effortless integration with Google Cloud, making it the clear choice for our project.
Takeaways & Challenges
Cross-Functional Team Dynamics
Working with a diverse team of designers and developers brought both unique opportunities and challenges. The initial user research phase exemplified this, with both teams conducting interviews to gain comprehensive insights. This cross-functional approach allowed us to consider both technical feasibility and user experience from the start. However, it also meant navigating different working styles and priorities. The designers focused on creating an intuitive interface for lost item reporting, while developers tackled complex technical challenges like image processing and database architecture. Through regular communication and mutual respect for each team’s expertise, we were able to create a cohesive product that balanced both technical requirements and user needs.
Technical Architecture Evolution
One of our biggest challenges was making critical technical decisions that would impact the project’s scalability and maintainability. The switch from Supabase to Firebase demonstrated our team’s ability to pivot when necessary, prioritizing better Java compatibility and seamless Google Cloud integration over initial preferences. This decision-making process taught us valuable lessons about evaluating technical trade-offs and the importance of choosing technologies that align with long-term project goals. The ongoing transition from a JavaScript backend to a more robust Java-based solution further shows our commitment to building a scalable, enterprise-grade application.
Next Steps
As PinPoint moves forward, our team has laid out an ambitious roadmap that spans both design and development initiatives. On the design front, we’re focusing on completing high-fidelity designs and establishing a strong, cohesive brand identity that will resonate with the UC Davis community. This includes developing comprehensive design systems that will ensure consistency across all platform touchpoints.
The development team is tackling several major technical enhancements that will significantly improve the platform’s functionality. A key focus is revolutionizing our image handling system — we’re implementing a sophisticated pipeline where images will be uploaded to Google Cloud, processed for information extraction, and managed efficiently. This system will even include an innovative feature similar to EasyBib, where the platform can generate item descriptions directly from uploaded images, streamlining the reporting process for users.
We’re also enhancing our location tracking capabilities by introducing map integration that will include campus buildings while thoughtfully excluding classroom-level detail for privacy considerations. This mapping feature will be seamlessly integrated with our existing search and filter functionalities, making it easier for users to precisely locate where items were lost or found.
A significant infrastructure upgrade is in progress as we transition away from our JavaScript backend to a more robust Java-based system. This includes implementing a Jenkins deployment pipeline to ensure smooth and reliable updates. To make the item return process more efficient, we’re developing an in-app messaging system that will facilitate secure communication between users who have lost and found items.
The development team has been strategically divided to tackle different aspects of these enhancements. One team is focusing on backend refinement and the messaging system implementation, while another team is spearheading the image processing and description generation features. Other teams are dedicated to handling image storage optimization, map frontend development, and refining the frontend forms with future messaging interface integration.
These enhancements represent our commitment to creating a more efficient and user-friendly lost and found system. Each feature has been carefully chosen based on user feedback and technical feasibility, ensuring that PinPoint continues to evolve in ways that meaningfully serve our community’s needs.
Closing Remarks
PinPoint represents more than just a technical solution; it embodies our commitment to solving a persistent challenge in the UC Davis community. Through extensive user research, thoughtful design, and innovative development, we’ve created a foundation for what we believe will revolutionize how our campus handles lost and found items. Our journey from concept to MVP has been marked by continuous learning, adaptation, and a steadfast focus on user needs.
We’re particularly proud of how our cross-functional team of designers and developers came together to create a cohesive platform that balances technical sophistication with user-friendly design. The collaboration between team members with diverse skills and perspectives has resulted in a product that addresses the real pain points of our community while pushing the boundaries of what’s possible in a campus lost and found system.
Looking ahead, we’re excited about the potential impact PinPoint will have on the daily lives of UC Davis students and staff. Our vision extends beyond simply matching lost items with their owners — we’re building a platform that brings efficiency, reliability, and peace of mind to what has traditionally been a frustrating experience. With the continued support of our community and the dedication of our team, we’re confident that PinPoint will become an integral part of campus life at UC Davis.
Thank you to Code Lab at UC Davis for providing us with this opportunity to make a meaningful difference in our community. Together, we’re not just finding lost items — we’re building connections and trust across campus, one item at a time.