Sources & references
The resources below informed our lost-and-found research, accessibility decisions, and technology choices for ReFind.
Original work statement
ReFind is original work. We did not use a pre-built website template. UI components, server actions, database policies, and the CLIP search pipeline were authored by our team. Third-party libraries are listed below and used according to their licenses.
For setup instructions and architecture overview, see Development documentation in this repository's DEVELOPMENT.md file.
Lost & Found Practices
[1]
Cornell University Lost & Found — operational overview
Cornell University Campus Life (2024).
https://scl.cornell.edu/reserve/rooms/lost-and-found/ (opens in new tab)Reference model for centralized intake, item logging, and owner verification workflows.
Accessibility
[1]
Web Content Accessibility Guidelines (WCAG) 2.2
W3C Web Accessibility Initiative. World Wide Web Consortium (2023).
https://www.w3.org/TR/WCAG22/ (opens in new tab)Guided skip links, focus management, color contrast themes, and semantic HTML across ReFind.
[2]
WAI-ARIA Authoring Practices Guide — Dialog (Modal) Pattern
W3C ARIA Working Group. World Wide Web Consortium (2024).
https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/ (opens in new tab)Implemented in ModalDialog: focus trap, aria-modal, Escape to dismiss, and scroll lock.
Technology
[1]
Next.js Documentation
Vercel (2026).
https://nextjs.org/docs (opens in new tab)App Router, Server Actions, and API routes power the ReFind frontend and backend.
[2]
React Documentation
Meta Open Source (2026).
https://react.dev/ (opens in new tab)Component architecture, hooks, and client/server boundaries.
[3]
Supabase Documentation
Supabase (2026).
https://supabase.com/docs (opens in new tab)PostgreSQL database, authentication, Row Level Security, and storage integration.
[4]
pgvector — Open-source vector similarity search for PostgreSQL
Andrew Kane. GitHub (2024).
https://github.com/pgvector/pgvector (opens in new tab)Stores CLIP image embeddings for visual search on approved items.
[5]
Learning Transferable Visual Models From Natural Language Supervision (CLIP)
Radford, A., et al.. OpenAI / ICML (2021).
https://arxiv.org/abs/2103.00020 (opens in new tab)Foundation for semantic image–text matching; we use Xenova/clip-vit-base-patch32 via Transformers.js.
[6]
Transformers.js
Hugging Face (2024).
https://huggingface.co/docs/transformers.js (opens in new tab)Runs CLIP inference in Node.js for /api/search-visual without external API keys.
[7]
Leaflet — An open-source JavaScript library for mobile-friendly interactive maps
Leaflet (2024).
https://leafletjs.com/ (opens in new tab)Map pickers for found-item locations and community boundary configuration.
[8]
Nominatim Usage Policy
OpenStreetMap Foundation (2024).
https://operations.osmfoundation.org/policies/nominatim/ (opens in new tab)Geocoding in /api/geocode uses Nominatim with a descriptive User-Agent per OSM policy.
[9]
Cloudinary Image & Video API Documentation
Cloudinary (2026).
https://cloudinary.com/documentation (opens in new tab)Secure image upload, transformation, and CDN delivery for found-item photos.
[10]
Tailwind CSS Documentation
Tailwind Labs (2026).
https://tailwindcss.com/docs (opens in new tab)Utility-first styling; all layouts and components are custom-authored, not from a purchased template.
Assets & Licenses
[1]
Lucide Icons — ISC License
Lucide Contributors (2024).
https://lucide.dev/license (opens in new tab)Icons used throughout navigation, forms, and admin panels.
[2]
Geist Font Family
Vercel (2024).
https://vercel.com/font (opens in new tab)Primary typeface loaded via next/font in src/app/layout.tsx.
Development documentation
Our team maintains a DEVELOPMENT.md file at the project root with architecture notes, environment setup, database schema documentation, and a feature inventory.
Repository path: school-lost-and-found/DEVELOPMENT.md