## Context Replace the seeded `featuredAlumni` array on `/directory` with paginated DB results. This is the most-visited page, so performance and UX matter. ## Acceptance criteria - [ ] `/directory` fetches from DB (server component) - [ ] Filters: branch, batch range, city, country, company, role (student / alumnus / faculty) - [ ] Full-text search across name, headline, current company, city - [ ] Pagination — cursor-based, 24 per page - [ ] Respects per-field privacy (#14) — hidden fields never appear in search indexes - [ ] Empty-state copy when filters yield no results - [ ] Query params reflect filter state (shareable URLs) - [ ] Load time under 500 ms for an empty query on a hot DB Depends on #8, #12, #14.
Context
Replace the seeded
featuredAlumniarray on/directorywith paginated DB results. This is the most-visited page, so performance and UX matter.Acceptance criteria
/directoryfetches from DB (server component)Depends on #8, #12, #14.