Skip to content

Commit ce94e81

Browse files
committed
feat: viral copy rewrite β€” agent-native framing, provocative one-liners
Hero: 'your agent can't prove it did the work. we fix that.' Paths: 'the meatspace layer' vs 'the logic layer' Edge: 'other agent platforms are just vibes. this is math.' Settlement: 'the program doesn't care about your feelings.' Pipeline: 'put your SOL where your mouth is'
1 parent c7431db commit ce94e81

1 file changed

Lines changed: 60 additions & 59 deletions

File tree

β€Žclient/src/Landing.tsxβ€Ž

Lines changed: 60 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ function HeroCanvas() {
6666

6767

6868
const PIPELINE_STEPS = [
69-
{ icon: 'πŸ“‹', label: 'Post', desc: 'Describe task + escrow SOL', layer: 'l1' },
70-
{ icon: 'πŸ”', label: 'Encrypt', desc: 'NaCl box encryption', layer: 'privacy' },
71-
{ icon: 'πŸ”—', label: 'Delegate', desc: 'Send to Ephemeral Rollup', layer: 'l1' },
72-
{ icon: '⚑', label: 'Bid', desc: 'Gasless sealed bids', layer: 'er' },
73-
{ icon: 'πŸ’Ž', label: 'Stake', desc: 'Winner locks collateral', layer: 'l1' },
74-
{ icon: 'πŸ“', label: 'Prove', desc: 'Submit proof of work', layer: 'l1' },
75-
{ icon: 'πŸ›‘οΈ', label: 'Verify', desc: 'Private verification in PER', layer: 'privacy' },
76-
{ icon: 'βš–οΈ', label: 'Settle', desc: 'Pass/fail β†’ auto-payout', layer: 'l1' },
69+
{ icon: 'πŸ“‹', label: 'Post', desc: 'Escrow SOL. Set the rules.', layer: 'l1' },
70+
{ icon: 'πŸ”', label: 'Encrypt', desc: 'NaCl box. Nobody peeks.', layer: 'privacy' },
71+
{ icon: 'πŸ”—', label: 'Delegate', desc: 'Hand off to Ephemeral Rollup', layer: 'l1' },
72+
{ icon: '⚑', label: 'Bid', desc: 'Zero gas. Sub-50ms.', layer: 'er' },
73+
{ icon: 'πŸ’Ž', label: 'Stake', desc: 'Put your SOL where your mouth is', layer: 'l1' },
74+
{ icon: 'πŸ“', label: 'Prove', desc: 'Hash it. Ship it.', layer: 'l1' },
75+
{ icon: 'πŸ›‘οΈ', label: 'Verify', desc: 'Private. Hardware-enforced.', layer: 'privacy' },
76+
{ icon: 'βš–οΈ', label: 'Settle', desc: 'Pass = paid. Fail = slashed.', layer: 'l1' },
7777
]
7878

7979

@@ -103,23 +103,23 @@ function Landing() {
103103
<div className="hero-content">
104104
<div className="hero-badge">
105105
<span className="badge-dot" />
106-
Live on Devnet Β· Built on Solana Β· Powered by MagicBlock
106+
live on devnet Β· solana Β· magicblock ephemeral rollups
107107
</div>
108108
<h1 className="hero-title">
109-
<span className="hero-line-1">The verifiable task layer</span>
110-
<span className="hero-line-2">for humans</span>
111-
<span className="hero-line-3">and AI agents.</span>
109+
<span className="hero-line-1">your agent can't prove</span>
110+
<span className="hero-line-2">it did the work.</span>
111+
<span className="hero-line-3">we fix that.</span>
112112
</h1>
113113
<p className="hero-sub">
114-
Post bounties, compete with stake, settle with cryptographic proof β€” all on-chain.
115-
The first protocol where carbon and silicon earn side by side.
114+
TaskForest is where agents and humans post tasks, stake SOL, and settle
115+
with cryptographic proof. no invoices. no trust. just math.
116116
</p>
117117
<div className="hero-actions">
118-
<Link to="/board" className="btn-primary">
119-
πŸ‘€ Human Job Board
120-
</Link>
121118
<Link to="/agents" className="btn-primary btn-agent">
122-
πŸ€– Agent Pipeline
119+
πŸ€– plug in your agent
120+
</Link>
121+
<Link to="/board" className="btn-primary">
122+
πŸ‘€ or use your hands
123123
</Link>
124124
</div>
125125
</div>
@@ -128,34 +128,34 @@ function Landing() {
128128
{/* Two Paths */}
129129
<section className="section paths-section">
130130
<div className="section-inner">
131-
<p className="section-eyebrow">Choose Your Path</p>
132-
<h2 className="section-title">One protocol, two entry points</h2>
131+
<p className="section-eyebrow">two species, one protocol</p>
132+
<h2 className="section-title">whether you're carbon or silicon β€” you get paid the same way</h2>
133133
<div className="paths-grid">
134134
<Link to="/board" className="path-card path-human">
135135
<div className="path-glow path-glow-human" />
136136
<span className="path-icon">πŸ‘€</span>
137-
<h3>For Humans</h3>
138-
<p>Browse tasks, post bounties, bid with your wallet. The job board is your freelance marketplace β€” powered by on-chain escrow.</p>
137+
<h3>the meatspace layer</h3>
138+
<p>you have hands. use them. browse tasks, post bounties, bid with your wallet. get paid in SOL when your proof checks out.</p>
139139
<div className="path-features">
140-
<span>πŸ“‹ Post tasks</span>
141-
<span>πŸ’° Set bounties</span>
142-
<span>πŸ” Browse & bid</span>
143-
<span>βš–οΈ Review proofs</span>
140+
<span>πŸ“‹ post tasks</span>
141+
<span>πŸ’° set bounties</span>
142+
<span>πŸ” browse & bid</span>
143+
<span>βš–οΈ review proofs</span>
144144
</div>
145-
<span className="path-cta">Open Job Board β†’</span>
145+
<span className="path-cta">open job board β†’</span>
146146
</Link>
147147
<Link to="/agents" className="path-card path-agent">
148148
<div className="path-glow path-glow-agent" />
149149
<span className="path-icon">πŸ€–</span>
150-
<h3>For Agents</h3>
151-
<p>Automated task execution with encrypted inputs, sealed bids, credential vaults, and private verification β€” all through MagicBlock PER.</p>
150+
<h3>the logic layer</h3>
151+
<p>your agent has tokens. let it work. encrypted inputs, sealed bids, credential vault, private verification β€” all through MagicBlock PER.</p>
152152
<div className="path-features">
153-
<span>πŸ” Encrypted tasks</span>
154-
<span>⚑ Sealed bids</span>
155-
<span>πŸ”‘ Credential vault</span>
156-
<span>πŸ›‘οΈ Private verify</span>
153+
<span>πŸ” encrypted tasks</span>
154+
<span>⚑ sealed bids</span>
155+
<span>πŸ”‘ credential vault</span>
156+
<span>πŸ›‘οΈ private verify</span>
157157
</div>
158-
<span className="path-cta path-cta-agent">Launch Agent Pipeline β†’</span>
158+
<span className="path-cta path-cta-agent">launch agent pipeline β†’</span>
159159
</Link>
160160
</div>
161161
</div>
@@ -164,10 +164,11 @@ function Landing() {
164164
{/* Pipeline Flow */}
165165
<section id="how-it-works" className="section pipeline-section">
166166
<div className="section-inner">
167-
<p className="section-eyebrow">How It Works</p>
168-
<h2 className="section-title">From bounty to payout in 8 steps</h2>
167+
<p className="section-eyebrow">the trust pipeline</p>
168+
<h2 className="section-title">8 steps. zero trust required.</h2>
169169
<p className="section-sub">
170-
Every task follows the same trustless pipeline β€” whether posted by a human or an agent.
170+
every task β€” human or agent β€” goes through the same on-chain pipeline.
171+
no middlemen. no disputes. just cryptographic proof.
171172
</p>
172173
<div className="pipeline-track">
173174
{PIPELINE_STEPS.map((step, i) => (
@@ -197,38 +198,38 @@ function Landing() {
197198
{/* Why TaskForest */}
198199
<section id="why" className="section why-section">
199200
<div className="section-inner">
200-
<p className="section-eyebrow">Why TaskForest</p>
201-
<h2 className="section-title">What others can't do</h2>
201+
<p className="section-eyebrow">the edge</p>
202+
<h2 className="section-title">other agent platforms are just vibes. this is math.</h2>
202203
<div className="why-grid">
203204
<div className="why-card">
204205
<div className="why-icon-wrap why-icon-privacy">πŸ›‘οΈ</div>
205-
<h3>Privacy by Default</h3>
206-
<p>Task inputs, outputs, credentials, and bid amounts stay encrypted inside MagicBlock PER. Only the verdict hits L1.</p>
206+
<h3>your data stays yours</h3>
207+
<p>task inputs, outputs, credentials, bid amounts β€” all encrypted inside MagicBlock PER. only the verdict hits L1. ever.</p>
207208
</div>
208209
<div className="why-card">
209210
<div className="why-icon-wrap why-icon-speed">⚑</div>
210-
<h3>Sub-50ms Bidding</h3>
211-
<p>Gasless transactions in Ephemeral Rollups. Workers compete in real-time without spending SOL on gas.</p>
211+
<h3>bidding at the speed of thought</h3>
212+
<p>zero gas. sub-50ms. agents compete in real-time inside Ephemeral Rollups without burning SOL on fees.</p>
212213
</div>
213214
<div className="why-card">
214215
<div className="why-icon-wrap why-icon-settle">βš–οΈ</div>
215-
<h3>Trustless Settlement</h3>
216-
<p>Pass/fail verdicts trigger automatic SOL distribution. No middlemen, no disputes, no invoices.</p>
216+
<h3>no invoices, no disputes</h3>
217+
<p>pass = money moves to worker. fail = stake gets slashed. the program doesn't care about your feelings.</p>
217218
</div>
218219
<div className="why-card">
219220
<div className="why-icon-wrap why-icon-proof">πŸ”</div>
220-
<h3>Proof of Task</h3>
221-
<p>Every completion is backed by a cryptographic proof hash β€” verifiable forever on Solana's immutable ledger.</p>
221+
<h3>proof or it didn't happen</h3>
222+
<p>every completion is backed by a SHA-256 proof hash. on solana. forever. your agent's resume, on-chain.</p>
222223
</div>
223224
<div className="why-card">
224225
<div className="why-icon-wrap why-icon-vault">πŸ”‘</div>
225-
<h3>Credential Vault</h3>
226-
<p>Agents can access API keys and tokens inside PER without ever exposing them on L1 or to the public.</p>
226+
<h3>secrets stay secret</h3>
227+
<p>agents access API keys inside PER without exposing them on L1. your agent can use credentials it can't even read.</p>
227228
</div>
228229
<div className="why-card">
229230
<div className="why-icon-wrap why-icon-archive">πŸ—„οΈ</div>
230-
<h3>Permanent Archive</h3>
231-
<p>Every settled job is archived to an on-chain PDA β€” an immutable audit trail for all task outcomes.</p>
231+
<h3>receipts forever</h3>
232+
<p>every settled job is archived to an on-chain PDA. immutable audit trail. your agent's work history, permanent.</p>
232233
</div>
233234
</div>
234235
</div>
@@ -237,8 +238,8 @@ function Landing() {
237238
{/* Architecture */}
238239
<section className="section arch-section">
239240
<div className="section-inner">
240-
<p className="section-eyebrow">Architecture</p>
241-
<h2 className="section-title">Three layers, one protocol</h2>
241+
<p className="section-eyebrow">under the hood</p>
242+
<h2 className="section-title">three layers. zero trust assumptions.</h2>
242243
<div className="arch-grid">
243244
<div className="arch-card arch-l1">
244245
<div className="arch-badge">Solana L1</div>
@@ -285,16 +286,16 @@ function Landing() {
285286
{/* CTA */}
286287
<section className="section cta-section">
287288
<div className="cta-inner">
288-
<h2 className="cta-title">Ready to explore the forest?</h2>
289+
<h2 className="cta-title">the forest is open.</h2>
289290
<p className="cta-sub">
290-
Post or pick up tasks as a human β€” or plug in your agent for automated execution.
291+
plug in your agent or use your hands. same protocol. same escrow. same proof.
291292
</p>
292293
<div className="cta-buttons">
293-
<Link to="/board" className="btn-primary btn-lg">
294-
πŸ‘€ Browse Human Jobs
295-
</Link>
296294
<Link to="/agents" className="btn-primary btn-lg btn-agent">
297-
πŸ€– Launch Agent Pipeline
295+
πŸ€– plug in your agent
296+
</Link>
297+
<Link to="/board" className="btn-primary btn-lg">
298+
πŸ‘€ use your hands
298299
</Link>
299300
</div>
300301
<div className="cta-links">

0 commit comments

Comments
Β (0)