Skip to content

Genesis journal

Waters above, waters below, and layered architecture

A Genesis-inspired model for separating content, rendering, styling, runtime behavior, and deployment concerns.

1 min read
Mountains reflected in still water under an open sky

The firmament as a boundary

The second day introduces a boundary that makes the world navigable. For a website template, boundaries are equally practical. Content should not be mixed into layout internals. Deployment should not leak into widgets. Dynamic behavior should be local to routes that need it.

Astro Genesis uses these boundaries:

  • src/content for durable editorial content.
  • src/data for structured demo data and navigation.
  • src/components for reusable presentation.
  • src/pages for route ownership and rendering mode.
  • docs for maintenance knowledge.

Static and dynamic can coexist

Astro 6 makes this especially clean. The repository uses server output with the Node adapter, while most marketing, blog, tag, docs, and legal pages opt into prerendering. Dynamic routes then demonstrate request-aware rendering, Actions, Sessions, and Live Content Collections.

What to change in real projects

Most teams should replace the data and MDX first. Only change routing and shared components when the product truly needs a new information architecture.