Projects are a way for your team to organize and group features. It is recommended to have one project per application or service since each project has its own set of environments, features, and properties.

Projects 2x

Why have multiple projects?

If your company has a web application, an iOS application, and an Android application, you probably want three different projects:

  • Each app has access to different data to segment users: on mobile apps you have access to OS specific data like a device ID, and on the web you have access to cookies and browser specific information.
  • You probably have a completely different set of features you want to control on each application.
  • The environments are probably different too (staging, production, etc.).
  • Different teammates are working on different projects
  • You can have different process and constraints for each project

When not to create a new project


You should not create a new project just to have another environment (production, staging, locale...), domain name, app version... you can simply add a property to the context instead.

Doing so will allow you to write your flags only once and reuse them across all your environments / domains. You will be able to conditionally enable each flag for a specific domain, environment or app version.