Skip to content

Commit 7e00a89

Browse files
committed
feat: rewrite showcase with production use cases, remove research focus
1 parent 1aab778 commit 7e00a89

1 file changed

Lines changed: 34 additions & 33 deletions

File tree

src/pages/showcase.astro

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,22 @@ const terminalLines = [
1818
'▸ Execution complete · 5/5 nodes · 0 events lost',
1919
];
2020
21-
const card0Code = `<span class="t-d"># DCI deliberation pattern</span>
22-
<span class="t-w">grid</span> <span class="t-p">=</span> <span class="t-b">ExperimentGrid</span><span class="t-p">(</span>
23-
<span class="t-w">conditions</span><span class="t-p">={</span><span class="t-s">"strategy"</span><span class="t-p">: [</span><span class="t-s">"consensus"</span><span class="t-p">,</span> <span class="t-s">"debate"</span><span class="t-p">]},</span>
24-
<span class="t-w">seeds</span><span class="t-p">=[</span><span class="t-w">42</span><span class="t-p">,</span> <span class="t-w">123</span><span class="t-p">,</span> <span class="t-w">456</span><span class="t-p">],</span>
25-
<span class="t-p">)</span>`;
21+
const card0Code = `<span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">model</span><span class="t-p">=</span><span class="t-s">"claude-sonnet-4-6"</span><span class="t-p">,</span> <span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">market_data</span><span class="t-p">,</span> <span class="t-w">sec_filings</span><span class="t-p">])</span>
22+
<span class="t-kw">async def</span> <span class="t-b">analyze_company</span><span class="t-p">(</span><span class="t-w">ticker</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -&gt;</span> <span class="t-y">Report</span><span class="t-p">:</span>
23+
<span class="t-s">"""Deep financial analysis with risk assessment."""</span>`;
2624
27-
const card1Code = `<span class="t-w">results</span><span class="t-p">.</span><span class="t-b">compare</span><span class="t-p">(</span><span class="t-s">"debate"</span><span class="t-p">,</span> <span class="t-s">"react"</span><span class="t-p">,</span> <span class="t-w">test</span><span class="t-p">=</span><span class="t-s">"auto"</span><span class="t-p">,</span> <span class="t-w">alpha</span><span class="t-p">=</span><span class="t-w">0.05</span><span class="t-p">)</span>`;
25+
const card1Code = `<span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">search</span><span class="t-p">,</span> <span class="t-w">retrieve</span><span class="t-p">,</span> <span class="t-w">summarize</span><span class="t-p">])</span>
26+
<span class="t-kw">async def</span> <span class="t-b">answer</span><span class="t-p">(</span><span class="t-w">question</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -&gt;</span> <span class="t-y">str</span><span class="t-p">:</span>
27+
<span class="t-s">"""Search knowledge base, retrieve docs, synthesize answer."""</span>`;
2828
29-
const card2Code = `<span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">web_search</span><span class="t-p">,</span> <span class="t-w">calculator</span><span class="t-p">],</span> <span class="t-w">strategy</span><span class="t-p">=</span><span class="t-s">"react"</span><span class="t-p">)</span>
30-
<span class="t-kw">async def</span> <span class="t-b">research</span><span class="t-p">(</span><span class="t-w">q</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">):</span> <span class="t-w">...</span>`;
31-
32-
const card3Code = `<span class="t-p">@</span><span class="t-w">workflow</span><span class="t-p">.</span><span class="t-b">step</span><span class="t-p">(</span><span class="t-w">type</span><span class="t-p">=</span><span class="t-s">"human_approval"</span><span class="t-p">)</span>
29+
const card2Code = `<span class="t-p">@</span><span class="t-b">workflow.step</span><span class="t-p">(</span><span class="t-w">type</span><span class="t-p">=</span><span class="t-s">"human_approval"</span><span class="t-p">)</span>
3330
<span class="t-kw">async def</span> <span class="t-b">approve</span><span class="t-p">(</span><span class="t-w">state</span><span class="t-p">):</span>
3431
<span class="t-kw">return await</span> <span class="t-w">state</span><span class="t-p">.</span><span class="t-b">wait_for_approval</span><span class="t-p">()</span>`;
3532
33+
const card3Code = `<span class="t-p">@</span><span class="t-b">task</span><span class="t-p">(</span><span class="t-w">tools</span><span class="t-p">=[</span><span class="t-w">web_search</span><span class="t-p">,</span> <span class="t-w">calculator</span><span class="t-p">],</span> <span class="t-w">strategy</span><span class="t-p">=</span><span class="t-s">"react"</span><span class="t-p">)</span>
34+
<span class="t-kw">async def</span> <span class="t-b">research</span><span class="t-p">(</span><span class="t-w">q</span><span class="t-p">:</span> <span class="t-y">str</span><span class="t-p">) -&gt;</span> <span class="t-y">str</span><span class="t-p">:</span>
35+
<span class="t-s">"""Research with MCP tools, crash-safe."""</span>`;
36+
3637
const card4Code = `<span class="t-w">card</span> <span class="t-p">=</span> <span class="t-kw">await</span> <span class="t-b">discover</span><span class="t-p">(</span><span class="t-s">"/.well-known/agent.json"</span><span class="t-p">)</span>
3738
<span class="t-w">result</span> <span class="t-p">=</span> <span class="t-kw">await</span> <span class="t-b">delegate</span><span class="t-p">(</span><span class="t-w">card</span><span class="t-p">,</span> <span class="t-w">task</span><span class="t-p">=</span><span class="t-s">"analyze report"</span><span class="t-p">)</span>`;
3839
@@ -124,50 +125,50 @@ const proofCode = `<span class="t-kw">from</span> <span class="t-w">jamjet</span
124125
<section style="background: var(--bg-alt);">
125126
<div class="container">
126127
<span class="section-label">Examples</span>
127-
<h2>Built for real work</h2>
128+
<h2>Production patterns</h2>
128129
<p class="usecase-intro">Click any card to expand the code.</p>
129130
<div class="usecase-grid">
130131
<UseCaseCard
131132
index={0}
132-
title="Multi-Agent Research"
133-
description="Run structured deliberation experiments across consensus and debate strategies. Cartesian product over seeds, automatic result collection."
134-
tags={["consensus", "debate", "eval"]}
133+
title="Investment Due Diligence"
134+
description="Multi-agent pipeline: market analyst, financial reviewer, risk assessor, and compliance checker collaborate on investment reports."
135+
tags={["multi-agent", "a2a", "durable"]}
135136
code={card0Code}
136-
codeFile="deliberation.py"
137-
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/research-deliberation"
137+
codeFile="due-diligence.py"
138+
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/wealth-management-agents"
138139
/>
139140
<UseCaseCard
140141
index={1}
141-
title="Strategy Comparison"
142-
description="Compare reasoning strategies with a single call. Auto-selects the right statistical test and reports effect size, p-value, and significance."
143-
tags={["experiment-grid", "ablation"]}
142+
title="RAG Assistant"
143+
description="Retrieval-augmented agent that searches, retrieves, and synthesizes — with every step checkpointed."
144+
tags={["rag", "tools", "durable"]}
144145
code={card1Code}
145-
codeFile="compare.py"
146-
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/eval-harness"
146+
codeFile="rag-agent.py"
147+
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/rag-assistant"
147148
/>
148149
<UseCaseCard
149150
index={2}
150-
title="Tool-Augmented Agent"
151-
description="Attach MCP tools to any task with a single decorator. JamJet handles tool dispatch, retries, and cost tracking automatically."
152-
tags={["mcp", "tools", "react"]}
151+
title="Human Approval Workflow"
152+
description="Durable suspension at approval checkpoints. The process sleeps until a human responds — survives restarts."
153+
tags={["hitl", "durable", "production"]}
153154
code={card2Code}
154-
codeFile="tools.py"
155-
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/mcp-tool-consumer"
155+
codeFile="approval.py"
156+
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/hitl-approval"
156157
/>
157158
<UseCaseCard
158159
index={3}
159-
title="Human Approval Workflow"
160-
description="Pause a durable workflow for human review. The execution state persists indefinitely — resume it hours or days later with no data loss."
161-
tags={["hitl", "durable"]}
160+
title="MCP Tool Integration"
161+
description="Connect to any MCP server. Your agent's tool calls are durable workflow steps — crash-safe by default."
162+
tags={["mcp", "tools", "interop"]}
162163
code={card3Code}
163-
codeFile="approval.py"
164-
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/hitl-approval"
164+
codeFile="mcp-agent.py"
165+
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/mcp-tool-consumer"
165166
/>
166167
<UseCaseCard
167168
index={4}
168169
title="Agent-to-Agent Delegation"
169-
description="Discover remote agents via Agent Cards and delegate tasks over the A2A protocol. Identity-aware routing with provenance tracking built in."
170-
tags={["a2a", "routing"]}
170+
description="Route tasks to specialized agents via A2A protocol. Identity-aware, cost-aware, fully durable."
171+
tags={["a2a", "routing", "production"]}
171172
code={card4Code}
172173
codeFile="delegation.py"
173174
githubUrl="https://github.com/jamjet-labs/jamjet/tree/main/examples/a2a-delegation"

0 commit comments

Comments
 (0)