I see you chose Clerk for Auth. I really wanted to like Clerk. I found that they worked great when using their tools out-of-the-box - quick, easy, and they work. But once I started customizing the React components they became difficult to work with and buggy. Maybe it was all my fault, and I wasn't doing things correctly, but that just supports the statement that they aren't easy to work with.
That is the catch with pre-built stacks like this - they all look great when you put together a simple example with them, but the quirks of each piece compound on each other. Once your app reaches any level of complexity, you need actual expertise in each piece of the puzzle. When you fight one or two pieces that are new to you, much of the benefit of having the full stack handed to you is burned away.
We actually have a huge initiative at Clerk with what we're calling "Elements" which gives a you "radix-like" way to build up the UIs, for significantly easier customization - especially when you're trying to go completely custom. The default modals will always be easier to use, and we're simultaneously working on getting better customization there.
Here's an example building a "Sign up" modal in the shadcn style.
It is an interesting start. OrgProfile is going to be what makes or breaks such an effort, IMO. Building a single Org Admin UX for auth data as well as app data is the key - I want pre-built UI for managing and inviting users, but then want to easily add to that UI to include other org-specific configurations and view the org's data. If you land in a place where that is easy to do, I'd definitely reconsider Clerk for future projects, as I really do like the idea of what Clerk can deliver.
I didn't get the change to customize the default and built-in components from Clerk. So, it's hard for me to share any experience. But, I know you can do little customization using https://clerk.com/docs/components/customization/overview and play with CSS and Tailwind CSS. Maybe, for complex customization, it's preferable to not use the pre-built components and build it yourself.
Currently, I just feel the default UI from Clerk works good with Shadcn UI, both works great together. Definitively not perfect but do a great to job for a solo developer or for a small team.
And, I mostly using for advanced authentication features like user impersonation, multi-tenancy, roles & permission.
That is the catch with pre-built stacks like this - they all look great when you put together a simple example with them, but the quirks of each piece compound on each other. Once your app reaches any level of complexity, you need actual expertise in each piece of the puzzle. When you fight one or two pieces that are new to you, much of the benefit of having the full stack handed to you is burned away.