BetterStarter logoBetterStarter
Features

User Management

Admin panel, user roles, and impersonation powered by Better Auth.

Docs are in beta — content is improving rapidly. Found something missing? Open an issue on GitHub or reach out on Twitter.

BetterStarter includes a full admin panel for managing users and their access.

What's Included

  • Admin panel at /admin — view all users, manage roles, manage billing
  • Rolesuser (default) and admin
  • Impersonation — admins can sign in as any user to debug issues
  • Impersonation banner — visible banner shown when impersonating a user

Roles

Every user has a role field (added by Better Auth's admin plugin):

RoleAccess
userStandard access
adminAccess to /admin, can manage users, can impersonate

To make a user an admin, update their role in the admin panel or directly in the database.

Protecting Admin Routes

const loader = async () => {
  const user = await getCurrentUser()
  if (user?.role !== 'admin') {
    throw notFound()
  }
  return { user }
}

Impersonation

Admins can impersonate any user from the admin panel. While impersonating:

  • A yellow banner is shown at the top of the app
  • All actions are performed as the impersonated user
  • Click Stop Impersonating in the banner to return to your own session

This is useful for debugging user-reported issues without needing their credentials.

Account Page

Users manage their own profile and connected accounts at /account.

On this page