When to use Grit (and when not to)
Honest trade-offs vs. plain Next.js, Rails, Laravel, and others.
Every tool is right for some jobs and wrong for others. Grit's no exception. By the end of this lesson you'll be able to look at a project idea and say yes-Grit or no-Grit with confidence β and know why.
Grit shines when
- You want to ship a SaaS, dashboard, or admin-driven product. The triple kit (web + admin + API) is purpose-built for this shape.
- You like Go for the backend. Performance, single binary, no runtime β and you want type safety from DB β API β frontend without manually keeping types in sync.
- You're a small team (1β5 people). The conventions mean every team member is productive in any part of the code; no tribal knowledge.
- You want all surfaces from one codebase. Web, desktop (Wails), and mobile (Expo) β all backed by the same Go API with shared types.
- You don't want to wire-up auth, jobs, mail, storage, AI from scratch. They ship pre-wired.
Grit is overkill (or wrong) when
- It's a single static landing page. Use Astro, plain HTML, or a Next.js single-page if SEO matters.
- You need Python or Node on the backend for a specific library (e.g., heavy ML, a particular SDK with no Go port).
- You're building a CMS-driven content site β Sanity / Payload / WordPress will be a faster fit.
- You're shipping a CLI or a daemon β write straight Go; the meta-framework adds nothing.
Honest comparison to common alternatives
| If you'd normally use | Reach for Grit when⦠| Stick with it when⦠|
|---|---|---|
| Next.js (plain) | You want a separate Go API + a real admin panel without re-implementing both. | Pure marketing/blog/SSR-only site with no API surface. |
| Rails / Laravel | You want Go performance + a typed React frontend instead of server-rendered views. | You've already invested deeply in the ecosystem and have a working team. |
| Supabase / Firebase | You want to own the backend code (auth, DB, business logic) without vendor lock-in. | You're fine with the BaaS pricing and want zero backend code. |
| Plain Gin + GORM | You'd otherwise spend a week wiring auth/jobs/mail/admin yourself. | You want full control over every dependency. |
Quick check
Try it
Pick three real product ideas (yours, your friend's, or pulled from HN Show). For each, write one paragraph in notes.md:
- What is it (one sentence)
- Would Grit be a good fit? (yes / no)
- Why (one sentence β the deciding factor)
Try to find at least one example where Grit is the wrong fit.
What's next
You can pitch Grit and you can spot when it fits. The next two lessons get hands-on: install Grit on your machine and verify the install works.
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