The problem
Every time I started a new internal tool, I'd reach for AG Grid. It's the go-to React data grid and for good reason — it's powerful and well-documented.
Then I'd hit the wall.
Audit trail? Enterprise. Workflow states? Enterprise. A proper rules engine for validation? Enterprise. AG Grid Enterprise costs $1,500+ per developer per year. For a small team building internal tooling, that's a hard sell.
So I built RGGrid.
What RGGrid is
RGGrid is a production-grade React + TypeScript data grid built for internal tools and business applications. It's open source, free, and ships everything I kept bumping into on AG Grid's paywall.
Install:
npm install @rg-grid/rg-grid
Basic usage:
import "@rg-grid/rg-grid/styles.css";
import { RGGrid } from "@rg-grid/rg-grid";
What's free that AG Grid charges for
Audit trail
Every cell edit is logged with the user and timestamp. Access it imperatively:
const logs = gridRef.current?.getAuditLogs?.() ?? [];
Workflow states
Model real business processes directly in the grid:
const workflow = {
column: "status",
states: ["draft", "review", "approved", "rejected"],
transitions: {
draft: ["review"],
review: ["approved", "rejected"],
rejected: ["review"],
},
};
Rules engine
Sync and async validation on any cell:
const rules = [
{
column: "mrr",
condition: (value) => Number(value) < 0,
action: "error",
message: "MRR cannot be negative",
},
];
Tree / hierarchical rows
Works with flat (parent ID) or nested (children key) structures. Fully compatible with sorting, filtering, and pagination.
Architecture
The core idea is a deterministic data pipeline:
Raw Data → CoreRow → Feature Plugins → ViewRow → Render Layer
Features are ordered, priority-based plugins. The UI is a thin render layer. No wrapper components. No hidden magic.
Try it
Live demo: https://rg-grid.vercel.app/
GitHub: (link)
npm: @rg-grid/rg-grid
If you've been stuck behind the AG Grid paywall, I'd love to hear your use case. Drop a comment below.
Top comments (0)