Skip to content
← All Projects

National Directory Platform

TRT Authority

The largest testosterone replacement therapy clinic directory in the US — 7,600+ clinics across all 50 states, ~9,700 pre-rendered pages, and a SaaS clinic management dashboard.

Overview

TRT Authority pairs a high-performance static directory site with a SaaS clinic management dashboard. The main site at trtauthority.com is a fully static Astro site — all data queries run at build time with zero runtime API calls. The pro dashboard at pro.trtauthority.com is a Next.js application with Supabase auth, tiered subscriptions, and a full claim/verify pipeline for clinic owners.

Content is organized into six pillars — Diagnosis, Treatments, Guide, Reviews, Resources, and Directory — plus individual clinic profiles, city pages, state landers, service pages, and editorial content. Every page is pre-rendered, SEO-optimized, and served from Vercel's edge network.

For a deeper technical walkthrough including architecture diagrams and pipeline specifications, request our technical whitepaper.

By the Numbers

7,600+

Clinics Indexed

~9,700

Pre-rendered Pages

50

States Covered

35

Service Modalities

Two Systems, One Platform

Main Site

trtauthority.com

Fully static directory and content site. All Supabase queries run during build with 50 concurrent workers — zero runtime API calls. Astro 5 with React islands, Pagefind for client-side full-text search, and geo-aware routing for city/state pages.

Pro Dashboard

pro.trtauthority.com

Next.js SaaS dashboard for clinic owners. Supabase magic-link auth, tiered subscriptions (4 tiers from free to $1,199/mo), feature gating, and a full claim/verify pipeline with n8n webhook automation.

Main Site — Tech Stack

Layer Technology
FrameworkAstro 5 + React 19 (islands architecture)
LanguageTypeScript
StylingTailwind CSS 4
SearchPagefind (client-side full-text, built at compile time)
UIRadix UI primitives, Lucide icons, CVA + clsx
DatabaseSupabase PostgreSQL (read-only at build time)
HostingVercel (static output, ~9,700 pre-rendered pages)
ContentMDX via @astrojs/mdx
SEOSitemap generation, structured data, geo-aware city/state routing

Pro Dashboard — Tech Stack

Layer Technology
FrameworkNext.js (App Router, Turbopack)
LanguageTypeScript (strict mode)
StylingTailwind CSS 4 + shadcn/ui component system
AuthSupabase magic link (passwordless, email-based)
DatabaseSupabase (shared instance with main site)
HostingVercel (SSR)
UIshadcn/ui (Radix-based), Lucide icons

Subscription Tiers

The Pro dashboard uses a tiered subscription model with feature gating. Annual billing includes two months free.

Tier Price Description
ClaimedFreeBasic listing management and profile control
Pro Lite$199/moEnhanced profile, analytics, and visibility features
Pro Plus$499/moPriority placement, advanced analytics, and lead tools
Elite$1,199/moFull platform access, dedicated support, and premium positioning

Claim & Verify Pipeline

Clinic owners can search for and claim their listing through an automated verification flow.

1

Search

Autocomplete clinic lookup

2

Verify

Owner verification form

3

Process

n8n webhook + Airtable + Slack

4

Activate

Magic link access to dashboard

Database Architecture

A shared Supabase PostgreSQL instance powers both the main site and Pro dashboard. Airtable serves as the editorial CMS and pipeline input, syncing to Supabase via Python scripts.

Table Records Purpose
businesses7,600+Clinic profiles with contact info, ratings, grades, and scores
services35TRT treatment modalities and service types
content_pagesEditorialAI-generated articles across six content pillars
states / cities50 / All USGeographic routing with lat/long for proximity search
brandsBrand recordsPharmaceutical and clinic brand information
glossaryTerm definitionsMedical terminology and TRT-specific glossary

Junction tables handle the many-to-many relationships: listing-services, FAQ-services, content-service matching, featured businesses, and related content links.

Content & Data Pipeline

A Python-based pipeline handles everything from clinic discovery to content generation to image creation. Each stage uses purpose-built AI models for its specific task.

Stage AI Model What It Does
DiscoveryDataForSEOGMB business discovery across all US markets
Web ScrapingClaude HaikuCrawl 7,600+ clinic websites, extract structured data
ClassificationClaude HaikuA-F TRT relevance grading for every clinic
ScoringAlgorithmicComposite 0-100 quality scoring
Content PlanningClaude OpusStrategic editorial framework and topic architecture
Content WritingPerplexity Sonar + Claude SonnetResearch with live citations, then write and edit articles
Image GenerationGemini Pro ImageIllustrations with WebP optimization + EXIF geodata
FAQ GenerationDataForSEO + Claude HaikuPAA scraping from SERPs + FAQ content generation
Service PagesClaude Sonnet800-1200 word service page content for each modality
Data SyncPythonAirtable → Supabase sync with crash recovery

AI Models Used

Different models are selected for each task based on the trade-off between capability, speed, and cost.

Model Provider Use Case
Claude OpusAnthropicStrategic content planning, complex reasoning
Claude SonnetAnthropicContent writing, FAQ generation, service pages
Claude HaikuAnthropicData extraction, classification, web scrape parsing
Perplexity SonarPerplexityResearch with live citations for article writing
Gemini Pro ImageGoogleImage generation (PNG → WebP)
Gemini FlashGoogleImage captioning and alt text

Infrastructure & Deployment

Component Platform Details
Main SiteVercel (static)trtauthority.com — ~9,700 pre-rendered pages
Pro DashboardVercel (SSR)pro.trtauthority.com — 15+ authenticated routes
DatabaseSupabase CloudPostgreSQL + Auth + Storage (shared instance)
CMS / DataAirtableEditorial CMS, pipeline input, client records
Automationn8n (self-hosted)Claim verification, lead routing, notifications
SERP / KeywordsDataForSEOBusiness discovery, SERP research, keyword analysis

Geo-Aware Features

Proximity-Sorted Results

City coordinates stored in Supabase enable "nearby cities" sections and distance-aware clinic sorting on every city and state page.

Homepage Clinic Finder

Detects user location to surface the nearest clinics immediately on homepage load — no manual location input required.

State Landers

Dedicated pages for all 50 states with clinic counts, top-rated clinics, city breakdowns, and state-specific TRT information.

City Pages

Individual pages for every city with TRT clinics — filterable clinic listings, local context, and nearby city navigation.

Automation Layer

n8n handles the operational automation — webhook endpoints that process form submissions, route leads, and sync data between systems.

Clinic Claim Webhook

Verification submissions trigger an n8n workflow that writes to Airtable, sends a Slack notification, and fires a confirmation email — all in seconds.

Lead Routing

Contact forms, quiz completions, and callback requests are captured and routed via n8n webhooks with email notifications.

Want the full technical breakdown?

Our technical whitepaper covers architecture diagrams, pipeline specifications, data models, and performance benchmarks in detail.

Request Whitepaper

Want us to build something like this for your niche?

TRT Authority is exactly the kind of digital asset we build under The Property. Tell us about your market.

Start a Conversation