PrevelteKit

PrevelteKit

A lightweight, high-performance web application framework written in Go, featuring server-side rendering with WebAssembly hydration.

GoSSRWebAssembly

This entire site (3 pages, routing, live Bitcoin API) is ~44 kB brotli-compressed.

Static-first architecture

Deploy anywhere as pure HTML + WASM. No server runtime needed — works on GitHub Pages, S3, or any CDN.

Lightning fast builds

Native Go compiler for SSR, TinyGo for WASM. No bundler, no transpiler, no build tool chain.

No JavaScript ecosystem

Pure Go from component to deployment. No npm, no node_modules, no package.json.

Explore

Manual

API reference covering stores, components, routing, fetch, and more.

Bitcoin Price Demo

Live Bitcoin price fetched from an API with auto-refresh — a real-world example.

Examples

Interactive showcase with 11 examples: basics, lists, routing, fetch, storage, and more.

Features

Lightning Fast Builds

Go compiles in milliseconds. TinyGo produces compact WASM binaries. No slow bundler step.

Minimalistic

Small framework with no code generation, no intermediate files, no complex toolchain.

SSR + WASM Hydration

Server-side rendered HTML for instant page loads. WebAssembly hydrates for interactivity.

Deploy Anywhere

Output is pure static files. GitHub Pages, S3, Cloudflare, Netlify — any static host works.

Type-Safe

Full Go type safety with compile-time error checking. Catch bugs before they reach production.

Zero Config

Works with sensible defaults. Just go run for SSR and tinygo build for WASM.

Quick Start

Requires Go and Docker.

1

Create a new project

mkdir myapp && cd myapp
go mod init myapp
go run github.com/tbocek/preveltekit/v2/cmd/build@latest init

Scaffolds main.go, build.sh, Dockerfile, and assets. Or copy from cmd/build/assets/.

2

Build and run with Docker

docker build -f Dockerfile.dev -t myapp-dev .
docker run --init -p 8080:8080 -v $PWD:/app myapp-dev

Open http://localhost:8080 — live reload on file changes, no other dependencies required.