43 apps Data
Baserow screenshot thumbnail

Baserow

Airtable's spreadsheet-database model, self-hostable and open-source: that is Baserow. It presents data in a spreadsheet-style grid, but underneath each table is a real relational structure with typed fields, links between tables, filters, sorts, and multiple views (grid, gallery, form, kanban, calendar). Beyond the database core, it includes an application builder for composing pages and portals on your data, workflow automations, and dashboards. Everything is API-first: each table exposes a REST endpoint with token auth and webhooks, so it plugs directly into n8n, Zapier, or custom scripts. The stack is Django (Python) on the backend, Vue.js on the frontend, PostgreSQL for storage, with Redis for async tasks. Core features are MIT-licensed; premium features are a paid add-on. The self-hosted version has no row, storage, or API request limits - Airtable's per-base record caps and monthly API quotas simply don't exist here, and capacity is bounded only by your PostgreSQL database and disk. Existing Airtable bases, CSVs, and Excel files import directly with structure preserved, so migration doesn't start from a blank slate, and both the backend and frontend support plugins for custom field types and integrations without forking the core. For non-technical teammates the interface behaves like a spreadsheet; for engineers, the data model is the API.

Deploy
CubeJS screenshot thumbnail

CubeJS

Between your databases and everything that consumes data - BI tools, embedded analytics, AI agents - sits Cube (formerly Cube.js), an open-source semantic layer. Metrics, dimensions, joins, and access rules are defined once as code in YAML, JavaScript, or Python, forming a governed data model that every downstream consumer shares, so "revenue" means the same thing in every dashboard. Caching is two-level: an in-memory cache absorbs bursts of identical queries, and declared pre-aggregations - rollup tables built in the warehouse or in Cube Store, Cube's distributed columnar engine, and refreshed in the background - deliver sub-second latency while cutting warehouse compute costs. The query planner routes each request to cache, rollup, or source automatically. Consumers connect through a Postgres-compatible SQL API (any tool that speaks Postgres works), plus REST, GraphQL, and a Meta API for model introspection. Row-level security and multi-tenancy are enforced in the layer itself, upstream of every client. Sources include Snowflake, BigQuery, Databricks, Postgres, MySQL, Presto, and Athena. Headless by design - bring your own UI.

Deploy
Hasura screenshot thumbnail

Hasura

A PostgreSQL database becomes a production-grade GraphQL API the moment Hasura GraphQL Engine points at it: track tables and relationships - existing schemas included - and full query, mutation, and subscription types appear with where, order_by, limit, offset, and on_conflict arguments, no resolvers or boilerplate written. Its Haskell core compiles GraphQL to efficient SQL, and any query becomes a real-time live query with a single keyword, powering dashboards and collaborative UIs over standard GraphQL subscriptions. Authorization is where Hasura earns its enterprise reputation: role-based access control with row- and column-level permission policies driven by session variables from JWTs, auth webhooks, or headers - each role effectively sees its own GraphQL schema containing only what it may touch, integrating cleanly with Auth0, Firebase, or homegrown auth. Event triggers fire webhooks on inserts, updates, and deletes for asynchronous business logic; Actions extend the schema with custom REST handlers; remote schema stitching merges external GraphQL services into one endpoint; and auto-generated REST endpoints serve clients that skip GraphQL. A browser console handles data modeling and API exploration, the CLI manages migrations and metadata as code, and deployment is a single stateless Docker container beside Postgres.

Deploy
Nocobase screenshot thumbnail

Nocobase

CRMs, project trackers, inventory tools - NocoBase is an open-source no-code/low-code platform for building business systems like these. Its architecture is data-model driven: you define collections and relationships first, then compose any number of interface blocks (tables, forms, kanban, charts) on top of the same model, so data structure is never coupled to a particular view. The core is a microkernel where every feature is a plugin, WordPress-style; you enable official plugins, install marketplace ones, or write your own as npm packages with server and client parts. Data sources include the main PostgreSQL or MySQL database, external databases, and third-party APIs - so you can build admin panels over existing production data instead of migrating it. Built-in infrastructure covers role-based permissions down to collection, record, and field level, workflow automation with approval steps and scheduled triggers, and audit logs; a one-click switch flips between usage and configuration modes. Because custom features live in isolated plugins with a documented lifecycle, core upgrades do not overwrite your customizations, and swapping UIs never requires data migrations since interfaces sit on independent models. Written in TypeScript on Node.js, Koa, and React under the AGPL license, it is light enough for one person to run and extend - and where no-code SaaS platforms charge per seat and per app, a self-hosted instance runs unlimited applications for unlimited users at hosting cost alone.

Deploy
NocoDB screenshot thumbnail

NocoDB

Any existing relational database becomes a collaborative, Airtable-style smart spreadsheet under NocoDB. It connects to PostgreSQL, MySQL, MariaDB, SQL Server, or SQLite, introspects the schema - tables, relationships, indexes - and renders it as interactive Grid, Gallery, Kanban, Calendar, and Form views without migrating a single row. Your business data stays in your database; NocoDB keeps only its own metadata (view configs, permissions, webhooks) in a separate store. Every connected table automatically gets REST APIs with Swagger documentation, effectively turning legacy databases into modern backends. The spreadsheet layer adds 20+ field types including formulas, lookups, rollups, links, attachments, and currency, plus sorting, filtering, grouping, and multi-field editing. Views can be locked or shared publicly with password protection, role-based access control scopes permissions per user, and webhooks plus CSV, Excel, and Airtable import round out integration. An ERD view visualizes the schema. Built with Node.js and Vue, deployed via Docker, handling millions of rows.

Deploy
PocketBase screenshot thumbnail

PocketBase

An entire backend in a single Go executable: PocketBase embeds SQLite with realtime subscriptions, authentication and user management, file storage, and an admin dashboard, all behind a REST-ish API. SQLite runs in WAL mode, which outperforms client-server databases for the read-heavy workloads typical of small and mid-sized apps. Authentication supports email/password, one-time passwords, and 15+ OAuth2 providers including Google, Apple, and GitHub, with stateless tokens. Clients subscribe to record changes over server-sent events, and official JavaScript and Dart SDKs cover web, mobile, and Flutter frontends. Collections, rules, and API access permissions are managed visually in the admin UI. When you need custom logic, extend it with JavaScript hooks running in the embedded JS VM of the prebuilt binary, or import PocketBase as a Go library and compile custom business logic into your own single-file backend. File storage attaches uploads to records with thumbnail generation for images and optional S3-compatible external storage. All state lives in one pb_data directory, so backup is a directory copy and upgrade is replacing a binary - one of the lowest-maintenance backends you can run. The contrast with Firebase is the point: where usage-based pricing scales with reads, writes, and bandwidth, PocketBase runs the entire backend at flat hosting cost, and the data is a plain SQLite file you can copy anywhere. MIT-licensed.

Deploy
ToolJet screenshot thumbnail

ToolJet

Retool's job, self-hosted: ToolJet is an open-source low-code platform for building internal tools, dashboards, and admin panels. Apps are assembled in a drag-and-drop visual builder with 60+ responsive components, including tables, charts, forms, and lists, and connected to 80+ data sources: PostgreSQL, MySQL, MongoDB, REST and GraphQL APIs, cloud storage, and common SaaS tools. When visual configuration is not enough, you can run JavaScript or Python inline for queries and transformations. A built-in no-code database (ToolJet Database) covers apps that need their own tables without provisioning an external database, Workflows add node-based automation for background jobs with dedicated worker containers and a Redis-backed queue, and multi-page apps with multiplayer editing, inline comments, and mentions support team development. Security is designed for internal data: credentials are AES-256-GCM encrypted, data flows proxy-only through your server so database contents never reach a third-party cloud, and granular per-app access control plus SSO gate each tool. Where Retool-style platforms bill per builder and sometimes per end user, the self-hosted Community Edition serves unlimited builders and users at hosting cost, and full source availability means the platform itself can be forked, audited, and extended. The stack is Node.js and React on PostgreSQL, deployed via Docker.

Deploy