Skip to main content

Features

Designed by people who hate writing internal tools.

Six pillars, working together. The same product whether you're managing a 10-row staging database or a 50M-row production warehouse.

Tables

Browse, filter, sort, edit, and bulk-act on every row in your database.

Environments

Switch between production, staging, and dev with isolated keys.

Webhooks

Trigger external systems on row changes, with retries and full delivery logs.

Custom views

Save layouts and chart widgets on top of any table for any team.

Schema visualizer

An ER diagram of your data and constraints, generated on connect.

Roles & permissions

Owner, Admin, Manager, Viewer — granular gating on every action.

Tables

Edit production data without losing your nerve

A typed, lightning-fast table editor over your live database. Inline edit, bulk update, JSON cells, foreign-key chips, and a hook chain that runs on every CRUD call so business logic stays in code.

  • Auto-generated CRUD endpoints — getData, getSingle, insert, update, delete — for every introspected table.
  • Filters, sort, search, and saved layouts per user; relationships open as drill-down panes.
  • Advanced query builder for ad-hoc reads alongside the standard table view.
  • CSV export with three scopes: selected rows, current page, or every matching row in 1000-row batches.
  • Before/after hooks (CREATE, READ, UPDATE, DELETE) to validate, transform, or trigger side effects on every operation.

Environments

One project, many environments, one sidebar switch

Each project keeps a clean isolation between production, staging, and any development branch. Connection strings and secret keys are scoped per environment, surfaced through the in-app environment switcher.

  • Per-environment ProjectDb records — host, port, credentials, and schema configured independently.
  • Auto-generated secret keys per environment, rotated without affecting the others.
  • EnvironmentSwitcher in the project nav for one-click context changes from any page.
  • Permission overrides per environment let you keep production read-only for staging-trusted roles.

Webhooks

Send the right event, with the receipts

Define triggers per table and per CRUD event. The WebhookEngine signs every payload, retries on failure with exponential backoff, and writes a full delivery log you can search, replay, and audit.

  • CRUD triggers: CREATE, READ, UPDATE, DELETE — registered per table, per webhook.
  • HMAC-SHA256 signing with a per-webhook secret; receivers verify the body without exchanging trust.
  • Configurable maxRetries with exponential backoff (retryBackoff × 2ⁿ); cancel-safe on shutdown.
  • WebhookLogger keeps every delivery attempt — request, response, status, latency, error, next retry — and resend() replays any past payload.
  • Settings UI exposes triggers, secret rotation, and the live delivery log.

Custom views

Save the layout your team actually uses

Custom views sit on top of any table: pick the columns, the filters, the sort, the segments, the chart widgets — save it under a slug, and pin it to the project sidebar for the rest of the team.

  • View slugs are first-class routes — share a URL, land on the same view.
  • Column visibility, ordering, filter chips, and sort persist per view.
  • Chart widgets layer on top of the same query so dashboards stay in sync with the underlying table.
  • Create from any table page; manage and reorder from the project's Custom Views settings.

Schema visualizer

An ER diagram, generated on connect

Connector introspects your database when start() is called and emits a typed schema plus an ER diagram in the admin panel. Both Mermaid and React-Flow renderers are available, with relationship drilldowns one click away.

  • Schema introspection at boot — tables, columns, types, primary keys, and foreign keys.
  • Generated TypeScript types (TableName, table-row types) for end-to-end compile-time safety.
  • Two ER renderers — Mermaid for static export, React-Flow for interactive panning and zoom.
  • Per-relationship pages for browsing parent/child rows side-by-side.

Roles & permissions

Owner, Admin, Manager, Viewer — and the gates between them

Every organization carries a role matrix. Owners run billing, Admins manage members and projects, Managers operate inside projects, Viewers read-only. Custom roles add granular per-action gating on top.

  • Four built-in roles cover the common case; create custom roles per organization for everything else.
  • Per-project permissions for table-level read/write, action invocation, and webhook config.
  • Approval workflows: any privileged write can require a second-actor sign-off before executing.
  • Audit-friendly — every approval, role change, and member invite is recorded.
Next steps: See the Getting Started guide to install and connect a database, or jump to ModelCustomizer to shape what each table looks like.