Behind the website

Technology Stack

How this website works: the technology behind it, and the reasons it is deliberately simple.

From idea to everyday use

01 · What we built

This is the public website of ReDrafting America. It explains the mission, publishes the work on Constitution v2.0, carries The Drafting Room's essays and announcements, collects the Cultural Influences that shaped the project, and shows how the organization governs itself through its Bylaws. Six categories (About, Constitution v2.0, Learn, Community, Newsroom and Get Involved) share one interface, so finding your way around feels the same on every page.

Static pages with a little JavaScript

Every page is a complete HTML document styled with plain CSS. Small pieces of plain JavaScript add the shared navigation, the filters on Cultural Influences and the site audio player. There is no application framework and no component library.

02 · Where it all happens

The source lives in a GitHub repository in the redrafting-america organization. Cloudflare Workers serves the published files at www.redraftingamerica.org, and every other domain attached to the site sends visitors to that one address with a permanent redirect that keeps the path. Each proposed change also gets its own temporary preview address, which is kept out of search engines.

Fonts and images

The typefaces (Fraunces, Public Sans, IBM Plex Mono and Doto) are hosted on the site itself, so a page never has to call a font service. Fonts are cached for a year and images for thirty days.

03 · Why we chose this approach

The principle is to use the least technology that does the job. The project's first technical concept, written in 2025, described a much heavier system built around a web application framework, a hosted database, accounts and payments. None of that was wrong as a long-term picture. It was premature as a starting point, so the site started over as static pages.

No database

Cultural Influences reads a static data file because the collection is curated by the founder, not submitted by visitors. A database earns its place when content is genuinely dynamic, and nothing on the site is today.

Discussion and voting belong somewhere else

Accounts, live discussion and voting are a different kind of software from a reading site, with their own moderation and safety needs. The Digital Constitutional Convention is planned as its own system, linked from the site, so the public pages do not inherit that complexity.

No analytics

The site's pages and scripts include no analytics or tracking scripts.

04 · How the pieces work together

One shared shell

A single script builds the header, the navigation panels, the breadcrumb and the footer on every page, so a design change is made once. When you click a link inside the site, only the page content is swapped, and the header, footer and the music player stay in place. Every address still loads as a complete page on its own.

Music

The audio player is Webamp with its own audio-tag reader, both bundled with the site. Because the shell stays alive between pages, the music keeps playing as you move around.

How a change reaches the site

Nothing is published from a laptop. A change becomes a pull request, which is built and tested automatically: a build with its own tests, a browser audit that loads every page at desktop and phone sizes, and a preview on Cloudflare. The owner reviews and approves it, and only then is it merged and published. After publishing, a live-site check confirms that the published pages load, every paper still has its stylesheet, old domains still redirect and missing pages return a proper not-found response.

Five steps from top to bottom: a change is proposed as a pull request, checked automatically, reviewed and approved by the owner, published by Cloudflare, and then reaches visitors. A live-site check runs after publishing.

05 · Browsers and devices

Every proposed change is checked automatically in Chrome. Each page is loaded at a desktop size, a phone held upright and a phone held sideways, and the music player, the transcript viewer and search are tested in the browser. Safari's engine, WebKit, is not part of the automatic checks; it is run by hand on a Mac.

06 · What comes next, and what stays important

The rule that produced this stack still applies: match the technology to a real, current requirement, not to an anticipated one and not to whichever tool sounds most sophisticated. We add complexity only when it has been earned, and we write down why.

The current release is v1.8 · Build 0009, dated October 1, 2026. The full record of what each release changed is on the Version History page.