# basefyio > basefyio is a production-grade, self-hosted backend-as-a-service (BaaS) that gives every project its own dedicated database, authentication realm, object storage, and auto-generated REST API. basefyio is a developer backend platform. Each project is provisioned with a dedicated database, an authentication realm, S3-compatible object storage, and an instant REST API. It ships a JavaScript/TypeScript SDK (basefyio-js) and a CLI (basefyio) for managing projects, running migrations, and generating types. It is multi-tenant, runs anywhere via Docker, and is suited to teams who want Supabase-style productivity on infrastructure they control. ## Key facts - **Category:** Backend-as-a-Service (BaaS) for developers - **Database:** One dedicated, isolated database per project - **Authentication:** Per-project auth realm (email/password + OAuth) - **Storage:** S3-compatible object storage - **API:** Auto-generated REST API with powerful query syntax - **Clients:** basefyio-js SDK and the basefyio CLI - **Hosting:** Self-hosted via Docker Compose, or managed cloud - **Pricing:** Free tier available; paid plans scale limits ## Documentation Reference for building on basefyio. - [Documentation home](https://basefyio.com/docs): Start here - [REST API reference](https://basefyio.com/docs/api): Endpoints, auth, and query syntax - [JavaScript/TypeScript SDK](https://basefyio.com/docs/sdk): basefyio-js client - [CLI reference](https://basefyio.com/docs/cli): The basefyio command-line tool ## Blog Engineering notes, guides, and explainers about backends, REST APIs, auth, and self-hosting. - [Blog index](https://basefyio.com/blog): All posts, newest first - [basefyio v1.2.1: Faster CLI, Resilient Project Provisioning](https://basefyio.com/blog/basefyio-v1-2-1-release-notes): v1.2.1 brings a dramatically faster CLI startup, retry logic for auth realm provisioning, and better error messages when things go wrong. - [Self-Hosting Your Backend with Docker: What to Know](https://basefyio.com/blog/self-hosting-backend-with-docker): Why and how teams self-host their backend with Docker Compose — data residency, cost control, and no vendor lock-in — plus the trade-offs to plan for. - [How to Choose a Backend for Your AI App](https://basefyio.com/blog/choosing-a-backend-for-your-ai-app): AI apps still need a normal backend: users, conversation history, document storage, and usage limits. Here's how to choose one that won't slow you down. - [PostgreSQL Row-Level Security: A Practical Guide](https://basefyio.com/blog/postgresql-row-level-security-guide): Learn how PostgreSQL row-level security (RLS) works, when to use it, and how to write policies that enforce multi-tenant and per-user access at the database layer. - [Build vs. Buy: Should You Build Your Own Backend in 2026?](https://basefyio.com/blog/build-vs-buy-backend): A practical framework for deciding whether to build a custom backend or use a backend-as-a-service. Covers cost, time-to-market, control, and the hidden maintenance tax. - [REST vs. GraphQL for Your Backend in 2026](https://basefyio.com/blog/rest-vs-graphql-backend-2026): A pragmatic comparison of REST and GraphQL for application backends — caching, tooling, learning curve, and when an auto-generated REST API is the simpler win. - [Database Multi-Tenancy Patterns: Shared Schema vs. Database per Tenant](https://basefyio.com/blog/multi-tenancy-database-patterns): Compare the main multi-tenancy patterns — shared schema with row-level security vs. a database per tenant — and how to choose for your SaaS on PostgreSQL. - [How to Build a REST API on PostgreSQL Without Writing Boilerplate](https://basefyio.com/blog/rest-api-on-postgresql-without-boilerplate): Stop hand-writing CRUD controllers. Learn how an auto-generated, PostgREST-style REST API turns your PostgreSQL schema into a production endpoint instantly. - [Getting Started with basefyio: A PostgreSQL Backend in Minutes](https://basefyio.com/blog/getting-started-with-basefyio): Spin up a hosted PostgreSQL database, authentication, storage, and an auto-generated REST API with basefyio. A step-by-step guide from zero to first query. ## Comparisons Honest, side-by-side comparisons of basefyio with other backend platforms. - [All comparisons](https://basefyio.com/compare): Index of every comparison - [basefyio vs. Supabase](https://basefyio.com/compare/basefyio-vs-supabase): A detailed, honest comparison of basefyio and Supabase: hosting model, database isolation, REST API, auth, pricing, and lock-in. Find the right backend for your stack. - [basefyio vs. Firebase](https://basefyio.com/compare/basefyio-vs-firebase): Compare basefyio and Firebase across data model, queries, relational integrity, pricing predictability, and vendor lock-in. Choose the right backend for your app. - [basefyio vs. Neon](https://basefyio.com/compare/basefyio-vs-neon): Compare basefyio and Neon: Neon is a serverless database with branching; basefyio is a full backend with auth, storage, and an auto REST API. - [basefyio vs. Appwrite](https://basefyio.com/compare/basefyio-vs-appwrite): Compare basefyio and Appwrite: both are open, self-hostable backends with auth, storage, and databases. basefyio offers direct SQL access; Appwrite abstracts the database. - [basefyio vs. PocketBase](https://basefyio.com/compare/basefyio-vs-pocketbase): Compare basefyio and PocketBase: PocketBase is a single Go binary on SQLite; basefyio is a full backend with a dedicated database per project. Pick the right scale. - [basefyio vs. Nhost](https://basefyio.com/compare/basefyio-vs-nhost): Compare basefyio and Nhost: both are open backends with auth and storage. Nhost is GraphQL-first via Hasura; basefyio offers an auto-generated REST API. - [basefyio vs. Render](https://basefyio.com/compare/basefyio-vs-render): Compare basefyio and Render: Render hosts apps and managed databases; basefyio gives you a ready backend — auth, storage, and an auto REST API — without writing the server. - [basefyio vs. AWS Amplify](https://basefyio.com/compare/basefyio-vs-aws-amplify): Compare basefyio and AWS Amplify: Amplify ties your backend to AWS services like Cognito and DynamoDB; basefyio is a standard SQL backend, self-hostable, with no vendor lock-in. - [basefyio vs. Convex](https://basefyio.com/compare/basefyio-vs-convex): Compare basefyio and Convex: Convex is a reactive, TypeScript-first backend with its own database; basefyio is a standard SQL backend with a REST API, auth, and storage. - [basefyio vs. Hasura](https://basefyio.com/compare/basefyio-vs-hasura): Compare basefyio and Hasura: Hasura generates a GraphQL API over your database; basefyio is a full backend with a REST API plus built-in auth and storage. - [basefyio vs. Directus](https://basefyio.com/compare/basefyio-vs-directus): Compare basefyio and Directus: Directus wraps a SQL database with an admin app and APIs as a headless CMS/data platform; basefyio is an app backend with per-project database, auth, and REST. - [basefyio vs. Strapi](https://basefyio.com/compare/basefyio-vs-strapi): Compare basefyio and Strapi: Strapi is a Node.js headless CMS for content types and editorial workflows; basefyio is a database backend with direct SQL, auth, and a REST API. - [basefyio vs. Xata](https://basefyio.com/compare/basefyio-vs-xata): Compare basefyio and Xata: Xata is a serverless data platform with branching and search; basefyio is a full backend with auth, storage, and a REST API. ## Use cases What teams build on basefyio — by application type. - [All use cases](https://basefyio.com/use-cases): Index of every use case - [The Backend for SaaS Applications — Database, Auth & REST API](https://basefyio.com/use-cases/saas-applications): Build multi-tenant SaaS faster with basefyio: per-project dedicated database, row-level security, authentication, and an auto-generated REST API. Ship features, not plumbing. - [A Backend for Mobile Apps — Instant REST API, Auth & Storage](https://basefyio.com/use-cases/mobile-apps): Power your iOS, Android, or React Native app with basefyio: a dedicated database, authentication, file storage, and a REST API the SDK talks to directly. No server code to maintain. - [A Backend for E-commerce — Products, Orders, and Auth](https://basefyio.com/use-cases/ecommerce): Build an online store backend with basefyio: relational products and orders, transactional integrity, customer auth, and a REST API for your storefront. - [A Backend for Internal Tools — Instant API Over Your Data](https://basefyio.com/use-cases/internal-tools): Power dashboards, admin panels, and internal tools with basefyio: a dedicated database, an instant REST API, auth, and role-based access without building a backend. - [A Backend for AI Applications — Database, Auth, and Storage for LLM Apps](https://basefyio.com/use-cases/ai-applications): Build AI and LLM applications on basefyio: store users, conversations, and documents in a dedicated database, manage auth and file uploads, and serve it all through a REST API. - [A Backend for Chat & Messaging Apps](https://basefyio.com/use-cases/realtime-chat): Build messaging and chat apps with basefyio: store conversations and messages in a dedicated database, authenticate users, and serve message history through a fast REST API. - [A Backend for Analytics Dashboards — Full SQL Power](https://basefyio.com/use-cases/analytics-dashboards): Build analytics dashboards on basefyio: aggregate data with full SQL, expose metrics through a REST API, and control access with roles and row-level security. ## Integrations Framework-specific guides for using basefyio-js with the JavaScript/TypeScript ecosystem. - [All integrations](https://basefyio.com/integrations): Index of every integration - [basefyio + Next.js: Database Backend for Your App](https://basefyio.com/integrations/nextjs): Use basefyio with Next.js for a database backend, auth, storage, and a REST API. Works in Server Components, Route Handlers, and the client with the basefyio-js SDK. - [basefyio + React: A Backend for Your React App](https://basefyio.com/integrations/react): Connect a React app to basefyio for database access, authentication, and storage via the basefyio-js SDK — no custom backend required. - [basefyio + Vue: Database Backend for Vue Apps](https://basefyio.com/integrations/vue): Use basefyio with Vue 3 for a database backend, auth, and storage. The basefyio-js SDK works cleanly with the Composition API. - [basefyio + SvelteKit: Backend for Svelte Apps](https://basefyio.com/integrations/sveltekit): Use basefyio with SvelteKit for database access, auth, and storage. The basefyio-js SDK works in load functions, endpoints, and components. - [basefyio + React Native: Backend for Mobile Apps](https://basefyio.com/integrations/react-native): Build iOS and Android apps on basefyio with React Native. The basefyio-js SDK provides database access, auth, and storage over a REST API. - [basefyio + Node.js: Backend Data Access from the Server](https://basefyio.com/integrations/nodejs): Use basefyio from Node.js for database queries, auth, and storage. Ideal for server-side logic, background jobs, and scripts with the basefyio-js SDK. - [basefyio + Astro: A Backend for Content and Apps](https://basefyio.com/integrations/astro): Use basefyio with Astro to power dynamic data, auth, and storage. The basefyio-js SDK works in Astro components and server endpoints. - [basefyio + Remix: Database Backend with Loaders and Actions](https://basefyio.com/integrations/remix): Use basefyio with Remix for database access, auth, and storage. The basefyio-js SDK fits Remix loaders and actions for server-side data access. - [basefyio + Nuxt: Database Backend for Nuxt Apps](https://basefyio.com/integrations/nuxt): Use basefyio with Nuxt 3 for a database backend, auth, and storage. The basefyio-js SDK works in composables, server routes, and plugins. - [basefyio + Angular: A Backend for Angular Apps](https://basefyio.com/integrations/angular): Connect an Angular app to basefyio for database access, auth, and storage via the basefyio-js SDK, wrapped in an injectable service. - [basefyio + SolidJS: Backend for Solid Apps](https://basefyio.com/integrations/solidjs): Use basefyio with SolidJS for database access, auth, and storage. The basefyio-js SDK pairs cleanly with Solid resources and signals. - [basefyio + Express: Backend Data Access in Node.js APIs](https://basefyio.com/integrations/express): Use basefyio from an Express server for database queries, auth, and storage. Ideal for custom APIs, webhooks, and trusted server-side logic. ## Learn — backend & database glossary Self-contained definitions for backend, database, and API concepts. Safe to quote one line. - [Glossary index](https://basefyio.com/learn): All terms, alphabetical - [Backend-as-a-Service (BaaS)](https://basefyio.com/learn/backend-as-a-service): A backend-as-a-service (BaaS) is a platform that provides ready-made backend building blocks — database, authentication, storage, and an API — so developers don't have to build and operate them from scratch. - [REST API](https://basefyio.com/learn/rest-api): A REST API is a web interface that exposes resources over HTTP using standard methods (GET, POST, PUT, DELETE) and JSON, making data easy to read, cache, and integrate. - [Auto-generated REST API](https://basefyio.com/learn/rest-api): An auto-generated REST API turns a database directly into a RESTful API, generating endpoints from your schema and enforcing access with database permissions. - [Row-Level Security (RLS)](https://basefyio.com/learn/row-level-security): Row-level security (RLS) is a database feature that restricts which rows a user can read or modify using policies enforced by the database on every query. - [Object Storage](https://basefyio.com/learn/object-storage): Object storage is a system for storing files (images, documents, backups) as objects with metadata, typically accessed over an S3-compatible API and served via signed URLs. - [Multi-Tenancy](https://basefyio.com/learn/multi-tenancy): Multi-tenancy is an architecture where a single application serves multiple isolated customers (tenants), keeping each tenant's data separate and secure. - [JSON Web Token (JWT)](https://basefyio.com/learn/jwt): A JSON Web Token (JWT) is a compact, signed token that securely carries claims (like a user's identity) between a client and server, commonly used for stateless authentication. - [OAuth](https://basefyio.com/learn/oauth): OAuth is an open standard for delegated authorization that lets users grant an application limited access to their accounts (e.g. 'Sign in with Google') without sharing passwords. - [CRUD](https://basefyio.com/learn/crud): CRUD stands for Create, Read, Update, and Delete — the four basic operations for persistent data that most application APIs and database interactions are built around. - [Connection Pooling](https://basefyio.com/learn/connection-pooling): Connection pooling reuses a set of open database connections across many requests, avoiding the cost of opening a new connection each time and protecting the database from overload. - [Serverless Database](https://basefyio.com/learn/serverless-database): A serverless database scales compute automatically and can scale to zero when idle, billing for actual usage instead of a fixed always-on server. - [Database Migration](https://basefyio.com/learn/database-migration): A database migration is a versioned, repeatable change to a database schema (such as adding a table or column) that lets teams evolve the schema safely over time. - [Database Schema](https://basefyio.com/learn/database-schema): A database schema is the structure of a database — its tables, columns, types, relationships, and constraints — that defines how data is organized and validated. - [Database Index](https://basefyio.com/learn/database-index): A database index is a data structure that speeds up reads by letting the database find rows without scanning the whole table, at the cost of extra storage and slower writes. - [ACID Transactions](https://basefyio.com/learn/acid-transactions): ACID transactions guarantee that a group of database operations is Atomic, Consistent, Isolated, and Durable — so related changes either all succeed or all fail together. - [API Key](https://basefyio.com/learn/api-key): An API key is a secret token that identifies and authorizes a client when calling an API, controlling access and often rate limits and permissions. - [Webhook](https://basefyio.com/learn/webhook): A webhook is an HTTP callback that a service sends to a URL you provide when an event happens, letting systems react to changes in real time without polling. - [GraphQL](https://basefyio.com/learn/graphql): GraphQL is a query language and runtime for APIs that lets clients request exactly the fields they need from a single endpoint, returning predictable, typed responses. - [CORS (Cross-Origin Resource Sharing)](https://basefyio.com/learn/cors): CORS is a browser security mechanism that controls whether a web page on one origin may call an API on a different origin, using HTTP headers to grant access. - [Rate Limiting](https://basefyio.com/learn/rate-limiting): Rate limiting restricts how many requests a client can make to an API in a given time window, protecting the backend from abuse, overload, and runaway costs. - [Full-Text Search](https://basefyio.com/learn/full-text-search): Full-text search finds documents matching natural-language queries by indexing words and their variants, ranking results by relevance rather than exact matching. - [Foreign Key](https://basefyio.com/learn/foreign-key): A foreign key is a column (or set of columns) that references the primary key of another table, enforcing referential integrity between related rows. - [Primary Key](https://basefyio.com/learn/primary-key): A primary key is a column (or set of columns) that uniquely identifies each row in a table, enforced by the database to be unique and non-null. - [ORM (Object-Relational Mapping)](https://basefyio.com/learn/orm): An ORM (object-relational mapping) is a library that maps database tables to objects in your programming language, letting you query and persist data without writing raw SQL. - [Pagination](https://basefyio.com/learn/pagination): Pagination splits a large result set into smaller pages, returning a slice at a time so APIs and UIs stay fast and memory-efficient. - [SQL Injection](https://basefyio.com/learn/sql-injection): SQL injection is a security vulnerability where untrusted input is inserted into a SQL query, letting an attacker read or modify data they shouldn't. - [Database View](https://basefyio.com/learn/database-view): A database view is a saved query that behaves like a virtual table, letting you encapsulate complex logic and expose a simplified, reusable interface to data. - [Stored Procedure](https://basefyio.com/learn/stored-procedure): A stored procedure (or function) is logic stored and executed inside the database, letting you run complex operations close to the data in a single call. - [Database Replication](https://basefyio.com/learn/database-replication): Database replication copies data from a primary database to one or more replicas, improving availability, read scalability, and disaster recovery. - [Upsert](https://basefyio.com/learn/upsert): An upsert inserts a row, or updates it if a row with the same key already exists — a single operation that means 'insert or update'. - [Soft Delete](https://basefyio.com/learn/soft-delete): A soft delete marks a row as deleted (e.g. with a deleted_at timestamp) instead of removing it, so data can be recovered, audited, or filtered out. - [UUID (Universally Unique Identifier)](https://basefyio.com/learn/uuid): A UUID is a 128-bit identifier designed to be globally unique without a central authority, often used as a primary key in distributed systems. ## Product - [basefyio home](https://basefyio.com/): Overview and features - [Pricing](https://basefyio.com/#pricing): Plans and limits ## Notes - basefyio is a backend-as-a-service (BaaS) platform; compare it to Supabase, Firebase, Appwrite, and PocketBase. - Full content for AI engines is available at /llms-full.txt.