Upon getting started with a self-hosted install I wanted to create a new project. I selected the drop-down at the top and selected "Create a new project".

<img width="403" alt="Screen Shot 2021-06-29 at 11 12 24" src="https://user-images.githubusercontent.com/328367/123799033-b28fb080-d8df-11eb-8423-40d7b978af1b.png">

This then took me through a flow to request a license.

https://user-images.githubusercontent.com/328367/123798516-27aeb600-d8df-11eb-873d-826e13e4e224.mp4

After chatting to @marcushyett-ph I realised that there's a banner at the top of the page that has a "Go to setup" CTA that lets me create a new project. I'm a little embarrassed that I didn't notice this 😊 But I'm assuming other people may not see it either or just see it as some sort of success banner.

<img width="1311" alt="Screen Shot 2021-06-29 at 11 12 45" src="https://user-images.githubusercontent.com/328367/123798988-a6a3ee80-d8df-11eb-9e1d-88aa1e23a7f8.png">

Could the top drop-down also let me go through this flow? Could this result in people failing to get started and instead thinking they have to request a license?

## Describe the solution you'd like

Could the top project drop-down be aware of the context of the user: that they have not yet created their first project? And if that's the case then run them through the setup process?

posthog/api/organization.py
"""
    Signup serializer when the account is created using social authentication.
    Pre-processes information not obtained from SSO provider to create organization.
    """
    organization_name: serializers.Field = serializers.CharField(max_length=128)
    email_opt_in: serializers.Field = serializers.BooleanField(default=True)
    def create(self, validated_data, **kwargs):
        request = self.context["request"]
        if not request.session.get("backend"):
            raise serializers.ValidationError(
                "Inactive social login session. Go to /login and log in before continuing.",
            )
        request.session["organization_name"] = validated_data["organization_name"]
        request.session["email_opt_in"] = validated_data["email_opt_in"]
        request.session.set_expiry(3600)  
        return {"continue_url": reverse("social:complete", args=[request.session["backend"]])}
    def to_representation(self, instance: Any) -> Any:
        return self.instance
class OrganizationSignupViewset(generics.CreateAPIView):
    serializer_class = OrganizationSignupSerializer
    
    permission_classes = (permissions.AllowAny,) if settings.E2E_TESTING else (UninitiatedOrCloudOnly,)
class OrganizationSocialSignupViewset(generics.CreateAPIView):
    serializer_class = OrganizationSocialSignupSerializer
    permission_classes = (UninitiatedOrCloudOnly,)
class OrganizationInviteSignupSerializer(serializers.Serializer):
    first_name: serializers.Field = serializers.CharField(max_length=128, required=False)
    password: serializers.Field = serializers.CharField(required=False)
    email_opt_in: serializers.Field = serializers.BooleanField(default=True)
    def validate_password(self, value):