Introduction

The CRM Framework for Builders Who Ship

Grit is a full-stack meta-framework purpose-built for CRMs, admin dashboards, SaaS products, and internal tools. It fuses a Go backend (Gin + GORM) with a Next.js frontend (React + App Router) and a Filament-like admin panel in a single monorepo — with authentication, file storage, email, background jobs, AI integration, and a visual database browser all wired together out of the box.

Ship in hours, not weeksSelf-host everythingGo performanceCRM-ready

Built for Builders

Ship Fast

One command scaffolds your entire stack. Another generates full-stack CRUD resources. Stop gluing boilerplate together and start building what matters. Go from zero to a production-ready app with auth, admin panel, and API in minutes.

Self-Host Everything

No vendor lock-in. No serverless cold starts. No per-request pricing. Grit compiles to a single Go binary and static Next.js bundles. Deploy on a $5 VPS, your own servers, or any cloud. You own every byte of your infrastructure.

Go Performance

Go compiles to native machine code. Your API handles thousands of concurrent requests with minimal memory. No garbage collection pauses that matter, no interpreter overhead, no JIT warm-up. Just raw speed backed by goroutines and a compiled runtime.

Rock Solid

Opinionated by design. One folder structure, one auth system, one state management approach. Every pattern is predictable. Any developer (or AI assistant) can jump into any Grit project and immediately understand it. Convention over configuration.

Why Grit?

Think of Grit as Laravel's developer experience, but with Go's performance and React's frontend ecosystem. Instead of stitching together 15+ tools to build a modern full-stack app, you run one command and get everything: a Go API server, a React frontend, an admin dashboard, shared TypeScript types, Docker infrastructure, and a CLI that generates full-stack resources for you.

Grit is designed for the kind of software that runs businesses: CRMs, admin panels, internal tools, SaaS dashboards, and data-heavy applications. The admin panel is not an afterthought — it's a first-class citizen with resource definitions, advanced data tables, form builders, multi-step wizards, charts, and widgets. Define a resource once, and Grit generates the entire stack from Go model to admin UI.

Every piece of code Grit generates is yours. No lock-in, no black boxes, no runtime magic. The CLI produces clean, readable, editable files that you own and control. Self-host on your own servers with zero ongoing costs beyond hosting.

How Grit Compares

Grit combines the best parts of existing frameworks into one cohesive tool. Here's how it stacks up:

FeatureGritLaravelDjangoRailsT3 StackRefine
LanguageGo + TypeScriptPHPPythonRubyTypeScriptTypeScript
Compiled / Native
Built-in Admin Panel
Full-Stack Code Gen
End-to-End Type Safety
React Frontend
Self-Hostable
Background Jobs
File Storage (S3)
Email Service
AI Integration
Database Browser
Multi-Step Forms
Docker Setup

Built-in· Partial / via plugin· Not included·Laravel comparison includes Filament. T3 Stack = Next.js + tRPC + Prisma + NextAuth.

Key Features

CLI Scaffolder
grit new myapp creates a complete monorepo with Go API, Next.js frontend, admin panel, shared types, and Docker setup.
Full-Stack Code Gen
grit generate resource Post creates a Go model, CRUD handler, React Query hooks, Zod schema, and admin page in one shot.
CRM-Grade Admin Panel
Resource-based admin with data tables, form builders, multi-step wizards, charts, widgets, RBAC, and a polished dark theme.
End-to-End Type Safety
Go struct tags auto-generate TypeScript types and Zod schemas. Change the backend, run grit sync, and the frontend stays in sync.
Batteries Included
JWT auth, file storage (S3/R2/MinIO), email (Resend), background jobs, cron, Redis caching, and AI integration ship with every project.
GORM Studio
A visual database browser embedded at /studio. Browse tables, inspect data, and manage your database without leaving the browser.

How It Works

1

Scaffold your project

Run grit new myapp to generate the full monorepo -- Go API with auth, Next.js web app, admin panel, shared types, Docker Compose, and GORM Studio.

2

Start the dev environment

Run docker compose up -d to start PostgreSQL, Redis, MinIO, and Mailhog. Then run turbo dev to start the Go API and Next.js apps with hot reload.

3

Generate resources

Use grit generate resource Post --fields "title:string,content:text" to create a full-stack resource. The Go model, handler, React hooks, Zod schema, and admin page are all created and wired together.

4

Build and ship

Your app is production-ready from day one. Multi-stage Docker builds for Go and Next.js. Self-host on a VPS, your own servers, or any cloud provider. No vendor lock-in, no recurring platform fees.

Quick Example

Create a project and generate your first resource in under a minute:

terminal
$ grit new myapp
$ cd myapp
$ docker compose up -d
$ grit generate resource Post --fields "title:string,content:text,published:bool"
$ turbo dev

That's it. You now have a Go API serving CRUD endpoints for Posts, a React frontend with data fetching hooks, Zod validation, and an admin panel with a data table and form -- all connected and ready to use.

What Gets Generated

When you run grit generate resource Post, the CLI creates:

apps/api/internal/models/post.goGORM model with struct tags, timestamps, and soft deletes
apps/api/internal/handlers/post.goCRUD handler with pagination, sorting, filtering, and search
apps/api/internal/services/post.goBusiness logic layer with reusable query scopes
packages/shared/schemas/post.tsZod validation schemas (create + update)
packages/shared/types/post.tsTypeScript types inferred from the Go model
apps/admin/hooks/use-posts.tsReact Query hooks for all CRUD operations
apps/admin/resources/posts.tsResource definition with table, form, and multi-step wizard config
apps/admin/app/resources/posts/page.tsxAdmin page with data table, search, filters, and form actions

Who is Grit For?

  • Freelancers and agencies who need to ship client projects fast with a complete stack that works out of the box.
  • Solo SaaS developers who want Go's performance for their backend but React's ecosystem for their frontend.
  • Small to mid-size teams building internal tools, CRMs, dashboards, or SaaS products.
  • Laravel developers who want to move to Go but miss the developer experience and Filament's admin panel.
  • Next.js developers who are frustrated with serverless limitations and want a real, self-hosted backend.
  • Anyone tired of vendor lock-in who wants to own their infrastructure and deploy anywhere.