PageSourceSearch

https://app.afterspark.ai/signup

html afterspark.ai collected 2026-10-02 01:10:32 UTC 10,895 bytes, 268 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4  <meta charset="UTF-8">
5  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6  <title>afterSpark | B2B Intelligence Platform</title>
7  <meta name="description" content="afterSpark reveals companies and turns intent signals into action with APIs, IP address unmasking, and firmographic data to power smarter workflows.">  <meta name="robots" content="noindex, nofollow">
8
9  <!-- Inter font -->
10  <link rel="preconnect" href="https://fonts.googleapis.com">
11  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
13
14  <!-- Lucide icons (CDN) -->
15  
15<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
15
16
17  <!-- Auth styles -->
18  <link rel="stylesheet" href="/css/auth.css?v=1785541930">
19  <link rel="icon" type="image/x-icon" href="/img/favicon.ico">
20  <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32.png">
21  <link rel="apple-touch-icon" href="/img/apple-touch-icon.png">
22</head>
23<body>
24<script>(function(){var t=localStorage.getItem('as_theme');if(t)document.body.dataset.theme=t;})();</script>
24
25
26<main class="auth-page">
27
28  <!-- Logo -->
29  <header class="auth-header">
30    <a href="/login" class="auth-logo">
31      <img
32        src="/img/afterSpark-logo-long-black.png"
33        alt="afterSpark"
34        class="auth-logo-img"
35      >
36    </a>
37  </header>
38
39  <!-- Pass signup session state to JS -->
40  
40<script>
41  window.__signupState = {
42    verifiedReturn:  false,
43    emailVerified:   false,
44    email:           "",
45    step:            0,
46    suggestedDomain: ""  };
47  </script>
47
48
49  <div class="auth-card" data-redirect="">
50
51    <!-- Step progress indicator -->
52    <div class="step-indicator" aria-label="Signup progress">
53      <div class="step-dot active" data-step="1" aria-label="Step 1: Email">1</div>
54      <div class="step-line"></div>
55      <div class="step-dot" data-step="2" aria-label="Step 2: Profile">2</div>
56    </div>
57
58    <!-- ── Step 1: Email ─────────────────────────────────── -->
59    <div class="step-panel active" id="step-1">
60      <h1 class="auth-title">Create your account</h1>
61      <p class="auth-subtitle">Start with your work email — it only takes a minute.</p>
62
63      <div id="alert-step1" class="alert"></div>
64
65      <div class="form-group">
66        <label for="email">Work email</label>
67        <input
68          type="email"
69          id="email"
70          name="email"
71          placeholder="[email protected]"
72          autocomplete="email"
73          required
74        >
75        <div class="field-error" id="email-error"></div>
76      </div>
77
78      <div class="terms-row">
79        <input type="checkbox" id="terms" name="terms">
80        <label for="terms">
81          I agree to the <a href="https://afterspark.ai/terms" target="_blank" rel="noopener">Terms of Use</a>
82          and <a href="https://afterspark.ai/privacy" target="_blank" rel="noopener">Privacy Policy</a>
83        </label>
84      </div>
85
86      <button class="btn btn-primary-glow" id="btn-step1" type="button">
87        <span class="btn-text">Create Account</span>
88        <span class="spinner" aria-hidden="true"></span>
89      </button>
90
91      <p class="auth-footer">
92        Already have an account? <a href="/login">Sign in</a>
93      </p>
94    </div>
95
96    <!-- ── Step Verify: Check inbox ───────────────────────── -->
97    <div class="step-panel" id="step-verify">
98      <div class="verify-screen">
99        <div class="verify-icon-wrap">
100          <i data-lucide="mail" style="color:#ff9933;width:28px;height:28px;"></i>
101        </div>
102        <h2 class="auth-title">Check your inbox</h2>
103        <p class="auth-subtitle">
104          We sent a verification link to<br>
105          <strong class="verify-email-address" id="verify-email-display"></strong>
106        </p>
107
108        <div style="height:52px;" aria-hidden="true"></div>
109
110        <p class="text-muted mt-12">
111          Didn't receive it? Check your spam folder or
112          <button class="btn-link" onclick="authShowPanel('step-1', true)">go back</button>.
113        </p>
114      </div>
115    </div>
116
117    <!-- ── Step 2: Profile ────────────────────────────────── -->
118    <div class="step-panel" id="step-2">
119      <h2 class="auth-title">Tell us about yourself</h2>
120      <p class="auth-subtitle">We'll personalize your experience based on these details.</p>
121
122      <div id="alert-step2" class="alert"></div>
123
124      <!--
125        Hidden username hint: tells password managers (Google, 1Password, etc.)
126        that the email address is the account username — not the phone number below.
127        Visually hidden but present in the DOM so password managers read it.
128      -->
129      <input
130        type="email"
131        name="_username_hint"
132        autocomplete="username"
133        value=""
134        style="opacity:0;position:absolute;height:0;width:0;pointer-events:none;border:0;padding:0;"
135        aria-hidden="true"
136        tabindex="-1"
137      >
138
139      <div class="form-row">
140        <div class="form-group">
141          <label for="firstName">First name</label>
142          <input type="text" id="firstName" name="firstName" placeholder="Jane" autocomplete="given-name" required>
143          <div class="field-error"></div>
144        </div>
145        <div class="form-group">
146          <label for="lastName">Last name</label>
147          <input type="text" id="lastName" name="lastName" placeholder="Smith" autocomplete="family-name" required>
148          <div class="field-error"></div>
149        </div>
150      </div>
151
152      <div class="form-group">
153        <label for="companyDomain">Company domain <span class="optional">(optional)</span></label>
154        <input type="text" id="companyDomain" name="companyDomain" placeholder="company.com" autocomplete="organization"
155               value="">
156        <div class="field-error"></div>
157      </div>
158
159      <div class="form-group">
160        <label for="phone">Phone <span class="optional">(optional)</span></label>
161        <input type="tel" id="phone" name="phone" placeholder="+1 (555) 000-0000" autocomplete="off">
162        <div class="field-error"></div>
163      </div>
164
165      <div class="form-group">
166        <label for="password">Password</label>
167        <div class="password-wrap">
168          <input type="password" id="password" name="password" placeholder="8+ characters" autocomplete="new-password" required>
169          <button type="button" class="password-toggle" data-target="password" aria-label="Show password">
170            <i data-lucide="eye" style="width:17px;height:17px;"></i>
171          </button>
172        </div>
173        <div class="field-error"></div>
174      </div>
175
176      <div class="form-group">
177        <label for="confirm_password">Confirm password</label>
178        <div class="password-wrap">
179          <input type="password" id="confirm_password" name="confirm_password" placeholder="Repeat password" autocomplete="new-password" required>
180          <button type="button" class="password-toggle" data-target="confirm_password" aria-label="Show password">
181            <i data-lucide="eye" style="width:17px;height:17px;"></i>
182          </button>
183        </div>
184        <div class="field-error"></div>
185      </div>
186
187      <button class="btn btn-primary-glow" id="btn-step2" type="button">
188        <span class="btn-text">Continue</span>
189        <span class="spinner" aria-hidden="true"></span>
190      </button>
191    </div>
192
193    <!--
194      Step 3 is intentionally dormant while product interests are hidden.
195      Keep the markup for easy restoration, but exclude it from normal display.
196    -->
197    <div class="step-panel" id="step-3" hidden>
198      <h2 class="auth-title">What are you interested in?</h2>
199      <p class="auth-subtitle">Select all that apply — we'll tailor your onboarding.</p>
200
201      <div id="alert-step3" class="alert"></div>
202
203      <div class="interest-grid">
204        <!-- 1: API — Teal -->
205        <div class="interest-card api" data-value="1" role="checkbox" aria-checked="false" tabindex="0">
206          <div class="card-icon">
207            <i data-lucide="zap" style="color:#1faaaa;width:22px;height:22px;"></i>
208          </div>
209          <div class="interest-card-body">
210            <span class="card-label">API</span>
211            <span class="card-desc">Build faster with plug-and-play company intelligence APIs designed for developers, workflows, and AI-powered vibe coding.</span>
212          </div>
213        </div>
214
215        <!-- 2: Tag — Orange -->
216        <div class="interest-card tag" data-value="2" role="checkbox" aria-checked="false" tabindex="0">
217          <div class="card-icon">
218            <i data-lucide="tag" style="color:#ff9933;width:22px;height:22px;"></i>
219          </div>
220          <div class="interest-card-body">
221            <span class="card-label">Tag</span>
222            <span class="card-desc">Turn anonymous website traffic into actionable company insights, signals, and pipeline opportunities.</span>
223          </div>
224        </div>
225
226        <!-- 3: Extension — Purple -->
227        <div class="interest-card ext" data-value="3" role="checkbox" aria-checked="false" tabindex="0">
228          <div class="card-icon">
229            <i data-lucide="puzzle" style="color:#8b5cf6;width:22px;height:22px;"></i>
230          </div>
231          <div class="interest-card-body">
232            <span class="card-label">Extension</span>
233            <span class="card-desc">Instantly reveal company details, ICP fit, and lookalike accounts from any website right in your browser.</span>
234          </div>
235        </div>
236      </div>
237
238      <button class="btn btn-primary-glow" id="btn-step3" type="button">
239        <span class="btn-text">Complete Setup</span>
240        <span class="spinner" aria-hidden="true"></span>
241      </button>
242
243      <p class="text-muted text-center mt-8">You can update these anytime in your settings.</p>
244    </div>
245
246    <!-- ── Step Complete: Success ─────────────────────────── -->
247    <div class="step-panel" id="step-complete">
248      <div class="success-screen">
249        <div class="success-icon-wrap">
250          <i data-lucide="check-circle-2" style="color:#34d399;width:28px;height:28px;"></i>
251        </div>
252        <h2 class="auth-title">You're all set!</h2>
253        <p class="auth-subtitle">Your afterSpark account is ready.<br>Let's get you started.</p>
254        <a id="btn-goto-dashboard" href="/" class="btn btn-primary-glow mt-16">
255          <span class="btn-text">Get Started</span>
256        </a>
257      </div>
258    </div>
259
260  </div><!-- /.auth-card -->
261
262
263</main><!-- /.auth-page -->
264
265<script src="/js/auth.js?v=1789065724"></script>
265
266
267</body>
268</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.