announcementopen-sourcelaunch

Piko is now open source

Today we are open-sourcing Piko, and we could not be more excited to share it with you.

Why we built Piko

We kept running into the same problem. Building a web application in Go meant stitching together a JavaScript frontend, a Node.js build pipeline, a REST or GraphQL API layer, and a Go backend. Four moving pieces just to render a page with data from a database.

We wanted something simpler. One language, one binary, and none of the frontend tooling overhead (no npm, webpack, separate hosting, or CORS headers).

Piko is what came out of that frustration. It is a web development kit that lets you write your pages, your logic, and your templates in Go. You run go build and get a single binary with everything baked in, from pages and styles to assets.

What makes Piko different

Type safety that flows end to end. Your Go structs appear in your templates at compile time. Rename a field and the compiler tells you, not a broken page in production. The template directives (p-for, p-if, p-model) look familiar if you have used Vue.

One syntax for pages, emails, and PDFs. The .pk template format works across all three. Same directives, same Go script block, same scoped CSS. Learn one thing and it covers everything.

Swappable backends via the WDK. Switching from in-memory caching to Redis, SQLite to PostgreSQL, or SendGrid to Mailgun is a one-import change. The WDK ships 80+ adapters across databases, caches, email providers, AI models, storage, and monitoring, and you can write your own.

WebAssembly playground. Every example on our site runs live in your browser via the same Piko runtime you would deploy to production. There is nothing to install or run. You edit and see.

The road ahead

This is just the beginning. We are an alpha release. APIs evolve, rough edges get smoothed, and we have a long list of things we want to build. Some of what is coming:

  • More WDK adapters, covering every major service developers reach for
  • IDE tooling, with better autocomplete, diagnostics, and go-to-definition for .pk files
  • Deployment guides for one-click deploys to Fly.io, Railway, and bare metal
  • Community adapters, in a registry where anyone can publish and share WDK modules

Get involved

Piko is Apache 2.0 licensed. The code is on GitHub, and we would love your feedback, bug reports, and contributions.

If you want to try it out, head to the getting started guide or jump straight into the interactive examples.

We built Piko because we believe Go developers deserve better web tooling. Help us prove that.