Skip to content
~/ tommybuilt .dev

// case study

GlowUpFinder

A local beauty services directory designed from day one to win search. Programmatic location pages, a clean map experience, and an SEO architecture that turned into real organic traffic fast.

timeframe: Early 2026 to present stack:
  • Astro
  • Cloudflare Pages
  • Cloudflare D1
  • Leaflet
  • Resend

Overview

GlowUpFinder is a discovery directory for beauty services: salons, spas, nail studios, med spas, facials, and the rest. Users search by service and city, browse providers, and find what is near them. It was built for one purpose above all others, to be found through search, and it is the clearest example in the portfolio of the directory-as-traffic-engine strategy.

The goal

Marketplaces are hard. They need supply and demand at the same time, and getting both off the ground at once is a brutal cold-start problem. Directories have a property that makes them far more attractive for a solo builder: they can grow through search alone. Every service-and-city combination is a query someone is already typing. The goal was to build the page that answers each of those queries, at scale, and let search handle the distribution.

The stack

Astro on Cloudflare Pages, with a D1 database holding the listings. Leaflet for the map experience. Resend for email notifications. Astro was the deliberate choice, because the framework decision for a content and SEO site should always be the one that ships fast static pages, and that is Astro.

What I built

The directory itself, expanded across more than a hundred cities and tens of thousands of listings. Category and city pages generated programmatically, each one a clean landing page targeting a specific local query. A full map experience built on Leaflet. Unique descriptions rather than duplicated boilerplate, because duplicate content is an SEO dead end.

The SEO infrastructure is the actual product here. Split sitemaps. JSON-LD structured data. A canonical-tag audit so query-parameter variations did not fragment ranking signal. Internal cross-linking between related pages and cities. The day-one technical checklist applied in full before content scaled.

Later, a business layer went on top: Stripe scaffolding for featured listings, a business-facing dashboard, and an admin path for granting and tracking complimentary listings. It was built so the directory could become a business once the traffic justified it.

The hard parts

The honest version. An external data source got disabled once its credits were consumed, which forced real decisions about how listing data was sourced and maintained. Programmatic pages are powerful and also dangerous: generate them carelessly and you get thin, near-duplicate pages that search punishes, so a genuine chunk of the work was making generated pages distinct enough to earn their ranking. And monetization on a directory is a sequencing problem. Traffic has to come before paid listings make any sense, so the business features were deliberately built and then held until the audience was real.

Where it landed

GlowUpFinder started pulling organic traffic almost immediately, with no advertising spend behind it, and it has kept climbing every month since. That steady, compounding growth is the entire thesis of the directory strategy proven on a single project: build the right pages, get the technical SEO correct, and search delivers an audience that keeps growing while you build the next thing.

My role

Solo. Strategy, build, SEO architecture, data, and the business-layer design.