DEV Community

Harry Kim
Harry Kim

Posted on

๐Ÿš€ Introducing Gojang: a modern, batteries-included web framework in Go + HTMX

Iโ€™m excited to share my open-source pet project, Gojang, a new web framework built with Go and HTMX (https://gojang.io & https://github.com/gojangframework/gojang).

My aim with Gojang is to help Go developers build rich, interactive web apps without the complexity and overhead of heavy JavaScript front-end frameworks.

Hereโ€™s what makes Gojang compelling:

๐ŸŒŸ Key Highlights & Philosophy

  • Batteries Included - Gojang comes with built-in support for many essential features so you can focus on your application logic, not plumbing: authentication, admin panel (auto-generated CRUD for any model), ORM, security middleware, logging, etc.
  • HTMX-First Approach - Dynamic UX doesnโ€™t require building a separate SPA. Instead, you can sprinkle HTMX-powered interactions (via hx-* attributes) to make pages more responsive and interactive. Gojang is optimized for that.
  • Type Safety via Ent ORM - Under the hood, Gojang uses Ent (a Go ORM with schema and code generation) for compile-time safety, meaning many errors can be caught early.
  • Product-Ready Features Out of the Box - Security (CSRF protection, rate limiting, encryption), audit logs, structured logging, error recovery, middleware support, and testing support are part of the core.
  • Developer Experience Focus - including hot reloading, automated model, CRUD, and page generation. Also lean project structure, minimal boilerplate, and clear docs to help onboard developers quickly.
  • Easy Deployment - Go projects are built to a single executable binary. That's all you need to ship to run the server.

๐Ÿงฑ Getting Started (in ~5 minutes)

Hereโ€™s a minimal flow to spin up Gojang:

git clone https://github.com/gojangframework/gojang
cd gojang
go mod download
task dev
task seed (insert admin account)

Enter fullscreen mode Exit fullscreen mode

Once running, visit http://localhost:8080 and youโ€™ll see your baseline app in action.

From there you can use the interactive generators:

task addmodel โ€” scaffold a new model (schema, CRUD handlers, templates, admin) in seconds
task addpage โ€” quickly add static pages like โ€œAbout,โ€ โ€œContact,โ€ etc.

You define your schema using Entโ€™s fluent API, generate code, and then register your model so the admin panel and routes are wired automatically.

๐Ÿ’ฌ Why Gojang?

In the Go ecosystem, many frameworks lean minimal (just a router + handlers) and expect you to assemble all pieces yourself. Meanwhile, in the front-end world, frameworks like React / Vue / Svelte dominate SPA patterns that often separate concerns and create friction in full stack development.

With HTMX rising in popularity, thereโ€™s room to rethink how we build modern web interfaces โ€” more server-centric, less JS boilerplate. Gojang sits at that intersection: you use Go everywhere, benefit from server safety and consistency, and only sprinkle dynamic behaviors where needed.

I built Gojang to:

Let teams ship features faster (fewer decisions needed up front)
Keep the mental model simple: Go + HTML + HTMX
Ensure safety, structure, and maintainability from day one
Cater to developers who want modern UX but with less front-end complexity

๐Ÿ”— Links
Website & docs: https://gojang.io
GitHub: https://github.com/gojangframework/gojang

Let me know what you think, and letโ€™s build something great together.

Top comments (0)