Skip to content

RFC: First-class personal organization — collaboration-first → local-first workspace model #940

Description

@softmarshmallow

Context

Grida began (years ago) as a collaboration-first product: everything is scoped to an organization — a shared, multi-member tenant. The product direction has since shifted toward local-first, single-user-first usage (the desktop app, the reference-first home, per-user projects), with collaboration as an addition rather than the primitive.

The reference model is Notion / GitHub: a personal namespace/workspace is the default home, and shared/team workspaces are a step up from it — not the other way around.

Problem

The data, auth, and billing model still assume "organization first." A user without an organization is a second-class citizen — several flows dead-end because they are org-scoped (billing/entitlement, and e.g. the hosted-AI token mint returns no_organization). There is no first-class notion of "my personal space" that a single user owns by default.

What this RFC should settle

  • Definition — what a personal organization is: identity, ownership, and whether it's 1:1 with a user. Is it the same organization concept with a personal/owner flag, or a distinct primitive?
  • Lifecycle — auto-provisioned at signup (GitHub-style personal account namespace that always exists) vs. created on demand (Notion-style personal workspace).
  • Billing home — the personal org owns credits/subscription by default; team orgs layer on top.
  • Coexistence & migration — how it lives alongside today's multi-member orgs and RLS without a breaking migration.
  • Naming — personal org vs. workspace vs. namespace (consult the naming discipline; the name comes first).

References

  • Notion — personal space vs. teamspaces.
  • GitHub — personal account vs. organizations.

Non-goals (scoped separately)

  • The concrete implementation.
  • The near-term onboarding unblock — every signed-in user needs an org so hosted AI (and billing) has a home. That slice will be scoped as its own issue once this model is agreed; it should fall out of this RFC, not front-run it.

Deliverable

A WG design doc capturing the model (under docs/wg/ — platform, or a new cluster), then implementation issues derived from it.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions