INDEPENDENT SYSTEMS JOURNALEDITION 01 / 2026
OPEN SYSTEMS
FIELDBOOK
RSS
WEB / ARCHITECTURE
WEB / ARCHITECTURE • RESEARCHED 2026-09-24

The perfect web stack is a decision, not a list

A small decision framework for static pages, server-rendered apps and progressive enhancement, inspired by the domain archive.

The archived page proposed Actix Web, SQLx, Tera, Tailwind CSS and htmx. That is a coherent stack for a particular kind of application, but no combination is perfect before the product's constraints are known. Start with the simplest architecture that meets the required behavior.

Architecture decision gate for content, interaction, persisted state, and recovery.
Select architecture according to content, interaction, state and a tested recovery path.
THE ARCHITECTURE GATE
Content

Pages change at publish time: consider static HTML.

Interaction

Accounts or transactions: consider server rendering.

State

Choose a database only for data that must be stored.

Recovery

Backups and rollback are part of the stack.

First, ask whether you need an application

If readers only consume articles and diagrams, static files can serve the site with no runtime database and few moving parts. Add a build step only when repeated layouts or content volume justify it. Measure page weight, deployment time and edit cost; the “fastest” framework benchmark says little about these reader and operator costs.

When server rendering earns its place

Accounts, user-specific data and transactions need a trusted place to validate requests and persist state. Actix Web is one Rust option for that server. SQLx provides database access, including macros that can check SQL against a schema at build time; that check has setup requirements and does not replace migrations, authorization or backups. The official docs are more useful than a copied starter template when choosing versions and features.

Enhance working HTML

Use semantic links and forms so the core flow works with ordinary navigation. htmx can then update parts of a page without turning every screen into a client-rendered app. Its documentation explains that some patterns, such as boosted links and forms, degrade gracefully, while others require deliberate progressive enhancement. Test keyboard access, error states and the no-script path.

Make the choice reversible

Write down which requirements each dependency satisfies, how it is updated, and how data can leave it. Build a small vertical slice: one page, one form, one persisted record if necessary, and one restore test. Keep a budget for deploy complexity and maintenance. Change the stack when observed constraints justify it, not because a list is fashionable.

Archive context

This edition uses the old article's stack proposal as a question to evaluate. It does not reproduce the prior writer's first-person experience or claim their choice as ours.

REFERENCE DESK

Sources & scope

These sources support the technical principles above. Commands and compatibility can change; verify the current version before changing a machine.

  1. Actix Web: Getting started
  2. SQLx: Query macro documentation
  3. htmx: Progressive enhancement
A note on this domain

This is a new, independent edition. Its articles are original editorial work inspired by the domain's technical history; we are not the former author. Meet the earlier author in the archive.

KEEP EXPLORINGBrowse all field notes