StudyStudio
Local Environment

Authentication

Configure Better Auth and seed your admin account

StudyStudio authenticates users with Better Auth running inside Convex. The auth component is configured in convex/auth.ts and exposes routes at /api/auth/*.

Set the Auth Secret

In .env.local, set BETTER_AUTH_SECRET to a strong random value:

openssl rand -base64 32

Paste the output as BETTER_AUTH_SECRET in your .env.local.

Configure Resend for Emails

Email verification and password reset emails are sent through Resend. Set RESEND_API_KEY and RESEND_SENDER_EMAIL (see the Resend step). Without these, verification emails cannot be delivered.

Start the App and Seed the Admin

With Convex running, start the Next.js app (pnpm dev) and visit:

http://localhost:3000/en/admin/login

Click Initialize to seed the default admin account (admin@studystudio.local / admin123) and mark its email as verified. Sign in with these credentials to open the admin panel.

Change the default admin password after your first sign-in from the admin Settings page.

Create and Verify Users

Users sign up with email + password or Google. Email verification is required. To test a new user, register from the login page and click the verification link sent to the inbox (or use a throwaway email service while testing locally).

StudyStudio scopes every notebook, source, message, and study tool to its owner via an ownerTokenIdentifier, so each student's data stays private - including per-user chat threads even when a notebook is shared publicly.

On this page