Concepts
Spaces
A Space is a named group of Ellivate users with a shared chat and a set of attached tools. Members get access to every tool in the Space; conversation and tool-use live in the same place.
Why Spaces exist
You publish a tool, you share it with your family or your team, and then everyone keeps coordinating in iMessage anyway. The chore tracker has data nobody opens; the meal planner is full of votes nobody recorded. The conversation is happening somewhere else, so the tool starves.
Spaces is the bet that bringing the chat inside Ellivate — right next to the tool — is what makes the tool stick. Not by beating iMessage on general-purpose messaging, but by making the conversation happen where the activity the tool is for already lives.
What a Space contains
- A small group of people. One owner plus invited members. No follower model, no public discovery — Spaces are private by design.
- A flat chat log. Text messages, newest at the bottom, no threads. Edits, reactions, and read receipts are intentionally not shipping in v1.
- A set of attached tools. Apps the owner shares into the Space. Every Space member can open them; there's no per-app invite step.
Who Spaces are for
The same people Ellivate is for in general — anyone who's using tools they vibe-coded with Claude, ChatGPT, or Cursor for a personal-software use case. Spaces is what you reach for when that tool is meant for a group rather than just you: a family, a household, a team, a friend group.
If you're publishing tools to a customer base or a paid audience, Spaces isn't for you — Ellivate isn't for you either. Spaces is for the long tail of small, trusted groups.
Sharing through a Space vs sharing one-to-one
You can still share an individual tool with a single email — the original sharing flow hasn't gone anywhere. The difference is what the recipient gets:
| Action | What the recipient sees |
|---|---|
| Share an app to an email | That one tool, in their “Shared with me” list. |
| Invite to a Space | The Space (with chat) plus every tool currently attached to it. Add a new tool later and they get it automatically, no fresh invite needed. |
Roles
Spaces have two roles. They're deliberately simple — no admin tier, no per-tool permissions, no granular ACLs.
- Owner. The person who created the Space. Can rename it, attach or remove tools, invite or kick members, transfer ownership to another member, or delete the Space entirely.
- Member. Can read and write chat, open any attached tool, see the member list, leave the Space at any time.
Owners can't leave a Space that has other members — there'd be no one to own it. The platform asks you to transfer ownership first, or delete the Space outright.
What about my data?
Tool data lives on the same scope prefixes a tool always uses: personal: (private per viewer), shared: (shared with the group), and public: (visible to anyone). Attaching a tool to a Space gives the Space's members access to the tool; the tool itself doesn't change how it stores data.
shared: data is what makes a tool participate in its Space. A Space is backed by a share group, so a tool attached to a Space keeps its shared: data scoped to that Space's members automatically — and that's the data the @ellivate chat agent reads and writes when a member asks it to do something. The same tool sitting in two different family/team Spaces keeps each Space's shared: state separate without you doing anything; the share group is the isolation boundary. There's no separate space: scope to learn.
personal: data is invisible to the Space: it's private to each viewer, so the @ellivate agent and other members never see it. If you want the agent (or the group) to be able to act on something, put it under shared:.
What's shipping next
Phase 1 is just the container — chat + tool list. The interesting parts are in Phase 2:
- Tool cards in chat. When a tool sends a push, it shows up as a card in the Space (RSVPs, completions, reminders).
@toolnamementions. Type@groceryin chat to see actions the tool exposes, pick one inline, and have it open the tool with your action pre-filled.@assistant. A built-in helper that can read the Space's chat and attached tools' data, and answer questions across them.
Each of those ships behind its own usage gate — we're watching whether Spaces actually replaces the go-to-iMessage-to-coordinate behavior before we layer on more surface.
Related
- Create a Space — walkthrough.
- Sharing & invites — the per-app share flow Spaces extends.
- Notifications — what shows up in chat when a tool calls
ellivate.notify(...)(Phase 2).