πŸ‡ͺπŸ‡Ί Open-source Β· Postgres-native Β· Built in Europe

Ship your back-office in a sprint.
Extend it forever.

Connect your Postgres. Get a full admin panel β€” instantly.
No boilerplate. No vendor lock-in. Just your schema.

F
searchSearch
short_text
Title
image
Image
list
Status
add_link
Author
add_link
Tags
add
43
Captivating Caption for Your Latest Post
Published
person
Emily Watson
emily.w@example.com
keyboard_arrow_down
tagTraveltagMusictagBusiness+2
keyboard_arrow_down
42
Visually Appealing Image Design!
Published
person
Steve Rogers
steve.r@example.com
keyboard_arrow_down
tagDIYtagFashion
keyboard_arrow_down
41
The Importance of Mental Health
image
In Review
person
Alice Johnson
alice.j@example.com
keyboard_arrow_down
tagMoviestagBooks
keyboard_arrow_down
40
A Look at Sustainable Farming Practices
Draft
person
George Costanza
george.c@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
39
The Psychology of Color in Marketing
Published
person
Rachel Green
rachel.g@example.com
keyboard_arrow_down
tagMusictagMoviestagArt
keyboard_arrow_down
38
DIY Home Renovation Tips
image
Draft
person
Pam Beesly
pam.b@example.com
keyboard_arrow_down
tagLifestyletagDIY
keyboard_arrow_down
37
Mastering the Art of Negotiation
Published
person
Laura Palmer
laura.p@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
36
Modern Architectural Marvels
Draft
person
George Costanza
george.c@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
35
Exploring the Deep Sea
Archived
person
Hannah Abbott
hannah.a@example.com
keyboard_arrow_down
tagScience
keyboard_arrow_down

One collection.
Everything generated.

Define your data model once in TypeScript. Rebase automatically creates your admin UI, forms, database schema, REST & GraphQL APIs, and TypeScript types.

auto_awesome Code as Truth
App Code β€” products.ts
import { buildCollection } from "@rebasepro/core";

export const products = buildCollection({
  name: "Products",
  properties: {
    name: {
      name: "Name",
      type: "string",
      validation: { required: true },
    },
    category: {
      name: "Category",
      type: "string",
      enum: {
        electronics: "Electronics",
        fashion: "Fashion",
        home: "Home & Garden",
      },
    },
    price:     { name: "Price", type: "number" },
    in_stock:  { name: "In Stock", type: "boolean" },
    image_url: { name: "Image", type: "string", url: true },
  },
});

β†’ generates Admin views Β· forms Β· DB schema Β· REST API Β· GraphQL Β· Typed SDK

Built for the way
you actually work

Not another tool to learn β€” Rebase works with your existing database and your existing workflow.

Edit like a spreadsheet

F
searchSearch
short_text
Title
image
Image
list
Status
add_link
Author
add_link
Tags
add
43
Captivating Caption for Your Latest Post
Published
person
Emily Watson
emily.w@example.com
keyboard_arrow_down
tagTraveltagMusictagBusiness+2
keyboard_arrow_down
42
Visually Appealing Image Design!
Published
person
Steve Rogers
steve.r@example.com
keyboard_arrow_down
tagDIYtagFashion
keyboard_arrow_down
41
The Importance of Mental Health
image
In Review
person
Alice Johnson
alice.j@example.com
keyboard_arrow_down
tagMoviestagBooks
keyboard_arrow_down
40
A Look at Sustainable Farming Practices
Draft
person
George Costanza
george.c@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
39
The Psychology of Color in Marketing
Published
person
Rachel Green
rachel.g@example.com
keyboard_arrow_down
tagMusictagMoviestagArt
keyboard_arrow_down
38
DIY Home Renovation Tips
image
Draft
person
Pam Beesly
pam.b@example.com
keyboard_arrow_down
tagLifestyletagDIY
keyboard_arrow_down
37
Mastering the Art of Negotiation
Published
person
Laura Palmer
laura.p@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
36
Modern Architectural Marvels
Draft
person
George Costanza
george.c@example.com
keyboard_arrow_down
β€”keyboard_arrow_down
35
Exploring the Deep Sea
Archived
person
Hannah Abbott
hannah.a@example.com
keyboard_arrow_down
tagScience
keyboard_arrow_down

Your schema, understood

iduuid
Β·titletext
Β·statustext
Β·author_iduuid
Β·created_attimestamptz
Β·contenttext
rebase_main
1
2
3
4
5
6
7
8
9
10
SELECT
  p.title,
  p.status,
  u.display_name AS author,
  COUNT(c.id) AS comments
FROM posts p
JOIN users u ON p.author_id = u.id
LEFT JOIN comments c ON c.post_id = p.id
GROUP BY p.id, u.id
LIMIT 5;
QUERY RESULTS
βœ“ 5 rows Β· 12mspublic.posts
title
status
author
comments
Getting Started with Rebase
published
Alice Chen
24
Schema Migrations Guide
published
Bob Park
18
Custom Views Tutorial
draft
Alice Chen
7
RLS Best Practices
published
Eve MΓΌller
31
REST API Deep Dive
draft
Bob Park
3
ROWS5
TIME12ms

Visual editor, real TypeScript

short_text
Name
Text fieldstring
drag_handle
upload_file
Image
File uploadstring
drag_handle
list
Category
Select/enumstring
drag_handle
flag
Available
Switchboolean
drag_handle
functions
do_not_disturb_on
price
This property is defined as a property builder in code
drag_handle
list
Currency
Select/enumstring
drag_handle
flag
Public
Switchboolean
drag_handle
short_text
Brand
Text fieldstring
drag_handle
format_quote
Description
Markdownstring
drag_handle
http
Amazon link
Urlstring
drag_handle
ballot
Publisher
Groupmap
drag_handle
short_text
Name
Text fieldstring
drag_handle
short_text
External id
Text fieldstring
drag_handle
drive_folder_upload
Images
Multiple file uploadarray
drag_handle
add_link
Related products
Multiple referencesarray
drag_handle
list_alt
Available locales
Multi select (enum)array
drag_handle
short_text
Uppercase Name
Text fieldstring
drag_handle
repeat
Tags
Repeat/listarray
drag_handle
schedule
Added on
Date/timedate
drag_handle
functions
do_not_disturb_on
spanish_title
This field is defined as an additional field in code
drag_handle
ballot
Metadata
Key-valuemap
drag_handle
short_text
Text field

Simple short text

Hide from collection
Read only
Select a property widget
short_text

Simple short text

subject

Text with multiple lines

format_quote

Text with advanced markdown syntax

http

Text with URL validation

mail

Text with email validation

link

The value refers to a different collection (it is saved as a string)

flag

Boolean true or false field (or yes or no, 0 or 1...)

list

Select one text value from within an enumeration

list_alt

Select multiple text values from within an enumeration

format_list_numbered

Select a number value from within an enumeration

format_list_numbered

Select multiple number values from within an enumeration

person

Select a user from the user management system. Store the user ID.

numbers

Simple number field with validation

upload_file

Input for uploading single files

drive_folder_upload

Input for uploading multiple files

link

The value refers to a different collection (it is saved as a reference)

add_link

Multiple values that refer to a different collection

schedule

A date time select field

ballot

Group of multiple fields

ballot

Flexible field that allows the user to add multiple key-value pairs

view_stream

A complex field that allows the user to compose different fields together, with a key/value format

repeat

A field that gets repeated multiple times (e.g. multiple text fields)

One command to start

code
Simple NPM Install

Add Rebase to your project with a single command

npx create-rebase-app
dns
Self-host Rebase

Deploy Rebase on your own infrastructure. Full control over your data, your deployment, and your performance.

bolt
Full TypeScript Support

Built with TypeScript from the ground up for the best developer experience and type safety.

verified_user Security-first

Your database, your rules.

Row-level security defined in TypeScript. Granular permissions per collection, per field, per role. No hand-written SQL policies β€” just clean code that lives in version control.

fork_right Open source

Code you own.
Deploy anywhere.

MIT-licensed. Self-host on Docker, Railway, Fly, or bare metal. Your data stays in your Postgres β€” no vendor lock-in, no surprises, no per-seat pricing.

And so much more

Every view updates in real time. Every feature ships free.

In Progress2
Homepage redesign mockup
ui-32
FK
Authentication flow API
AJ
Review1
Update privacy policy
legal-4
view_kanban

Kanban boards

Drag & drop

Drag cards between columns to update status fields instantly. Your Postgres records, visualized.

Data history and audit view
history

Data history & audit

Versioning

Track who changed what. Compare versions side by side. Revert with one click.

upload

Import & export

Bulk ops

CSV, JSON, or Excel β€” automatic field mapping in, one-click export out.

GET/api/users
Waiting for request...
api

Instant REST & GraphQL

Auto-gen

Your database generates secure, typed APIs automatically. Zero boilerplate, zero controllers.

app.ts
constΒ dataΒ =Β awaitΒ client.data.
code

TypeScript SDK

Type-safe

Fully type-safe SDK with IDE auto-complete. Schema changes update your types automatically.

alice
Aa
.
bob
Aa
.
sync

Real-time everywhere

WebSocket

Every table, form, and Kanban view stays in sync. Data changes propagate instantly β€” no refresh.

explore Roadmap

What's next for Rebase

We ship fast. Here is where we are going in the coming months.

Now

Available
check_circle Postgres introspection & auto-CMS
check_circle Isomorphic TypeScript SDK
check_circle Instant REST & GraphQL APIs
check_circle Row-Level Security (RLS)
check_circle Real-time WebSocket subscriptions

Next

hourglass_bottom In Progress
smart_toy AI SQL generation in editor
cloud Hosted Rebase Cloud infrastructure
group_add Multiplayer cursors in Studio
folder_open Native file storage (S3 / R2)

Later

Planning
bar_chart Conversational analytics & charts bot
auto_awesome Text-to-Schema AI generation
code_blocks Edge functions / Serverless logic
move_up Advanced migration pipelines

Frequently asked questions

What database does Rebase support?

Rebase is built on PostgreSQL. You connect your own Postgres database β€” Rebase introspects the schema and generates a full admin interface automatically. No extra database, no data migration required.

How is Rebase different from Retool or Supabase?

Unlike Retool, Rebase is open-source with no per-seat pricing lock-in, and it's a real React framework you can extend with your own code. Unlike Supabase, Rebase works with your existing Postgres database β€” it's not a BaaS that owns your infrastructure. You keep full control.

Can I use Rebase with an existing database?

Absolutely. Connect any Postgres database and Rebase will introspect the schema to generate a full admin panel automatically. You can then refine the UI visually or in TypeScript. Rebase works equally well for brand-new projects and existing databases.

Is Rebase open-source?

Yes. Rebase is completely free and MIT-licensed. Everything β€” the schema editor, data import/export, user management UI, and all features β€” is included at no cost.

What's the tech stack?

The admin panel is a React 19 SPA built with TypeScript and Tailwind CSS. The backend is a lightweight Node.js service that connects directly to your PostgreSQL database. No SSR, no monolithic framework.

Do you support SSO or enterprise auth?

Yes. SSO, SAML, and advanced enterprise authentication are supported. Enterprise plans with dedicated support and SLAs are available β€” reach out to talk through your requirements.

Can I embed Rebase inside my existing React app?

Yes. Rebase is distributed as npm packages. You can mount the entire admin panel inside your existing React application, or deploy it as a standalone SPA. It's designed to be embeddable.

Your Postgres deserves better than pgAdmin.

Start building in minutes. Open-source. No credit card required.