Skip to content

Commit d8ad8ac

Browse files
committed
Add Brevo launch briefing funnel and Augmentum phase-2 signup UX
1 parent 6eafd59 commit d8ad8ac

File tree

3 files changed

+199
-3
lines changed

3 files changed

+199
-3
lines changed

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,78 @@ The `static/_headers` file is the authoritative record of all required headers a
197197

198198
---
199199

200+
## Email Signup + Funnel (Brevo)
201+
202+
The site now routes the Augmentum CTA through a configurable marketing URL in `src/lib/marketing.js`.
203+
204+
### 1) Wire the signup link
205+
206+
Edit `src/lib/marketing.js` and set:
207+
208+
```js
209+
export const BREVO_SIGNUP_URL = '__SET_BREVO_SIGNUP_URL__';
210+
```
211+
212+
to your Brevo hosted signup form URL (example format: `https://xxxx.sibforms.com/serve/...`).
213+
214+
If not set, the CTA falls back to `mailto:` so the button still functions.
215+
216+
### 2) Brevo dashboard setup (minimal)
217+
218+
1. Create list: `MAIN_NEWSLETTER`
219+
2. Create a sign-up form (Marketing → Forms)
220+
3. Enable double opt-in
221+
4. Set destination list to `MAIN_NEWSLETTER`
222+
5. Copy hosted form URL into `src/lib/marketing.js`
223+
6. Create automation: trigger on contact added to `MAIN_NEWSLETTER`
224+
7. Add one email step (delay 1–2 minutes), then activate
225+
226+
### 2.5) Phase 2 cohesive UX behavior
227+
228+
- The Augmentum page now includes a native launch briefing section with an embedded Brevo form iframe.
229+
- If the signup URL is not an embeddable `http(s)` URL, the page automatically falls back to a direct CTA link.
230+
- The closing CTA now routes users deeper into the ecosystem (`/ecosystem` + `/visage`) to avoid duplicate signup prompts.
231+
232+
### 3) Single welcome email template (v1)
233+
234+
Use this as the first and only automation email for now:
235+
236+
**Subject:** Welcome to Sovren — launch briefing subscribed
237+
**Preview:** You are in. We will send one launch briefing and occasional high-signal updates.
238+
239+
**Body:**
240+
241+
```text
242+
You are subscribed to the Sovren launch briefing.
243+
244+
What you should expect:
245+
- One operational briefing when Augmentum OS goes live
246+
- Occasional high-signal updates across the Sovren Stack (OS, identity, programmable finance)
247+
- No spam. No feed noise. No growth-hack sequences.
248+
249+
Why this exists:
250+
Sovren builds software for operators who want leverage without surrendering control.
251+
Privacy is not a feature. Sovereignty is the baseline.
252+
253+
Explore the stack:
254+
- Augmentum OS: https://sovren.software/augmentum
255+
- Visage: https://sovren.software/visage
256+
- MrHaven: https://sovren.software/mrhaven
257+
258+
— Sovren Software
259+
https://sovren.software
260+
```
261+
262+
### 4) Verification checklist
263+
264+
1. Open `/augmentum` and verify the launch briefing section renders.
265+
2. Confirm iframe form loads (or fallback button appears if embed unavailable).
266+
3. Submit a test email and confirm contact lands in `MAIN_NEWSLETTER`.
267+
4. Confirm the single welcome automation email is sent.
268+
5. Confirm `/ecosystem` and `/visage` links in final CTA work.
269+
270+
---
271+
200272
## IDE Setup
201273

202274
[VS Code](https://code.visualstudio.com/) + [Svelte for VS Code](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode)

src/lib/marketing.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// Marketing funnel configuration.
2+
// Replace the placeholder URL below with your Brevo hosted sign-up form URL.
3+
// Example: https://123abc.sibforms.com/serve/xxxx
4+
export const BREVO_SIGNUP_URL = 'https://f4c90f0b.sibforms.com/serve/MUIFAAbBH-WyHvhepdhs6G8ul1wze6MjoVvTKJ8hy6wQ2pt2zfKhS72lm7K5SfgHHreybw_QGra18wfbFENLUX33U10YYUe1aPoQOEePElxdHbiM2uGL0Sdsei-N34xBCkoktWbqbtQe1cMW95PLNJ4gd9cZ_YonM0j3W1TrUXhliIJyTXuJ7u4B8pL9aH8uFVKQbzNfUWpWw_ovuA==';
5+
6+
export const FALLBACK_SIGNUP_URL = 'mailto:hello@sovren.software?subject=Augmentum%20OS%20Launch%20Notification';
7+
8+
export const AUGMENTUM_SIGNUP_URL = BREVO_SIGNUP_URL || FALLBACK_SIGNUP_URL;
9+
10+
export const HAS_EMBED_SIGNUP = AUGMENTUM_SIGNUP_URL.slice(0, 4) === 'http';

src/routes/augmentum/+page.svelte

Lines changed: 117 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import Overview from '$lib/Overview.svelte';
1515
import PillarList from '$lib/PillarList.svelte';
1616
import CtaSection from '$lib/CtaSection.svelte';
17+
import { AUGMENTUM_SIGNUP_URL, HAS_EMBED_SIGNUP } from '$lib/marketing';
1718
1819
const pillars = [
1920
{
@@ -68,9 +69,122 @@
6869

6970
<PillarList {pillars} />
7071

72+
<section class="launch-briefing" id="launch-briefing">
73+
<div class="launch-inner preserve-3d">
74+
<h2 class="glitch-subtle">GET THE<br />LAUNCH BRIEFING.</h2>
75+
<p>
76+
One operational briefing when Augmentum OS goes live, then occasional high-signal updates across the
77+
sovereign stack.
78+
</p>
79+
80+
{#if HAS_EMBED_SIGNUP}
81+
<div class="signup-shell">
82+
<iframe
83+
src={AUGMENTUM_SIGNUP_URL}
84+
title="Augmentum OS launch briefing signup"
85+
loading="lazy"
86+
referrerpolicy="no-referrer-when-downgrade"
87+
></iframe>
88+
</div>
89+
90+
<div class="launch-links">
91+
<a class="btn-secondary" href={AUGMENTUM_SIGNUP_URL} target="_blank" rel="noreferrer">OPEN FORM IN NEW TAB</a>
92+
</div>
93+
{:else}
94+
<div class="launch-links">
95+
<a class="btn-primary" href={AUGMENTUM_SIGNUP_URL}>NOTIFY ME AT LAUNCH →</a>
96+
</div>
97+
<p class="launch-fallback">Form embedding is unavailable in this environment. Use the direct signup link above.</p>
98+
{/if}
99+
100+
<p class="launch-note">Double opt-in enabled. Unsubscribe anytime.</p>
101+
</div>
102+
</section>
103+
71104
<CtaSection
72-
title="BUILT WITHOUT<br />COMPROMISE."
73-
body="Augmentum OS ships Summer 2026. One email when it is ready — send us your address."
74-
actions={[{ label: 'NOTIFY ME AT LAUNCH →', href: 'mailto:hello@sovren.software?subject=Augmentum OS Launch Notification' }]}
105+
title="BUILD SOVEREIGNLY."
106+
body="Augmentum OS, Visage, and MrHaven are designed as one command layer. Read the operating thesis behind the stack."
107+
actions={[
108+
{ label: 'READ THE MANIFESTO →', href: '/ecosystem' },
109+
{ label: 'EXPLORE VISAGE →', href: '/visage', style: 'secondary' },
110+
]}
75111
/>
76112
</main>
113+
114+
<style>
115+
.launch-briefing {
116+
background: transparent;
117+
color: var(--text-primary);
118+
padding: var(--pad-section-lg);
119+
border-top: 1px solid var(--border);
120+
position: relative;
121+
scroll-margin-top: calc(var(--nav-h) + var(--space-xl));
122+
}
123+
124+
.launch-inner {
125+
max-width: var(--max-w);
126+
margin: 0 auto;
127+
display: flex;
128+
flex-direction: column;
129+
gap: var(--space-2xl);
130+
}
131+
132+
.launch-briefing h2 {
133+
font-size: var(--fs-h2);
134+
font-weight: var(--fw-bold);
135+
letter-spacing: var(--ls-wide);
136+
line-height: var(--lh-heading);
137+
text-transform: uppercase;
138+
}
139+
140+
.launch-briefing p {
141+
font-size: var(--fs-body-sm);
142+
line-height: var(--lh-relaxed);
143+
letter-spacing: var(--ls-default);
144+
max-width: var(--max-w-body);
145+
color: var(--text-secondary);
146+
}
147+
148+
.signup-shell {
149+
border: 1px solid var(--border);
150+
background: var(--surface);
151+
backdrop-filter: blur(6px);
152+
overflow: hidden;
153+
}
154+
155+
.signup-shell iframe {
156+
width: 100%;
157+
min-height: clamp(620px, 78vh, 820px);
158+
border: none;
159+
background: transparent;
160+
}
161+
162+
.launch-links {
163+
display: flex;
164+
gap: var(--space-lg);
165+
flex-wrap: wrap;
166+
}
167+
168+
.launch-note {
169+
color: var(--text-muted);
170+
font-size: var(--fs-label);
171+
letter-spacing: var(--ls-wider);
172+
text-transform: uppercase;
173+
}
174+
175+
.launch-fallback {
176+
color: var(--text-muted);
177+
font-size: var(--fs-body-xs);
178+
max-width: none;
179+
}
180+
181+
@media (max-width: 768px) {
182+
.launch-briefing {
183+
padding: var(--space-5xl) var(--space-xl);
184+
}
185+
186+
.signup-shell iframe {
187+
min-height: 760px;
188+
}
189+
}
190+
</style>

0 commit comments

Comments
 (0)