What is Grit?
A full-stack meta-framework for Go + React, batteries included.
Welcome. By the end of this lesson you'll be able to explain ā in about 30 seconds ā what Grit is, who built it for what, and whether your next project is a fit. That's the only goal for the next 6 minutes.
The one-paragraph answer
Grit is a full-stack meta-framework that scaffolds production-ready apps in one command. It pairs a Go (Gin + GORM) backend with React on the front and ships every "battery" ā auth, jobs, mail, file storage, AI, observability, security WAF, admin panel ā out of the box. Instead of gluing 12 libraries together for a week, you run grit new my-app and start shipping product on day one.
What "meta-framework" actually means
A framework gives you patterns and primitives. A meta-framework gives you a framework + the conventions + the scaffolder + the day-one wiring. Three concrete differences:
- Opinionated folder structure. You don't decide where handlers go vs. services vs. models ā there's one place each, and every Grit project looks the same. That's a feature: every team member, every AI agent, every future-you can find what they need without thinking.
- Code generation.
grit generate resource Productwrites the Go model, handler, service, Zod schema, TypeScript type, React Query hook, and admin panel resource ā 7 files, one command, all wired correctly. - Batteries shipped, not described. Most frameworks tell you to "pick an auth library". Grit ships JWT + OAuth + 2FA out of the box, with the trusted-device flow already wired, and you can swap in WorkOS or Auth0 if you outgrow it.
What you get day one
One grit new my-app later, you have:
my-app/āāā apps/ā āāā api/ ā Go API (Gin + GORM)ā ā āāā cmd/server/ ā main.go entry pointā ā āāā internal/ ā models, handlers, services, middlewareā āāā web/ ā Next.js public site + product surfaceā āāā admin/ ā Filament-style admin panel (Next.js)āāā packages/shared/ ā Zod schemas + TS types (used everywhere)āāā docker-compose.yml ā Postgres, Redis, MinIO, Mailhogāāā grit.json ā project metadataāāā .env ā random-generated secrets, ready for prod
Boot Docker, run the API + web + admin, log into the admin panel as the seeded user, and you have a working product skeleton. We'll do exactly that in chapter 2.
The tagline you'll see everywhere
Go + React. Built with Grit.
That's the elevator pitch ā Go on the back, React on the front, meta-framework gluing them together. Memorise it. You'll repeat it to teammates, in interviews, and at meetups.
Quick check
Try it
In your own words (one paragraph, ~30 seconds when read aloud): explain to a friend what Grit is and who would use it. Write the answer in notes.md ā the file you'll grow throughout this course.
What's next
You now have the elevator pitch. The next lesson covers the more useful question: when should you reach for Grit, and when should you not? Trade-offs vs. plain Next.js, Rails, Laravel, and others ā honestly compared.
Spot a typo? Have an idea?
Help us improve this lesson. One click opens a GitHub issue with the lesson URL pre-filled ā suggest clearer wording, report a bug, or request more depth. The course keeps improving thanks to learners like you.
Suggest an improvement on GitHub