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. [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. [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. [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. [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. [2]

    React Documentation

    Meta Open Source (2026).

    https://react.dev/ (opens in new tab)

    Component architecture, hooks, and client/server boundaries.

  3. [3]

    Supabase Documentation

    Supabase (2026).

    https://supabase.com/docs (opens in new tab)

    PostgreSQL database, authentication, Row Level Security, and storage integration.

  4. [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. [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. [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. [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. [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. [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. [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. [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. [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