← All work

Platform2024 to now

CareChanges, a senior living search

A senior living search by city, state or zip code, with the care types, resources for families and a WordPress backend, on Next.js 16.

RoleFront-end developer

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • WordPress
A city page of CareChanges, Assisted Living in Houston, TX, with filters for care type, price and nearby cities and a list of communities with a photo, care types, address and monthly price.

Overview

CareChanges helps families find senior living. You search by city, state or zip code, and you can browse by care type and by state, with resources for families next to the search. I wrote most of the front end, at SilverAssist, together with other developers. It runs on Next.js 16 and React 19.

The editorial pages, such as the care types and the resources, live in WordPress, and the site shows them without exposing WordPress to the visitor.

The challenge

A directory needs its pages to be cheap to serve and its content to be fresh. That means deciding, for each kind of page, how long it can be cached and what clears it when something changes, and doing it the same way across the whole site. It also means serving content and images that come from a WordPress site behind a firewall, without leaving that site in the open.

Key features

  • City pages with filters: the communities of a city for a care type, with filters by care type and price and links to nearby cities. These are the core of the site.
  • Caching rules per kind of page. Every cacheable route has a revalidate time and tags. Reads that use POST are cached with tags too, and anything that mutates data or is personal is never cached.
  • One endpoint to invalidate. /api/revalidate clears the Next.js cache by tag or by path and the CDN cache in the same call.
  • WordPress content through Next.js. A lookup that fails for a reason unrelated to the page, such as a timeout or a bad response, is never cached as a 404. An assets proxy serves /assets/uploads/... in place of /wp-content/uploads/..., adds the headers the upstream firewall asks for, and rewrites the URLs inside CSS files.
  • Pages by care type, by community and for families: senior-living-options, living-communities and resources-for-families, with a sitemap and robots rules.
  • Server Actions for the location autocomplete, the closest city and posting a review.

Technologies used

  • Front end: Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4.
  • Content: headless WordPress, with its pages and assets served through Next.js.
  • Testing and infrastructure: Jest, a CI pipeline, a Docker image and a CDN.

Screenshots

  • The home page of CareChanges, with a search box for city, state or zip code, a photo of a bedroom and the headline Find the Right Senior Living.
    The home page: the search by city, state or zip code.