diff --git a/docs/references/remix/spa-mode.mdx b/docs/references/remix/spa-mode.mdx
index a761811115..81a01735e0 100644
--- a/docs/references/remix/spa-mode.mdx
+++ b/docs/references/remix/spa-mode.mdx
@@ -30,14 +30,12 @@ Once you have a Remix application ready, you need to install Clerk's Remix SDK.
```
-### Configure `ClerkApp` with your publishable key and options
+### Configure `ClerkApp` with your Publishable key
-Clerk provides a `ClerkApp` wrapper to provide the authentication state to your React tree.
-
-Also, you will need your publishable key which can be found in the Clerk Dashboard on the [API Keys](https://dashboard.clerk.com/last-active?path=api-keys) page.
+Clerk provides a `ClerkApp` wrapper to provide the authentication state to your React tree. Also, you will need your Publishable key which can be found in the Clerk Dashboard on the [API Keys](https://dashboard.clerk.com/last-active?path=api-keys) page.
-You will not need the secret key in Remix SPA mode, as it should never be used on the client side.
+You will not need the Clerk Secret Key in Remix SPA mode, as it should never be used on the client side.
```tsx {{ filename: 'app/root.tsx' }}
@@ -73,6 +71,12 @@ export default ClerkApp(App, {
});
```
+### Build your own sign-in and sign-up pages
+
+In addition to the [Account Portal pages](/docs/account-portal/overview), Clerk also offers a set of [prebuilt components](/docs/components/overview) that you can use instead to embed sign-in, sign-up, and other user management functions into your Remix application. We are going to use the ` `and `` components by utilizing the Remix optional catch-all route.
+
+The functionality of the components are controlled by the instance settings you specify in your [Clerk Dashboard](https://dashboard.clerk.com).
+
#### Build your sign-up page
```tsx filename="app/routes/sign-up.$.tsx"