Infrastructure for user-powered products. Pre-modeled bundles for the layers every app ends up rebuilding — comments, notifications, files, search, chat, and more. Install what you need, call through one SDK. Build the part that's actually yours.
This repository is the whole Sublay platform's SDK/tooling/docs surface, as one pnpm workspace — 9 published npm packages across 5 independently-versioned groups, the CLI + component registry, and the docs site:
@sublay/core— shared hooks, context providers, and utilities for the React, React Native, and Expo SDKs (not used bynode/js, which are independent)@sublay/react-js— React (web)@sublay/react-native— React Native@sublay/expo— Expo with SecureStore-backed token storage@sublay/node— server-side Node.js (backends, server actions, webhooks)@sublay/js— framework-agnostic JavaScript (no React required)@sublay/ui-core-react-js/@sublay/ui-core-react-native— open-source presentational UI primitives@sublay/cli— shadcn-style component installer, backed byregistry/
Each framework SDK (react-js, react-native, expo) re-exports from @sublay/core and adds the platform-specific bits (token storage, etc.). Full API reference and SDK guides live at docs/ in this same repo, served at docs.sublay.io.
Every user-powered product runs into the same engineering problems — content modeling, threaded discussions, permission graphs, ranking pipelines, search indexing, notification fan-out, social graphs, and moderation queues. Sublay solves them, so you don't have to.
Sublay ships these layers as pre-modeled bundles that attach to one shared entity model. You install the bundles you need from the dashboard, call them through any Sublay SDK, and build the part that's actually yours on top.
Every project always includes the core bundle — users, authentication, and OAuth identity — installed automatically and it can't be removed. On top of that, install only what your product needs:
- Entities (
entities) — the base content unit for anything your users create (posts, articles, listings), with views, drafts, and publishing - Comments (
comments) — threaded comments on entities · requiresentities - Reactions (
reactions) — emoji reactions on entities and comments - Storage (
files-images) — file and image uploads, including user avatars and banners - Follows (
follows) — one-way follow relationships - Connections (
connections) — bidirectional, friend-style connection requests - Spaces (
spaces) — hierarchical community spaces with membership, roles, and rules - Workspaces (
workspaces) — self-nesting SaaS/team workspaces with invitations and per-member authority - Chat (
chat) — real-time 1:1 and group conversations with message reactions - Collections (
collections) — user-owned bookmarking and folders for saving entities · requiresentities - Events (
events) — online, physical, or hybrid events with RSVP tracking, capacity limits, hosts, and invites - Moderation (
moderation) — reports, report resolution, user blocking, and account suspensions - App Notifications (
notifications) — in-app notification fan-out - Push Notifications (
push) — native push delivery to iOS, Android, and Web - Reputation (
reputation) — per-space reputation buckets, a maintained overall total per user, and reputation grants - Semantic Search & AI (
ai-search) — content embeddings, semantic search, and an AI-answer endpoint - Interest Matching (
interest-matching) — activity-derived interest facets for matching users by what they engage with · requiresai-search
Every bundle attaches to the same project schema — no mismatches, no extra databases. Install, remove, or add bundles at any time from the dashboard's Database page; removing a bundle drops its tables (and clears references to it from other bundles) for good.
- Create a project at dash.sublay.io and install the bundles you need.
- Install a Sublay SDK in your app — see the full family below.
- Optionally drop in the open-source
@sublay/ui-core-*primitives, or install full components vianpx @sublay/cli add(seepackages/cli).
The dashboard at dash.sublay.io is a database/backend console for your project:
- Overview — usage metrics and project health
- Authentication — end users and OAuth providers
- Database — schema browser (tables, relationships) and a table editor for browsing rows
- Storage — file blobs uploaded through the Files bundle
- Reports — moderation queue across entity and comment reports
- Broadcast — send notifications to your users
- Settings — domains, webhooks, integrations, members, secrets, billing
@sublay/core— hooks and utilities shared across the React, React Native, and Expo SDKs@sublay/react-js— React (web)@sublay/react-native— React Native@sublay/expo— Expo with SecureStore token storage@sublay/node— server-side Node.js (backends, server actions, webhook handlers)@sublay/js— framework-agnostic JavaScript (browser apps without React)@sublay/ui-core-react-js/@sublay/ui-core-react-native— open-source UI primitives@sublay/cli— installs full, editable components (shadcn-style) built on the above
Full API reference, SDK guides, and recipes: docs.sublay.io
- Discord — discord.gg/REKxnCJzPz
- Blog — blog.sublay.io
- X — @yantsab
- LinkedIn — linkedin.com/company/sublay
- Email — support@sublay.io
Apache 2.0