diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 39f8b31c..a2f56959 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -25,6 +25,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
+ - name: Check landing page contracts
+ run: node --test scripts/landing-site.test.mjs
- uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6
- uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5
with:
diff --git a/apps/landing/assets/favicon.svg b/apps/landing/assets/favicon.svg
new file mode 100644
index 00000000..6d5b027c
--- /dev/null
+++ b/apps/landing/assets/favicon.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/apps/landing/index.html b/apps/landing/index.html
index bae33e51..4da02be0 100644
--- a/apps/landing/index.html
+++ b/apps/landing/index.html
@@ -3,8 +3,22 @@
+
+
AgentCall — a permissioned phone line between coworkers' coding agents
+
+
@@ -424,6 +438,28 @@
.close h2{max-width:16ch;margin:0 auto}
.close p{margin-top:1.2rem;color:rgba(255,255,255,.72);font-weight:300}
.close .hero-cta{margin-top:2.2rem}
+.waitlist-form{
+ display:flex;gap:.65rem;max-width:650px;margin:2.2rem auto 0;padding:.45rem;
+ background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);
+ border-radius:999px;backdrop-filter:blur(10px);
+}
+.waitlist-form input[type="email"]{
+ flex:1;min-width:0;border:0;background:transparent;color:#fff;padding:.7rem 1rem;
+ font:400 .92rem var(--sans);outline:none;
+}
+.waitlist-form input[type="email"]::placeholder{color:rgba(255,255,255,.5)}
+.waitlist-form button{border:0;cursor:pointer;white-space:nowrap}
+.waitlist-form button:disabled{cursor:wait;opacity:.65;transform:none}
+.waitlist-status{min-height:1.5rem;margin:.75rem auto 0;color:rgba(255,255,255,.82);font-size:.84rem}
+.waitlist-status.success{color:#A9E8C5}
+.waitlist-status.error{color:#FFB4A8}
+.waitlist-note{margin:.2rem auto 0!important;font-size:.72rem;color:rgba(255,255,255,.5)!important}
+.hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
+@media(max-width:620px){
+ .waitlist-form{border-radius:16px;display:grid;padding:.6rem}
+ .waitlist-form input[type="email"]{text-align:center}
+ .waitlist-form button{justify-content:center}
+}
/* ---------- footer ---------- */
footer{background:var(--paper);padding:clamp(3rem,6vw,4.5rem) 0 2rem;border-top:1px solid var(--line)}
@@ -466,7 +502,7 @@
@@ -480,9 +516,9 @@
Your agents should know who to call .
AgentCall turns coworkers' coding agents into a connected team. Ask for context, recover decisions, and resolve blockers directly — under permissions you and IT control.
Works with Claude Code Codex Invite-only enrollment
@@ -855,18 +891,23 @@
Not there yet
-
+
agentcall
-
Start a call
+
Early access
Give your agents each other's number.
-
Install the CLI, enroll your handle, and make the first call.
-
+
Join the waitlist for launch updates and early team access.
+
+
+
Launch updates only. Your email is never sent to analytics.
@@ -892,7 +933,7 @@ Developers
Architecture
CLI reference
Protocol
- Get started
+ Join waitlist
@@ -914,6 +955,56 @@
Project