Website Stack Selection Decision Framework
Overview
Asymmetric uses a two-tier website technology strategy. The choice of stack is made at project kickoff and should involve the account manager, developer, and designer before any design or scoping work begins. Choosing the wrong stack early leads to costly workarounds and client frustration.
This framework was formalized in November 2025 after repeated friction with WordPress on complex, custom-feature projects (LaMaurie, Doodlah B2B site).
SOP Note: The website SOP should include a stack selection checkpoint at kickoff. See action item assigned to Isalia Ramirez.
The Two Tiers
Tier 1 — WordPress
Use when: The site's requirements are well-served by existing themes, plugins, and standard CMS functionality.
Characteristics:
- Faster to spin up for straightforward marketing sites
- Familiar to the team; existing hosting infrastructure in place
- Sufficient when no unusual interactivity, booking logic, or custom data structures are needed
Avoid when: The client has requirements that force plugin workarounds (e.g., bending Bookly to fit a non-standard booking flow), or when the design calls for highly custom UI behavior.
Tier 2 — React / Cursor / Vercel / Supabase
Use when: The project has complex, custom feature requirements that WordPress cannot handle cleanly without significant plugin hacking.
Characteristics:
- Significantly faster page performance ("radioactive fast" — roughly one-tenth the size of an equivalent WordPress build)
- No plugin overhead; behavior is coded exactly as needed
- Enterprise-grade SQL database via Supabase (vs. WordPress's comparatively limited DB)
- Full version control via Git with rollback capability
- AI-assisted development via Cursor accelerates build time, but requires a skilled developer to prompt correctly
Stack components:
| Tool | Role |
|---|---|
| React | Frontend framework — modern, lightweight, no plugin dependencies |
| Cursor | AI-powered code editor; developer directs it with precise prompts |
| Vercel | Hosting platform for React sites; handles deployments and environment variables |
| Supabase | Enterprise-grade SQL database; supports complex data structures at scale |
| Git | Version control; every change is logged, AI annotates commits, rollbacks are straightforward |
Content management: Uses a headless CMS pattern — content is authored in a separate tool and pushed to the site via templates, keeping the frontend clean.
Decision Trigger Questions
Ask these at kickoff to determine which tier applies:
- Does the site require custom booking, checkout, or workflow logic? → If yes, lean Tier 2.
- Will the design include non-standard UI interactions or animations? → If yes, discuss with developer before committing to WordPress.
- Does the client have unusual data storage or retrieval needs? → If yes, Supabase/React is more appropriate.
- Is the client likely to request frequent, granular code-level changes? → Tier 2 with Cursor makes ongoing edits more manageable.
- Is this a straightforward marketing site with standard pages and a blog? → Tier 1 (WordPress) is the right call.
Real Examples
WordPress Friction Cases (→ Should Have Used Tier 2)
- LaMaurie: Required unusual booking/scheduling behavior. WordPress + Bookly couldn't do it cleanly; developer hit a ceiling, requiring workarounds and extra meetings.
- Doodlah B2B Site: Custom B2B portal features were being forced through plugins. A React build would have allowed the exact behavior needed without compromise.
Tier 2 in Progress
- Mark Hope is actively prototyping the React/Cursor/Vercel/Supabase stack as of November 2025. Once the workflow is refined, it will be documented and taught to other developers.
AI-Assisted Development — Realistic Expectations
Cursor and AI code generation accelerate development but do not replace developer judgment. Key points:
- AI generates code from prompts, but the developer must know how to frame the request precisely. Vague prompts produce vague results.
- A useful mental model: "It's like telling your hammer to build you a house. The hammer can help, but it can't build the house."
- AI is excellent at: setting up integrations (e.g., Google Analytics), scaffolding database schemas, writing boilerplate, and finding edge cases in existing code.
- AI is poor at: forward-looking strategy, imagining novel solutions, or producing a finished product from a one-sentence brief.
- Figma mockups can potentially be fed directly to Cursor to accelerate frontend build — this workflow is being explored.
Process Notes
- Who decides? Stack selection should be a joint call between the account manager, lead developer, and designer — made before design work begins. Designers should not produce highly complex, animated designs without knowing which stack will be used.
- When to escalate? If a project starts in WordPress and hits a wall (plugin workarounds, developer ceiling), flag it immediately rather than continuing to force a fit.
- Handoff: Once Mark has refined the Tier 2 workflow, a training process for other developers will follow.
Related
- [1] — Email infrastructure uses a related technical setup (AWS SES / Cloudflare / HubSpot)
- [2] — Primary example of WordPress friction driving the Tier 2 decision
- Website SOP (ClickUp) — Isalia Ramirez tasked with adding kickoff tool-selection step