I’ve been building web servers in Go for a while now, and I kept running into the same friction points: boilerplate overload, unclear structure, and too many “magical” abstractions. So I built something for myself — and maybe for you too.
AGAI is a minimal, model-driven web framework in Go.
It’s designed to stay out of your way and let you build web apps with structure, speed, and full control — without sacrificing flexibility.
What makes it different?
- Model-driven design: Define models once, get query builders and migrations out of the box.
- Multi-style templates: For people who like their logic separate but still readable, different templating mechanisms. Comes with PHP-style templating system
- Component system: Reusable chunks of JSON + DB that sync cleanly.
- Disk-based session storage: When in-memory isn't enough.
Clean CLI: One-liners to bootstrap, migrate, and start the server.
No black-box magic: You always know what’s happening.
It comes with:
- Disk-based and in-memory session storage
- A CLI to scaffold, migrate, and run the server
- View system based on HTTP methods (get.php, post.php, etc.)
- Clean project layout and routing style
Why I built it
I wanted a Go framework that:
- Doesn't force me to glue together a bunch of libraries
- Has just enough structure to keep big projects manageable
- Supports componentized, reusable data
- Keeps performance top-notch
Would love your thoughts
If you’ve built even one real Go web app, I’d appreciate:
- What’s your first impression?
- What would stop you from using it?
- What would make it better?
Links
GitHub: https://github.com/vrianta/agai
Docs: User Guide
License: GPLv3
Happy to answer questions or dig into implementation details.
Appreciate your time, and thanks in advance for checking it out.
Top comments (0)