The Modern Fullstack
Go Web Framework
Backend APIs and WebAssembly frontend written 100% in Go. Declarative GOX markup, selective WASM hydration, streaming SSR with Suspense, built-in ORM, and single-binary deployment.
React Ergonomics, Go Performance
Write declarative components with JSX-like GOX syntax directly in Go. Compiled automatically into native Go without virtual DOM runtime overhead.
package app
import (
"github.com/misbakhul29/goks/pkg/component"
"github.com/misbakhul29/goks/pkg/html"
)
type Page struct {
component.ComponentBase
Count int
}
func (p *Page) Render() *component.Node {
return html.Main(html.H1("Fullstack Go in Action").Class("text-4xl font-black text-white"), html.P("Zero JavaScript, 100% Type-Safe Go.").Class("text-slate-400 mt-2"), html.Button("Click Me ({p.Count})").Class("mt-6 px-6 py-2.5 rounded-xl bg-cyan-500 text-slate-950 font-bold").On("onclick", "alert('Hydrated with Go WebAssembly!')")).Class("min-h-screen flex flex-col items-center justify-center p-8")
}package todos
import (
"net/http"
"github.com/misbakhul29/goks/pkg/router"
"github.com/user/myapp/models"
)
// GET /api/todos
func GET(c *router.Context) error {
todos, err := models.AllTodos(c.Request().Context())
if err != nil {
return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()})
}
return c.JSON(http.StatusOK, todos)
}
// POST /api/todos
func POST(c *router.Context) error {
var input models.CreateTodoInput
if err := c.BindJSON(&input); err != nil {
return c.JSON(http.StatusBadRequest, map[string]string{"error": "invalid payload"})
}
todo, err := models.CreateTodo(input)
return c.JSON(http.StatusCreated, todo)
}Why Choose GoKS?
See how GoKS compares to Next.js, HTMX stacks, and classic Go HTTP micro-frameworks.
| Feature | GoKS | Next.js / Remix | templ + HTMX | Fiber / Gin |
|---|---|---|---|---|
| Language Stack | 100% Go (Fullstack) | TypeScript / JS | Go + HTML attributes | Go (Backend only) |
| Frontend Runtime | WebAssembly (Go) | JavaScript DOM | DOM Swap (HTMX) | None / Static |
| Node.js / npm Required? | Zero npm | Required | No | No |
| Streaming SSR & Suspense | Built-in Suspense | React Suspense | None | None |
| Built-in ORM & Migrations | pkg/orm & goks db | Prisma / Drizzle | Goose / Migrate | None |
| Embedded DevTools | GoKS Studio (/__goks) | 3rd Party | None | None |
| Production Artifact | 1 Standalone Binary | Node runtime + modules | Single Binary | Single Binary |
Batteries Included, Zero Fluff
Everything required to build world-class, production-grade applications without installing external dependencies.
Declarative GOX Markup
Write JSX-like HTML templates directly inside Go functions. Seamlessly compiles to pure Go structs without runtime template parsing overhead.
Islands & Selective Hydration
Static pages download 0 KB of WebAssembly. Interactive components are selectively hydrated as isolated islands with TinyGo support under 300KB.
Streaming SSR & Suspense
Stream out-of-order chunks via HTTP transfer encoding. Show instant shell fallbacks while parallel Go goroutines fetch database queries asynchronously.
Progressive Server Actions
Execute backend functions with automatic dual-mode execution: async fetch in WASM, or zero-JS HTML form fallback with CSRF protection.
Built-in ORM & Migrations
Fluent, type-safe query builder, soft-deletes, and automated schema migrations with the goks db CLI for SQLite, PostgreSQL, and MySQL.
OAuth2 Social Login & PKCE
Zero-dependency OAuth2 social authentication for Google and GitHub with RFC 7636 PKCE code challenges and timing-safe state verification.
GoKS Studio DevTools
Inspect discovered routes, browse database schemas, monitor Server Actions, and view runtime memory & goroutines directly at /__goks.
Tailwind CSS v4 & UI CLI
Pre-bundled standalone Tailwind v4 compiler plus goks ui add generator inspired by shadcn/ui. Zero npm or node_modules required.
Single Binary or SSG
Deploy anywhere as a self-contained executable with embedded assets (goks build --standalone), or export 100% static HTML (goks export).
Get Started in 60 Seconds
Three commands to launch your fullstack Go application.
Create New Project
Scaffold a fullstack app with opinionated structure and Tailwind CSS v4.
goks new myapp cd myapp
Start Dev Server
Instant hot-reloading, WASM compilation, and compile error recovery.
goks dev
Build Standalone Binary
Package your server, WASM frontend, and CSS into a single executable.
goks build --standalone
Build Faster with Pure Go
Join developers building microservices, dashboards, and modern web applications with legendary Go performance and zero JavaScript overhead.