Overview
Understand the main technologies and hosting shape behind eddev sites.
eddev is ED.'s WordPress + React/TypeScript stack for building content-managed websites. WordPress remains the CMS and routing authority, while the theme is mostly authored as React views, React blocks, GraphQL files, and TypeScript server routes.
The usual production shape is a WordPress origin on WP Engine and a public server-rendered frontend on Vercel. Vercel renders the public site, but it still asks WordPress what each URL means and what data should be shown.
Core Pieces
| Piece | Role In The Stack |
|---|---|
| WordPress and PHP | Owns routing, admin, content editing, custom post types, ACF fields, REST endpoints, and the route payload generated for each request. |
| React and TypeScript | Author the frontend views, blocks, app shell, interactive components, and project-specific server routes. |
| GraphQL and WPGraphQL | Select exactly what WordPress data is exposed to views, blocks, global app data, and runtime query hooks. |
| Composer | Installs the PHP-side WordPress dependencies used by the theme, including WPGraphQL packages in the starter theme. |
| eddev CLI | Discovers views, blocks, routes, and GraphQL files, generates TypeScript outputs, runs local dev servers, and builds SPA or serverless output. |
| Local | Runs the WordPress origin during local development. |
| WP Engine | Hosts the WordPress origin for staging and production. |
| Vercel | Hosts the public JavaScript frontend and serverless routes for normal production traffic. |
How The Pieces Fit
When someone visits a page, WordPress resolves the URL through the normal template hierarchy. eddev maps that result to a React view in views/, runs the paired GraphQL file if one exists, and builds a payload containing the matched view, view data, app data, metadata, and admin context.
In SSR mode, the JavaScript server receives the public request, asks WordPress for that payload, renders the matching React view to HTML, and sends the hydrated page to the browser. In SPA mode, WordPress serves the app shell and page payload directly, then the browser renders the React view.
Blocks follow the same split. WordPress and ACF own the editor data, block GraphQL files select the public props, and React block components render the frontend output.
Where To Go Next
How It Works
Follow the request and data flow from URL to rendered page.
SPA vs SSR
Compare WordPress-hosted SPA mode with serverless SSR mode.
Views
Learn how WordPress templates map to React views.
GraphQL
Learn where data queries live and what generated files they produce.
Serverless
Set up the Vercel frontend in front of the WordPress origin.
eddev CLI
Run local development, builds, codegen, and diagnostics.