Skip to content
@tinywasm

Tiny Wasm

The Fullstack Go framework

TinyWasm

Build full-stack web apps in pure Go — tiny WebAssembly bundles, zero JS toolchain, built for the age of AI assistants.

TinyWasm is an ecosystem of Go libraries (and a batteries-included dev environment) for building web apps where Go is the only language — backend, frontend, and shared logic — compiled to the frontend via WebAssembly with the smallest possible binary (TinyGo-first).

👉 Start here: tinywasm/app — the TUI dev environment with live reload, MCP for AI assistants, and one-command setup (installation and quick start live there).


Why you might love it

  • 🟦 One language everywhere — share types, validation, and logic across client and server. No TypeScript, no npm, no bundlers.
  • 🪶 Tiny WASM — ~200 KB–2 MB depending on mode; TinyGo-first, no hidden allocations.
  • 🤖 Built for AI — a Model Context Protocol server lets assistants see your UI, read logs, and control compilation.
  • 🧰 Typed construction harness — APIs designed so the code is easy to read and hard to get wrong: the compiler rejects mistakes, so even an assistant that doesn't know a library builds correctly.
  • 🔧 Zero config — your project structure is the configuration.

The size problem it solves

Go's WebAssembly potential is huge, but standard-library packages (fmt, strings, strconv, errors) bloat binaries — hurting web performance, edge deployment, and distribution. TinyWasm provides lightweight, TinyGo-compatible implementations with a familiar API: drastic size reduction, no compilation warnings, predictable performance.


Packages

The libraries you'll use to build apps. The Activity badge shows each repo's last commit, pulled live from GitHub — click it to open that library's history.

Package Description Activity
app Full stack TUI development environment with live reload, test, deploy, CI/CD for web applications (PWA). last commit
binary High-performance binary serialization library for Go, specifically designed for TinyGo compatibility. last commit
components HTML components for the go web framework tinywasm. last commit
context Minimalist context library for TinyGo. last commit
crypto CryptoAutoLib port for TinyGo. last commit
deploy Automated deployment service for Go applications. last commit
devflow Complete Go development automation: project init, testing, versioning, updates, and backups. last commit
dom Ultra-minimal DOM & event toolkit for Go (TinyGo WASM-optimized). last commit
fetch A lightweight Go library that unifies HTTP requests across environments. last commit
fmt Lightweight Go library that provides comprehensive string manipulation and formatting. last commit
form Form generation using DOM and structs. last commit
goflare Lightweight handler for building and deploying Go-based WebAssembly and JavaScript modules to Cloudflare. last commit
imagemin Image size reduction tool for web projects. last commit
indexdb IndexDB implementation with WebAssembly compiled with Go. last commit
json A lightweight JSON wrapper for Go that optimizes WebAssembly binary size. last commit
jsvalue Efficient conversions between JavaScript and Go for a WebAssembly environment. last commit
kvdb TinyGo–compatible key–value store with a minimal API. last commit
mcp Go implementation of the Model Context Protocol (MCP). last commit
pdf PDF library designed for web rendering with WebAssembly, optimized for TinyGo compatibility. last commit
postgres PostgreSQL adapter implementing the tinywasm/orm Adapter interface. last commit
sqlite WebAssembly-first port of modernc.org/sqlite. last commit
sse Client and event server, SSE protocol compatible with TinyGo. last commit
time TinyGo-compatible time package for Go. last commit
unixid Go library for generating unique, time-based IDs using Unix timestamps. last commit
user User management library. last commit

Get involved

We're building a Go-first web ecosystem and welcome contributions — Go ports of browser APIs, performance tools, starter templates, docs, and bug reports.

  • 💬 Discussions · 🐞 Issues
  • ⭐ Star the libraries you find useful — it helps others discover the ecosystem.

Pinned Loading

  1. fmt fmt Public

    Lightweight Go library that provides comprehensive string manipulation, type conversion, formatting, and error handling with a fluid API, specifically designed for small devices and web application…

    Go 20

  2. app app Public

    Entorno de desarrollo TUI full stack con recarga en vivo, test, despliegue, ci/cd para aplicaciones web (PWA) con Go, WebAssembly y TinyGo.

    3 4

  3. server server Public

    goserver is a Go package that encapsulates the logic for running a development and production server. It automatically manages static file serving, external Go server compilation, hot-reloading, an…

    Go 1 1

  4. time time Public

    TinyGo-compatible time package for Go, using syscall/js on WASM to keep binaries small and leverage native JS time APIs.

    Go 1

  5. dom dom Public

    Ultra-minimal DOM & event toolkit for Go (TinyGo WASM-optimized).

    Go 2

  6. client client Public

    tinywasm is a lightweight toolbox designed to streamline the compilation of Go packages to WebAssembly (WASM) using the TinyGo compiler.

    Go 1

Repositories

Showing 10 of 72 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…