eddev
Stack

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

PieceRole In The Stack
WordPress and PHPOwns routing, admin, content editing, custom post types, ACF fields, REST endpoints, and the route payload generated for each request.
React and TypeScriptAuthor the frontend views, blocks, app shell, interactive components, and project-specific server routes.
GraphQL and WPGraphQLSelect exactly what WordPress data is exposed to views, blocks, global app data, and runtime query hooks.
ComposerInstalls the PHP-side WordPress dependencies used by the theme, including WPGraphQL packages in the starter theme.
eddev CLIDiscovers views, blocks, routes, and GraphQL files, generates TypeScript outputs, runs local dev servers, and builds SPA or serverless output.
LocalRuns the WordPress origin during local development.
WP EngineHosts the WordPress origin for staging and production.
VercelHosts 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

On this page