Set up AscendKit and add it to your app in under 10 minutes.
Getting Started
AscendKit gives your app authentication, analytics, email templates, surveys, and user journeys — configured from the CLI or AI coding agents, not hardcoded.
Framework support
| Framework | Auth | Components | Analytics | Webhooks |
|---|---|---|---|---|
| Next.js 14+ | Full (server + client) | Pre-built UI | Client + server | Server |
| React (Vite, Remix, Astro) | Client hooks only | Pre-built UI | Client only | — |
| FastAPI | Token verification | — | Server | Server |
| Flask / Django | Token verification | — | Server | Server |
| Any Python | Token verification | — | Server | Server |
The JavaScript SDK package is @ascendkit/nextjs. React hooks and components work in any React framework, but the server-side auth runtime (session management, OAuth callbacks) requires Next.js today. Python backends use the ascendkit package for token verification and webhooks with any framework.
Setup sequence
Follow these steps in order:
1. Create an account
Sign up at the AscendKit portal. When you sign up, AscendKit creates your first project with a dev environment pre-loaded with starter content:
- An onboarding journey with a welcome flow and common lifecycle triggers
- Email templates for verification, welcome, and password reset
- A starter NPS survey
Your dev environment is fully functional with no restrictions — use it for local testing or ship it to customers as-is. Review and personalize the starter content whenever you're ready.
2. Install the CLI and SDK
See Installation for OS-specific instructions and prerequisites.
3. Initialize the CLI
In your app's root directory:
ascendkit init
This opens a browser window for authentication and saves credentials locally. Then link to your development environment:
ascendkit set-env pk_dev_your_public_key
This writes your API URL, public key, and secret key into .env/.env.local, and includes an APP_URL= placeholder. We recommend setting it to your app's origin (e.g., APP_URL=http://localhost:3000) to avoid social login callback issues. See CLI Setup for details.
4. Review & configure
Your dev environment comes with starter content that works out of the box. Use the CLI or portal to review and personalize it — no code changes needed.
Review your starter content
- Email Templates — customize the verification, welcome, and password reset emails for your brand
- User Journeys — adjust triggers and content in the onboarding journey to match your product's flow
- Surveys — edit the starter NPS survey or create CSAT and custom surveys
Set up your own identity
Starter defaults use AscendKit's shared infrastructure so you can get started immediately. Before going to production, set up your own:
- Email sending domain — Starter emails send from AscendKit's address. To send as your brand, verify a custom domain (DKIM/SPF) and create email identities for your sender addresses.
- OAuth credentials — Social logins (Google, GitHub, LinkedIn) work immediately through AscendKit's shared OAuth proxy. For production, we strongly recommend registering your own OAuth apps with your own client ID and secret — this gives you full control over consent screens, branding, and rate limits.
- Webhooks — configure endpoints to receive user lifecycle events in your backend
- Analytics — track every visitor from first page view through signup with automatic identity stitching and attribution
- Analytics CLI — query visitor traffic, acquisition sources, and conversion metrics from the terminal
Configuration is live — you can update templates, journeys, surveys, and auth settings at any time without redeploying your app.
5. Integrate with your app
Add the SDK to your codebase. The setup differs by framework:
- Next.js: Next.js Integration — auth runtime, provider, pre-built UI components
- Python backend: Python SDK — token verification, webhook handling
Adding environments
Your dev environment is all you need to get started — it's fully functional for both local development and production use. When you're ready to separate environments (e.g., a dedicated production environment with its own data and keys), use the promote command:
ascendkit environment promote --target prod
This copies all your configuration, templates, journeys, and surveys into the new environment. The only change in your app is swapping the environment key — replace your pk_dev_... key with the new pk_prod_... key, and everything works the same way.
Multiple environments are available on the Launch and Scale tiers.
Architecture
Your App (Next.js / React / Python)
└── AscendKit SDK
└── AscendKit Backend API
├── Auth (credentials, OAuth, magic link, waitlist)
├── Analytics (pageviews, attribution, identity stitching)
├── Email (templates, domain verification)
├── Surveys (NPS, CSAT, custom)
└── Journeys (lifecycle automation)
CLI / Portal
└── AscendKit Backend API (same)
The SDK runs inside your app and talks to the AscendKit backend. The CLI and portal configure that same backend. Your app code doesn't change when you toggle providers, update templates, or create surveys.
AI-assisted integration
If you're using an AI coding assistant (Cursor, Copilot, Claude, ChatGPT, etc.), point it at the machine-readable docs:
- llms.txt — quickstart with code examples, plus links to each doc page. Best for most AI tools.
- llms-full.txt — all documentation in a single file. Use when your AI has a large context window or you want the complete reference.