Concepts
How Soffi works
Verified against Soffi ·
Soffi is organized in three levels. Your company has an Organization. Inside it, each app you run in Soffi is a Project, set up once. Every piece of work on that app happens in its own Workspace, and many Workspaces run from one Project at the same time.
Project
Your app, set up once.
- web
- admin panel
- design system
Workspace
Pricing table
Preview
Ship- Pull requestweb
- Pull requestdesign system
Workspace
Empty state
Preview
Ship- Pull requestweb
Workspace
Search filters
Preview
Ship- Pull requestweb
- Pull requestadmin panel
Organization
The Organization is your team's home in Soffi: one address (for example acme.soffi.ai), one set of members, and one billing relationship. Everyone you invite joins the Organization with a role, and that role decides what they can do in every Project and Workspace inside it. See Roles and permissions.
Most teams have one Organization with one Project. A company with several separate brands or products may choose to keep them in separate Organizations.
Project
A Project is the blueprint for running one app in Soffi: which repositories it uses, how to start it, its environment variables, and, if your backend can't be reached from Soffi, a Data Twin that stands in for it. A Project can span several repositories, such as your primary repo, an admin panel, and your design system.
An Admin sets a Project up once, usually through Build my app during onboarding, where Soffi reads your repositories and gets the app running. When the setup looks right, the Admin publishes the Project, and from then on every Editor in the Organization can start Workspaces from it. Nobody else has to repeat the setup.
Workspace
A Workspace is one unit of work, about the size of a pull request. Each Workspace has its own copy of your app running at its own address, so what you change there doesn't affect anyone else's work. Inside it you edit the live app with the Style Editor, leave comments, work in the code, and have Soffi, the agent in every Workspace, make changes for you.
Several people can work in the same Workspace together. When the work is ready, you Ship it, and Soffi opens one pull request for each repository the Workspace changed. A Workspace can also be opened from a pull request someone already raised, and then Ship pushes to that pull request instead. See From Workspace to pull request.
How they relate
The Project is set up once, and Workspaces are cheap. Ten people can each start their own Workspace from the same Project on the same morning, and each one gets its own running app with the Project's setup already in place. Because every Workspace starts from the published setup, an improvement an Admin makes to the Project, such as a new environment variable or a better Data Twin, reaches every Workspace started after it's saved.
Your repositories stay the source of truth throughout. Soffi works on branches and delivers changes as pull requests, and your existing review, CI, and merge process decides what reaches production.