WordPress

The Legacy Path

We Built What You Asked For

You wanted WordPress. We delivered WordPress—with every feature from the handoff document. 100% complete.

But along the way, we learned some things. This page documents the journey—the wins, the workarounds, and why we also built something better.

We Got the Memo

What we received from Kendall <kendall@rinardmedia.com>

A detailed PDF handoff document outlining the vision: WordPress with Airtable backend, interactive county map, Stripe payments, broker intake forms, and automated delinquency handling. We converted it to structured markdown and built every feature specified.

See how we interpreted this brief

But Here's the Thing

We built exactly what you asked for. Every checkbox, checked. But building it taught us things.

It works.

The WordPress implementation does what the handoff document asked for. You could ship it. It would function.

But it's held together with duct tape.

Airtable rate limits mean we added server-side caching. ESRI was slow so we added Leaflet as fallback. WordPress transient caching caused bugs so we added cache-busting. Each "fix" adds complexity.

The ongoing maintenance burden is significant.

WordPress core updates, plugin updates, plugin conflicts, security patches, Airtable API changes, Stripe webhook versioning, hosting patches, SSL renewals. Each WordPress plugin is another piece of "flair" you're required to maintain just to keep the system running.

The performance gap is real.

This WordPress build loads in 2.3 seconds. The modern Astro version loads in 84 milliseconds. That's not marketing—that's measured against the same data, same network, same machine.

The Result

ESRI ArcGIS Map
WordPress demo with ESRI ArcGIS map showing 3,227 US counties
3,227 counties with ESRI SDK. Green = assigned.
Leaflet + CARTO
WordPress demo with Leaflet map showing 3,227 US counties
Same data, <2 seconds load time.

WordPress Admin

Dashboard
WordPress admin dashboard
HURE Settings
HURE Map Integration settings page
Plugin Active
WordPress plugins page showing HURE Map Integration
demo.hure.supported.systems

A fully functional WordPress site with:

Interactive county map (Leaflet + ESRI)
3,227 counties with status colors
Stripe payment integration
Airtable backend + caching
Partner profile modals
30-day delinquency grace period

Requirements

15/15
Map loads quickly; no persistent 'loading' state
Map fetches only /wp-json/hure/v1/counties (single request)
Server-side Airtable caching (10-minute transient cache)
Open county popup shows area_blurb/highlights/photo_url + consumer request form
Assigned county popup shows brokerage + phone + brokerage_url link
Consumer request creates lead record + routes email to correct Partner/Admin
Broker intake submission creates record + emails admin
Stripe enrollment webhook updates county row to status=Assigned
Stripe payment failure sends email and starts 30-day clock
Day 31 cron reverts county to Open if still unpaid
Dynamic Checkout Sessions with FIPS metadata
Counties, Leads, Brokerage_Intake Airtable tables
Partner profile modals with contact info
Dual map implementation (ESRI + Leaflet) Bonus
3,227 counties loaded with status indicators Bonus
100% Complete

Every requirement from the handoff document—checked off.

We Don't Just Use WordPress. We Build For It.

TigerStyle is our WordPress plugin ecosystem—five professional-grade plugins covering SEO, privacy, performance, backups, and OAuth2 authentication. We've spent years making WordPress more bearable. So you don't have to.

These plugins are offered as a free public service by Supported Systems. Because if you're going to use WordPress, it might as well not hurt.

🔥
Heat
🐱
Whiskers
Dash
💾
Life9
🔑
Scent

"How Kyra made WordPress bearable" — tales from the trenches of plugin development

Astro

There's a Better Way

We built the WordPress version. It works. But we also built a modern Astro + FastAPI solution that's 27× faster, costs 92% less to run, and gives you full data ownership.

84ms page loads (vs 2.3s WordPress)
$87/year (vs $1,145/year WordPress)
25 production-ready features

Want to see how we built it? Keep scrolling for the technical details.

The Build Timeline

1

PDF Handoff → Markdown

Day 1, Hour 1

Converted scanned PDF to structured markdown using OCR (87.5% confidence). Identified gaps and assumptions.

OCRWrite
Outcome: HURE-Developer-Handoff.md
2

Architecture Planning

Day 1, Hours 1-2

Created comprehensive 9-phase implementation spec covering Docker, WordPress plugin structure, APIs, maps, payments.

Plan Mode
Outcome: Implementation roadmap
3

Docker Environment

Day 1, Hours 2-4

Set up docker-compose.yml with WordPress, MariaDB, Redis, and caddy-docker-proxy for automatic HTTPS.

Docker ComposeCaddy
Outcome: Services running at demo.hure.supported.systems
4

Automated WordPress Install

Day 1, Hours 4-5 Highlight

Used Playwright browser automation for the WordPress 5-minute install. 100+ automated browser interactions.

Playwright MCP
Outcome: WordPress installed with admin access
5

Plugin Architecture

Day 1, Hours 5-8

Created complete plugin structure with PSR-4 autoloading, 5 REST API endpoints, admin settings page.

WriteComposer
Outcome: 94 files created
6

Airtable Integration

Day 1, Hours 8-10 Blocker Hit

Wrestled with PAT permissions, discovered scope requirements, created tables via Meta API, populated sample data.

Airtable APIcURL
Outcome: Counties, Leads, Brokerage_Intake tables
⚠️ INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND errors
7

ESRI Map Integration

Day 1, Hours 10-12 Blocker Hit

Implemented ArcGIS map with county polygons, popup templates, and styling. Debugged AMD module loading issues.

ESRI ArcGIS SDK
Outcome: Interactive county map
⚠️ JavaScript Map shadowing
8

Stripe Billing

Day 1, Hours 14-18 Highlight

Built complete payment flow: dynamic checkout sessions, webhooks, Airtable updates, email notifications, delinquency tracking.

Stripe APIWebhooks
Outcome: End-to-end payment system
9

Leaflet Migration

Days 2-3 Highlight

ESRI was slow with 3,227 counties. Migrated to Leaflet with CARTO tiles and GeoJSON boundaries. Solved z-index layering with custom panes.

LeafletGeoJSON
Outcome: 3,227 counties loading in <2 seconds
10

Production Data Import

Days 4-12

Created Python scripts for bulk imports. Imported all US counties with centroids, partner profiles, broker assignments.

PythonAirtable API
Outcome: Full production dataset

Automated Browser Testing

How do you test a website with 3,227 interactive counties? You don't click each one manually.

What We Did

We used automated browser testing—software that controls a real web browser just like a person would. It clicks buttons, fills out forms, navigates pages, and verifies everything works correctly.

500+ Automated actions performed (clicks, form fills, navigations)
100% WordPress installation automated (zero manual clicking)

Why It Matters

  • Consistency: Every test runs exactly the same way, every time
  • Speed: Test hundreds of scenarios in minutes, not days
  • Confidence: Changes don't break existing features—tests catch problems instantly

Challenges Overcome

Every complex project hits bumps. Here's how we solved them.

Docker Environment Variables

Resolved in 30 minutes
Issue: Editing .env didn't update running containers
Solution: Must run docker compose down && up -d

Airtable PAT Permissions

Resolved in 45 minutes
Issue: INVALID_PERMISSIONS_OR_MODEL_NOT_FOUND errors
Solution: Regenerated PAT with correct scopes

ESRI AMD Module Loading

Resolved in 1 hour
Issue: require is not defined, MapView is not a constructor
Solution: Added SDK script, renamed ESRI imports to EsriMap

CSS Caching

Resolved in 30 minutes
Issue: CSS changes not visible despite server updates
Solution: Added version query strings, hard refresh

Leaflet Z-Index Layering

Resolved in 20 minutes
Issue: City/state labels hidden behind county polygons
Solution: Custom panes with explicit z-index values
All challenges resolved ~3 hours total

These are normal development hurdles. Our experience meant faster resolution.

Astro

Ready for the Alternative?

We built what you asked for. Now see what we'd recommend instead.

Continue to The Astro Solution
🎉

Flair Earned!

The Proposal

🎖️

You earned your first flair!

What should we call you?

Jump to Conclusions
Jump to Conclusions
Are You Helpin?
Are You Helpin?
Feature Complete
Feature Complete
Work Faster
Work Faster
Not in Kansas
Not in Kansas
People Person
People Person
VISITOR
Building on Fire
Building on Fire
It's Beer Hour!
It's Beer Hour!
Ask Me About My Flair
Ask Me About My Flair
Everyone Loves a Redhead
Everyone Loves a Redhead
☀️
Sunshine State
🏔️
Rocky Mountain
0 / 12 flair

"We need to talk about your flair..."

— Stan, Manager

Current page: Work Faster