Your Go backend deserves
a Go frontend
Stop maintaining two codebases, two languages, two deploys. Piko compiles .pk templates to Go code. You ship one binary.
Get startedAlpha release · open source · Apache 2.0
Your types flow end to end
Your Go structs appear in your templates at compile time, with no API layer or runtime type assertion in between. Rename a field and the compiler tells you, not a broken page in production. The directives (p-for, p-if, p-model) will look familiar if you've used Vue.
One binary, one deploy
Skip the separate frontend hosting, the CORS config, webpack, and node_modules. Piko compiles your .pk templates to Go source code. Run go build and ship a single binary with pages, styles, and assets baked in.
Same syntax for pages, emails, and PDFs
The .pk template format works for web pages, transactional emails, and PDF documents. Same directives, same Go script block, same scoped CSS. Learn one thing and it covers all three.
So, what changes?
What’s the difference between Piko and any old frontend framework?
Today
- Go API serves JSON
- React/Vue/Next renders the HTML
- TypeScript types duplicated from Go structs
- Two repos, two CI pipelines
- Two Docker images, CORS config
- npm install (947 packages)
With Piko
- Go handles data and rendering
- .pk templates get your Go types directly
- No serialisation layer, no API contracts
- One repo, one build
- One binary, one deploy
- go build (one toolchain)
Start simple.
Scale when you need to.
Piko never forces you to understand your final architecture on day one. Add complexity only when your demands require it.
Every adapter in the WDK follows this pattern. Start with the simplest option and swap to a more powerful one when you're ready. Same API, one import change.
No npm, no compromises
Dropping JavaScript doesn't mean giving up your ecosystem. Piko ships 94+ adapters for the services you already use, so you can swap one import and keep building.
Otter
In-memory cache with adaptive W-TinyLFU eviction and TTL support
Redis
Distributed Redis cache with tag-based invalidation and RediSearch support
PostgreSQL
Full-featured PostgreSQL engine with health diagnostics and replication monitoring
IntelliJ IDEA
Official Piko plugin for JetBrains IDEs with language injection for GoLand and IntelliJ Ultimate
VS Code
Official VS Code extension with multi-language support for .pk and .pkc files
SendGrid
Twilio SendGrid email provider with personalisation-based bulk sending and built-in rate limiting
NATS
NATS JetStream distributed messaging with persistence and at-least-once delivery
Anthropic Claude
Anthropic Claude API with streaming, tool calling, and structured output via tool-use translation
See for yourself!
Install Piko. Build a page. See what it feels like when you don’t need npm.
Let's get started!