Build Web Apps That Never Break.
A lightweight Go architecture leveraging native web standards, zero runtime dependencies, and AI-accelerated simplicity. No npm, no heavy JavaScript frameworks, no upgrade treadmill.
Philosophy
The Problem with Modern Dependencies
Managing dependencies has become the single largest tax on engineering velocity. Breaking changes, supply chain vulnerabilities, and framework obsolescence drain teams into spending 80% of their time "standing still."
Go 1 Backward Compatibility
Go was built for long-term engineering. The Go 1 compatibility guarantee ensures an app written today compiles and runs unchanged decades later. The server relies on Go's standard library (net/http, html/template, database/sql) with zero external framework lock-in.
Web Standards Never Break Over Time
"The browser does not break the web." HTML, CSS, and DOM APIs written in 1995 still render today. Web Components (Custom Elements, Shadow DOM, HTML Templates) are W3C browser standards, not transient JavaScript frameworks. They don't deprecate their APIs or force expensive rewrites every two years.
Zero Runtime Overhead with sqlc
Traditional ORMs bundle massive reflection, breaking changes, and runtime baggage. sqlc checks raw SQL against your schema at compile time and writes standard Go code importing only database/sql. It bundles zero runtime dependencies and is committed to git.
Declarative Shadow DOM (DSD)
Server-rendered web components with native style encapsulation. Using <template shadowrootmode="open">, the Go server outputs encapsulated component trees directly in HTML. Browsers paint instantly with zero layout shift and zero JavaScript required for initial render.
AI-Accelerated Simplicity
Historically, developers adopted complex frameworks and custom DSLs (like templ or JSX) because hand-writing boilerplate HTML felt tedious. Today, AI writes standard Go templates, HTML, and SQL effortlessly. AI eliminates the excuse for fragile abstractions.
Immunity from Supply Chain Attacks
No package.json, no npm, and no node_modules. Web components are loaded via pinned CDN URLs or vendored directly in the Go binary with content-hashed checksums. Zero unvetted third-party scripts execute in your production environment.
Architecture
Clean Separation, Zero Bloat
The Go server owns the document and data boundaries. Web components own local interactivity. Nothing owns both.
routes.go file. No third-party router needed.database/sql. Zero external runtime dependencies.Quick Start
Get Started in Seconds
Install the CLI, initialize your project, and start building with standard Go and Web Components.
1. Install the CLI
Download and compile the gofs CLI binary to your Go bin path.
go install github.com/gofs-cli/gofs@latest2. Initialize your project
Generate an evergreen project structure with Go standard library and web components.
gofs init github.com/myorg/myapp3. Run with Make
Start the development server with live reload and automatic sqlc validation.
cd myapp && makeBlog & Essays
Deep Dives & Philosophy
Explore our essays on evergreen software engineering, standards over frameworks, and supply chain resilience.
Dev Tools Are Not Dependencies
“Minimise dependencies” is easy to say and hard to apply, because not everything that appears in a project is the same …
Gofs v2
Gofs v2 changes how the frontend and the database layer of a gofs app are built. Pages are rendered with Go’s standard …
Islands, Not Apps
In 2025 MDN, the site that documents the web platform, replaced its React single-page application with server-rendered pages and …