Introducing AGAI



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