Valcraven Docs
Features

Features

The batteries-included capabilities that ship with the Valcraven template, and where each one lives in the code.

Features

Valcraven ships as a working SaaS app, not an empty skeleton. Every feature below is already wired end to end — auth, database, admin panel, billing, AI, email, and real-time are all in the box. This section documents each one: what it is, how to use it, how to configure it, and the gotchas worth knowing before you build on top.

Start with the feature closest to what you're building, then follow the cross-links. Most pages point at the exact files in apps/web/lib/* and apps/web/app/** so you can jump straight to the source.

  • Authentication — Better Auth: email/password, OAuth (Google/GitHub/Apple), two-factor, session cookies, and the user table with custom fields.
  • AI chat — A built-in Claude-powered chat assistant with streaming, conversation persistence, and customizable system prompts.
  • Voice — Speech-to-text (Web Speech API) and text-to-speech (ElevenLabs) layered on top of the chat experience.
  • Email — Transactional email (welcome, verification, password reset) via Cloudflare Email, with open/click tracking.
  • Campaigns — Admin-driven email marketing: audiences, queued and scheduled sends, and delivery tracking.
  • API keys — Per-user developer API keys (sk_…) with scoped permissions, hashed at rest, for programmatic access to your API.
  • Caching — Workers Cache for public routes plus OpenNext incremental cache, with a security guard that never caches authenticated responses.
  • Realtime — A pub/sub channel system on a dedicated Cloudflare Worker (Durable Objects) for live updates over WebSocket.
  • Admin panel — The /admin dashboard: user management, RBAC, audit log, impersonation, and a database browser.
  • Billing — Stripe subscriptions, checkout, the customer portal, webhooks, and plan gating.
  • Storage and files — File uploads backed by Cloudflare R2 (S3-compatible) object storage.
  • Notifications — In-app notifications with the header NotificationBell and a per-user notification feed.
  • Webhooks — Outbound webhook delivery so your app can notify external systems of events.
  • Waitlist — A public waitlist capture form with admin review and approval.
  • Feature flags — Runtime feature toggles (including maintenance mode) evaluated in server code and middleware.
  • Search — Full-text search over your data using SQLite FTS5.
  • Theming — Light/dark mode with a ThemeToggle, driven by the useTheme hook.

On this page