developer-signup-flow
Developer Signup Flow
Create signup experiences that respect developers' time and get them to code as fast as possible.
Overview
Developer signup is your first chance to demonstrate that you understand developers. Every unnecessary form field, every extra click, every "verify your email before continuing" is a message that you don't value their time. The best developer signups feel like they barely exist—developers go from "I want to try this" to "I'm writing code" in under 60 seconds.
This skill covers OAuth integration, API key generation UX, progressive profiling, and measuring what actually matters in signup conversion.
Before You Start
Review the /devmarketing-skills/skills/developer-audience-context skill to understand your target developer segments. Signup optimization varies significantly based on whether you're targeting hobbyists exploring on weekends versus enterprise developers evaluating tools for their company.
OAuth Options That Work
The GitHub-First Approach
For developer tools, GitHub OAuth should be your primary option. Here's why:
- Identity verification built-in - Active GitHub accounts have commit history, repos, and social proof
- Scope familiarity - Developers understand GitHub's permission model
- Profile data - You get username, email, and can infer experience level from public activity
- Trust signal - GitHub is where developers already live
Good implementation (Vercel):
- Single "Continue with GitHub" button dominates the page
- Email option available but secondary
- No password creation required
- Immediate redirect to dashboard after OAuth
Bad implementation:
- GitHub, Google, Twitter, LinkedIn, Email, and "Sign up with phone" all given equal prominence
- Requires email verification even after GitHub OAuth
- Asks for additional profile information before showing dashboard
OAuth Option Hierarchy
Prioritize based on your audience:
| Audience | Primary | Secondary | Avoid |
|---|---|---|---|
| Open source developers | GitHub | Google Workspace | |
| Startup developers | GitHub | Enterprise SSO | |
| Enterprise developers | SSO/SAML | Google Workspace | Social logins |
| Data scientists | GitHub | ||
| Mobile developers | GitHub |
Google OAuth Considerations
Google OAuth works well when:
- Your tool integrates with Google Cloud services
- You're targeting Android developers
- Your audience includes non-technical stakeholders (product managers, designers)
Google OAuth fails when:
- Developers use personal Gmail but need to sign up with work identity
- Your tool has no Google ecosystem integration
- You require Google Workspace-specific scopes
Email Signup: When It Makes Sense
Email+password signup should exist but not dominate. It serves:
- Developers in enterprise environments that block OAuth
- Privacy-conscious developers who limit third-party access
- Situations where GitHub/Google accounts don't reflect professional identity
If you support email signup:
- Allow signup with just email—send magic link, don't require password creation
- Never require email verification before showing the dashboard
- Offer "Set password later" for developers who prefer magic links
Reducing Form Fields
The Zero-Field Ideal
The best signup has zero custom fields. Everything you need comes from OAuth:
- Name (from OAuth profile)
- Email (from OAuth profile)
- Username/handle (from GitHub username)
- Avatar (from OAuth profile)
When You Must Ask Questions
If you genuinely need information, defer it:
Bad: Blocking signup
Create Account
- Email
- Password
- Company Name (required)
- Role (required)
- Team Size (required)
- How did you hear about us? (required)
[Create Account]
Good: Progressive collection
Continue with GitHub
[Immediate dashboard access]
[Later, contextually in dashboard]
"To customize your experience, what are you building?"
[ ] API/Backend
[ ] Web app
[ ] Mobile app
[ ] Data pipeline
[Skip for now]
Field Elimination Checklist
For each field you want to add, answer:
- Can we infer this from OAuth profile data?
- Can we infer this from behavior after signup?
- Can we ask this later when context makes it relevant?
- What decision does this field enable that can't wait?
- What's the conversion cost of this field?
Research suggests each additional required field reduces conversion by 5-10%.
API Key Generation UX
Immediate Key Generation
Developers sign up to write code. Show them an API key immediately.
Good implementation (Stripe):
- OAuth complete
- Dashboard shows test API keys immediately
- Keys are visible and copyable without extra clicks
- "Reveal" pattern for production keys, not test keys
Bad implementation:
- OAuth complete
- "Welcome! Complete your profile to get started"
- Profile form required
- "Create your first project" wizard
- Project settings page
- "Generate API key" button
- Finally see a key
Key Display Best Practices
Your API Key
sk_test_xxxxxxxxxxxxxxxxxxxx [Copy]
[Show in cURL example] [Show in SDK example]
- Show key in monospace font
- Include one-click copy button
- Show key in context (code example)
- Test keys visible by default
- Production keys behind "reveal" click
- Never require downloading keys to a file
Multiple Keys and Key Management
Wait until developers need this. First-time signup should show one key.
Introduce key management when:
- Developer creates a second project
- Developer invites team members
- Developer asks about key rotation
Onboarding Personalization
Use-Case Based Paths
Ask one question, then customize the experience:
Question (shown post-signup, skippable): "What are you building?"
- Integrate with an existing app
- Build something new
- Evaluate for my team
- Just exploring
Path customization:
| Selection | Dashboard emphasis | First CTA | Docs default |
|---|---|---|---|
| Integrate existing | SDKs and integrations | "Install SDK" | Integration guides |
| Build new | Quickstart tutorial | "Start tutorial" | Getting started |
| Evaluate for team | Pricing and features | "Book demo" | Use cases |
| Just exploring | Interactive playground | "Try playground" | API reference |
Framework/Language Detection
If GitHub OAuth is used, check public repos for language patterns:
Primary language: Python (45% of repos)
Also uses: JavaScript (30%), Go (15%)
→ Show Python SDK first in docs
→ Default code examples to Python
→ Suggest Python quickstart
Behavioral Personalization
After signup, track and adapt:
| Behavior | Adaptation |
|---|---|
| Copies cURL example | Show more cURL, less SDK |
| Views pricing page early | Surface free tier limits in dashboard |
| Creates multiple projects | Suggest team features |
| Frequent docs visits | Add "Stuck?" help widget |
Progressive Profiling
What to Collect and When
Signup (OAuth only):
- Name, email, avatar (from OAuth)
First session (optional, in-context):
- Primary use case (one click)
- Preferred language (inferred or one click)
After first API call:
- Company name (for enterprise features)
- Team size (for collaboration features)
After hitting free tier limits:
- Phone number (for billing)
- Billing address (for invoicing)
After upgrade:
- Full company profile (for account management)
- Industry/vertical (for case studies)
Making Progressive Profiling Feel Natural
Bad: Random popup
[Popup after 3 days]
Help us serve you better!
Company: ___
Role: ___
Team size: ___
How did you hear about us: ___
Good: Contextual ask
[When developer invites first team member]
To set up your team workspace, what should we call it?
Company/Team name: ___
[When developer hits rate limit]
To increase your rate limit, we need to verify your account:
Phone: ___
Measuring Signup Conversion
Primary Metrics
Signup start rate
- Visitors who click "Sign up" or "Get started"
- Benchmark: 5-15% of landing page visitors
Signup completion rate
- Users who complete OAuth or form submission
- Benchmark: 70-90% of signup starts (for OAuth)
- Benchmark: 30-50% of signup starts (for forms)
Time to signup
- Seconds from signup click to dashboard
- Benchmark: <30 seconds for OAuth, <60 seconds for forms
Activation Metrics (Post-Signup)
API key copy rate
- Users who copy their API key
- Benchmark: 60-80% within first session
First API call rate
- Users who make at least one API call
- Benchmark: 30-50% within first 24 hours
Time to first API call
- Minutes from signup to first API call
- Benchmark: <10 minutes for well-designed onboarding
Funnel Analysis
Track the complete funnel:
Landing page visitors: 10,000
├── Clicked signup: 1,000 (10%)
├── Completed signup: 800 (80% of clicks)
├── Copied API key: 600 (75% of signups)
├── First API call: 300 (50% of key copies)
└── Second day return: 150 (50% of first call)
Identify where developers drop off and why:
- OAuth permission screen abandonment
- Email verification delays
- Confused by dashboard
- Can't find API key
- First API call failed
A/B Testing Priorities
Test in this order (highest impact first):
- Number of OAuth options shown
- Form field count
- Email verification timing
- API key placement on dashboard
- Default quickstart language
- Welcome email timing
Examples from Real Developer Tools
Excellent Signup: Vercel
- "Continue with GitHub" dominates
- OAuth completes in one click
- Immediate dashboard with import options
- No questions asked
- First deploy possible within 60 seconds
Excellent Signup: Stripe
- Email-based but minimal
- No email verification before dashboard
- Test API keys visible immediately
- Guided setup optional
- Clear test vs production modes
Poor Signup: [Common Patterns to Avoid]
- "Complete your profile" blocking dashboard access
- Email verification required before seeing anything
- Required company name and team size
- Mandatory phone verification
- "Create your first project" wizard that can't be skipped
- API keys hidden behind multiple navigation clicks
Tools
Analytics and Testing
- Amplitude/Mixpanel - Funnel analysis and cohort tracking
- LaunchDarkly/Split - A/B testing OAuth flows
- FullStory/LogRocket - Session replay for signup debugging
- Customer.io/Intercom - Onboarding email sequences
Authentication Providers
- Auth0 - Full-featured but adds complexity
- Clerk - Developer-focused, good defaults
- WorkOS - Enterprise SSO when you need it
- Supabase Auth - Simple, open source option
- Firebase Auth - Good for mobile-first
API Key Management
- Unkey - API key management as a service
- Custom - Most developer tools build their own
Related Skills
/devmarketing-skills/skills/developer-onboarding- What happens after signup/devmarketing-skills/skills/developer-audience-context- Understanding who's signing up/devmarketing-skills/skills/free-tier-strategy- What they're signing up for