Everything you need to ship
34 features, shipped and tested, not a roadmap.
Auth & Access
Authentication
Passwordless OTP and magic-link sign-in via better-auth, plus optional Google/GitHub/GitLab/Bitbucket OAuth.
Admin panel
User management, impersonation, and access control at /dashboard/admin, guarded and audit-logged.
API keys
Per-user API key management. Keys are hashed (SHA-256) and plan-limited, never stored in plaintext.
Feature flags
Runtime toggles managed from the admin panel, no redeploy needed to turn a feature on or off.
Billing & Money
Stripe billing
Checkout, customer portal, and webhook handling end-to-end. Subscriptions and one-time purchases.
Credits system
Per-call metering with atomic deduction, credit balance never goes below zero under concurrent use.
File uploads
S3-backed presigned uploads straight from the browser, plan-limited, metadata in per-user SQLite.
Data & Architecture
Per-user SQLite
Every user gets their own isolated database file. No shared schema, no row-level security to write.
Typed error handling
Every server function returns Result<T>, not a thrown exception. Errors are values you check.
Domain events
In-process typed event bus for decoupled side effects: emails, jobs, webhooks, all typed end to end.
Durable operations
Multi-step flows touching Stripe, S3, or the filesystem resume correctly if the server dies mid-operation.
Database migration path
Documented upgrade path from local SQLite to Turso, PostgreSQL, or MySQL when you outgrow it.
User Experience
Notifications
In-app notification bell backed by per-user SQLite, mark-read and mark-all-read built in.
Notification preferences
Per-user granular control over which notification types they receive.
Sidebar preferences
Per-user control over which dashboard navigation items are visible.
Onboarding wizard
Multi-step flow shown to new users after signup, easy to extend with new steps.
GDPR export + deletion
Durable, crash-safe account deletion and full data export, built in from day one.
Audit log
Read-only event viewer so users can see their own account activity.
Feature requests
Shared voting board where any authenticated user can propose and upvote ideas.
Notes
Reference CRUD feature showing the full pattern: simple per-user note management.
Integrations grid
Static card grid for third-party services users can connect to.
AI chat
Full AI chat at /chat with per-user SQLite history, streaming via OpenRouter or on-device.
Growth & Compliance
SEO utilities
Centralized meta tags and structured data helpers so every page is search-ready.
Blog
Static blog rendering Markdown or JSON posts via content-collections.
Lead capture
A ready endpoint and drop-in form for collecting emails before you launch.
Cookie consent
GDPR-style consent banner, toggled from the admin panel, no redeploy needed.
Email validation
Blocks disposable addresses and optionally checks MX records at signup.
Captcha
Optional Cloudflare Turnstile on public forms: login, signup, lead capture.
Dev Experience
Background jobs
SQLite-backed queue with retries, dead-letter handling, and graceful shutdown. Survives restarts.
Transactional email
React Email components, Resend by default, SMTP/Nodemailer as a drop-in swap.
Observability
Sentry error tracking on client and server, one env var to enable.
Theming
Full look and feel lives in two CSS blocks. Swap the palette, no component edits.
UI components
shadcn/ui pre-configured and fully owned in your repo, no package to update.
E2E testing
Playwright browser tests covering full user flows, ready for local development.