This content originally appeared on DEV Community and was authored by Pritam Dutta
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.
This content originally appeared on DEV Community and was authored by Pritam Dutta