Skip to content

Commit 9a0464b

Browse files
authored
Merge pull request #24 from AgentWorkforce/posts/google-spark-and-mcp-notifications
Add Google Spark I/O and MCP notifications essays
2 parents 4dae77c + bdfa25c commit 9a0464b

9 files changed

Lines changed: 787 additions & 20 deletions

components/card-illustrations.tsx

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ const SLUGS: Record<string, React.ComponentType> = {
3535
"making-hermes-proactive": HermesProactiveArt,
3636
"devin-auto-triage": DevinTriageArt,
3737
"junior-so-ai-employee": JuniorEmployeeArt,
38+
"google-spark-io-2026": SparkIOArt,
39+
"mcp-notifications": MCPNotifArt,
3840
};
3941

4042
export function CardArt({ slug }: { slug: string }) {
@@ -1247,3 +1249,92 @@ function HermesProactiveArt() {
12471249
</svg>
12481250
);
12491251
}
1252+
1253+
function MCPNotifArt() {
1254+
return (
1255+
<svg
1256+
viewBox="0 0 500 300"
1257+
className="pointer-events-none absolute inset-0 h-full w-full"
1258+
aria-hidden
1259+
>
1260+
<g
1261+
opacity="0.14"
1262+
stroke={C.ink}
1263+
fill="none"
1264+
strokeLinecap="round"
1265+
strokeLinejoin="round"
1266+
>
1267+
<g transform="translate(250, 112)">
1268+
{/* Bell / notification shape */}
1269+
<path
1270+
d="M0 -40 C-22 -40 -28 -20 -28 -8 L-28 8 L-36 16 L36 16 L28 8 L28 -8 C28 -20 22 -40 0 -40"
1271+
strokeWidth="1.8"
1272+
/>
1273+
<line x1="-8" y1="16" x2="8" y2="16" strokeWidth="2.2" />
1274+
<circle cy="-42" r="3" fill={C.ink} stroke="none" />
1275+
{/* Dashed lines radiating out — signals that don't connect */}
1276+
<line x1="-40" y1="-20" x2="-55" y2="-30" strokeWidth="1" strokeDasharray="3 3" />
1277+
<line x1="40" y1="-20" x2="55" y2="-30" strokeWidth="1" strokeDasharray="3 3" />
1278+
<line x1="-38" y1="10" x2="-55" y2="15" strokeWidth="1" strokeDasharray="3 3" />
1279+
<line x1="38" y1="10" x2="55" y2="15" strokeWidth="1" strokeDasharray="3 3" />
1280+
{/* X marks at ends — signals not received */}
1281+
{[
1282+
[-55, -30],
1283+
[55, -30],
1284+
[-55, 15],
1285+
[55, 15],
1286+
].map(([x, y], i) => (
1287+
<g key={i}>
1288+
<line x1={x - 4} y1={y - 4} x2={x + 4} y2={y + 4} strokeWidth="1.2" />
1289+
<line x1={x + 4} y1={y - 4} x2={x - 4} y2={y + 4} strokeWidth="1.2" />
1290+
</g>
1291+
))}
1292+
</g>
1293+
</g>
1294+
</svg>
1295+
);
1296+
}
1297+
1298+
function SparkIOArt() {
1299+
return (
1300+
<svg
1301+
viewBox="0 0 500 300"
1302+
className="pointer-events-none absolute inset-0 h-full w-full"
1303+
aria-hidden
1304+
>
1305+
<g
1306+
opacity="0.14"
1307+
stroke={C.ink}
1308+
fill="none"
1309+
strokeLinecap="round"
1310+
strokeLinejoin="round"
1311+
>
1312+
<g transform="translate(250, 112)">
1313+
{/* Central spark/star shape */}
1314+
{[0, 72, 144, 216, 288].map((angle, i) => {
1315+
const rad = (angle * Math.PI) / 180;
1316+
const innerRad = ((angle + 36) * Math.PI) / 180;
1317+
const ox = Math.cos(rad) * 35;
1318+
const oy = Math.sin(rad) * 35;
1319+
const ix = Math.cos(innerRad) * 14;
1320+
const iy = Math.sin(innerRad) * 14;
1321+
return (
1322+
<g key={i}>
1323+
<line x1="0" y1="0" x2={ox} y2={oy} strokeWidth="1.6" />
1324+
<circle cx={ox} cy={oy} r="3" fill={C.ink} stroke="none" />
1325+
</g>
1326+
);
1327+
})}
1328+
{/* Center dot */}
1329+
<circle r="6" strokeWidth="1.8" />
1330+
<circle r="2" fill={C.ink} stroke="none" />
1331+
{/* MCP bridge bracket on right */}
1332+
<g transform="translate(55, 0)">
1333+
<path d="M0 -20 L8 -20 L8 20 L0 20" strokeWidth="1.4" />
1334+
<text x="14" y="4" fontFamily="inherit" fontSize="7" fill={C.ink} strokeWidth="0">MCP</text>
1335+
</g>
1336+
</g>
1337+
</g>
1338+
</svg>
1339+
);
1340+
}

components/mdx/figures.tsx

Lines changed: 289 additions & 0 deletions
Large diffs are not rendered by default.

components/mdx/mdx-components.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ import {
6464
RemyEcosystemFigure,
6565
RemyTrustTierFigure,
6666
RemyComparisonFigure,
67+
SparkStackFigure,
68+
SparkMCPBridgeFigure,
69+
SparkSurfacesFigure,
70+
MCPNotifTaxonomyFigure,
71+
MCPAdoptionGapFigure,
72+
MCPEventGapFigure,
6773
HermesCronFigure,
6874
HermesGapFigure,
6975
TriageSignalFigure,
@@ -141,6 +147,12 @@ export const mdxComponents = {
141147
RemyEcosystemFigure,
142148
RemyTrustTierFigure,
143149
RemyComparisonFigure,
150+
SparkStackFigure,
151+
SparkMCPBridgeFigure,
152+
SparkSurfacesFigure,
153+
MCPNotifTaxonomyFigure,
154+
MCPAdoptionGapFigure,
155+
MCPEventGapFigure,
144156
HermesCronFigure,
145157
HermesGapFigure,
146158
TriageSignalFigure,
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
title: "Google launches Gemini Spark at I/O 2026, rebranding Remy"
3+
date: "2026-05-19"
4+
source: "https://blog.google/innovation-and-ai/sundar-pichai-io-2026/"
5+
sourceLabel: "Google Blog"
6+
summary: "Remy is now Gemini Spark. Powered by Gemini 3.5 on dedicated Cloud VMs with the Antigravity harness. Five surfaces: Gemini app, email, chat, Android Halo, Chrome agentic browser. Third-party integrations via Anthropic's MCP. Beta open to AI Ultra subscribers in the US."
7+
---

content/market/proactive-agent-landscape.mdx

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Six months ago, nobody was really shipping proactive agents. Now every major AI
1010

1111
This page maps the landscape through the [three-primitives framework](/posts/three-primitives/): does each product have a **clock** (scheduled execution), a **listener** (real-time change detection), and an **inbox** (multi-channel delivery)? That framework turns out to be a useful lens for separating marketing from architecture.
1212

13-
*Last updated: May 15, 2026.*
13+
*Last updated: May 20, 2026.*
1414

1515
<Scene figure={<LandscapeGridFigure />} caption="The landscape scored against three primitives.">
1616

@@ -21,20 +21,20 @@ This page maps the landscape through the [three-primitives framework](/posts/thr
2121
<tr><th>Product</th><th>Company</th><th>Clock</th><th>Listener</th><th>Inbox</th><th>Stage</th></tr>
2222
</thead>
2323
<tbody>
24-
<tr><td>ChatGPT Pulse</td><td>OpenAI</td><td>&#10003;</td><td>&#10007;</td><td>&#10007;</td><td>Shipped (Pro)</td></tr>
25-
<tr><td>Orbit</td><td>Anthropic</td><td>&#10003;</td><td>&#10003;</td><td>Partial</td><td>Announced</td></tr>
26-
<tr><td>Remy</td><td>Google</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Internal dogfood</td></tr>
27-
<tr><td>Hatch</td><td>Meta</td><td>&#10003;</td><td>&#10003;</td><td>Partial</td><td>Internal testing</td></tr>
28-
<tr><td>Computer / Comet</td><td>Perplexity</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
29-
<tr><td>Managerbot</td><td>Block (Square)</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Open beta</td></tr>
30-
<tr><td>Cody</td><td>CodeWords.ai</td><td>&#10003;</td><td>Partial</td><td>Partial</td><td>Beta</td></tr>
31-
<tr><td>Playbooks</td><td>Writer</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
32-
<tr><td>Proactive AI Agents</td><td>Tonkean</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
33-
<tr><td>AI Workers</td><td>MindStudio</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
34-
<tr><td>Agency</td><td>Browser Use</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
35-
<tr><td>Workers + Custom Agents</td><td>Notion</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
36-
<tr><td>Proton / Offsite</td><td>Mercury</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipped</td></tr>
37-
<tr><td>Agent Relay</td><td>Agent Relay</td><td>&#10003;</td><td>&#10003;</td><td>&#10003;</td><td>Shipping</td></tr>
24+
<tr><td>ChatGPT Pulse</td><td>OpenAI</td><td></td><td></td><td></td><td>Shipped (Pro)</td></tr>
25+
<tr><td>Orbit</td><td>Anthropic</td><td></td><td></td><td>Partial</td><td>Announced</td></tr>
26+
<tr><td>Gemini Spark</td><td>Google</td><td></td><td></td><td></td><td>Beta (AI Ultra, US)</td></tr>
27+
<tr><td>Hatch</td><td>Meta</td><td></td><td></td><td>Partial</td><td>Internal testing</td></tr>
28+
<tr><td>Computer / Comet</td><td>Perplexity</td><td></td><td></td><td></td><td>Shipped</td></tr>
29+
<tr><td>Managerbot</td><td>Block (Square)</td><td></td><td></td><td></td><td>Open beta</td></tr>
30+
<tr><td>Cody</td><td>CodeWords.ai</td><td></td><td>Partial</td><td>Partial</td><td>Beta</td></tr>
31+
<tr><td>Playbooks</td><td>Writer</td><td></td><td></td><td></td><td>Shipped</td></tr>
32+
<tr><td>Proactive AI Agents</td><td>Tonkean</td><td></td><td></td><td></td><td>Shipped</td></tr>
33+
<tr><td>AI Workers</td><td>MindStudio</td><td></td><td></td><td></td><td>Shipped</td></tr>
34+
<tr><td>Agency</td><td>Browser Use</td><td></td><td></td><td></td><td>Shipped</td></tr>
35+
<tr><td>Workers + Custom Agents</td><td>Notion</td><td></td><td></td><td></td><td>Shipped</td></tr>
36+
<tr><td>Proton / Offsite</td><td>Mercury</td><td></td><td></td><td></td><td>Shipped</td></tr>
37+
<tr><td>Agent Relay</td><td>Agent Relay</td><td></td><td></td><td></td><td>Shipping</td></tr>
3838
</tbody>
3939
</table>
4040

@@ -54,7 +54,7 @@ Every product on this list runs on a schedule. That's the easy primitive to buil
5454

5555
**[Orbit](https://www.testingcatalog.com/anthropic-is-working-on-orbit-its-upcoming-proactive-assistant/) (Anthropic)** was unveiled at the Code with Claude conference in May 2026. It generates proactive briefings from connected tools (Gmail, Slack, GitHub, Calendar, Drive, Figma) on a timezone-aware schedule. "Orbit apps" let users pin specific insight views. It has the listener, which puts it ahead of Pulse architecturally, though the inbox is still limited to the Claude interface.
5656

57-
**[Remy](https://www.droid-life.com/2026/05/07/google-ai-agent-remy/) (Google)** is the most ambitious on paper. A Gemini-powered "24/7 personal agent" that monitors signals across Gmail, Calendar, Docs, Drive, Keep, Tasks, GitHub, WhatsApp, Spotify, and Photos. It anticipates needs and executes multi-step workflows proactively. Currently in internal dogfood (employee-only Gemini app on phones), expected to surface publicly around Google I/O. If the integration depth is real, Remy has all three primitives working within the Google ecosystem.
57+
**[Gemini Spark](/posts/google-spark-io-2026/) (Google)** launched at [I/O 2026](https://blog.google/inside-google/message-ceo/google-io-2026-keynote-sundar-pichai/) (previously codenamed "Remy"). Powered by [Gemini 3.5](https://blog.google/technology/google-deepmind/gemini-3-5/) on dedicated [Google Cloud](https://cloud.google.com) VMs with the "Antigravity" orchestration harness, it runs 24/7 across five surfaces: Gemini app, email, chat, Android Halo, and Chrome agentic browser. Google services connect natively; third-party tools connect via Anthropic's [Model Context Protocol](https://modelcontextprotocol.io). Beta is open to [Google AI Ultra](https://one.google.com/about/google-ai-plans) subscribers in the US. All three primitives are present, with the broadest surface area of any entrant.
5858

5959
**[Hatch](https://aiautomationglobal.com/blog/google-remy-meta-hatch-personal-ai-agents-race-2026) (Meta)** is a general-purpose consumer agent trained in practice environments that replicate DoorDash, Etsy, and Reddit. It learns preferences, persists memory across conversations, and decides when to act without prompting. A separate Instagram shopping agent is also in development. Internal testing targets end of June 2026. The proactive design is there, but the delivery channels are still Meta-surface-only.
6060

@@ -98,15 +98,15 @@ Every product on this list arrived at roughly the same architecture independentl
9898

9999
The differences are in coverage and depth:
100100

101-
- **Coverage**: How many data sources can the agent watch? Google has a natural advantage with Remy because it already owns the data. Everyone else is integrating third-party APIs one at a time.
101+
- **Coverage**: How many data sources can the agent watch? Google has a natural advantage with Spark because it already owns the data. Everyone else is integrating third-party APIs one at a time.
102102
- **Depth**: Is the listener doing real-time event streaming or periodic polling? The user experience is completely different. A four-hour-old alert is not the same as a real-time notification.
103103
- **Delivery**: Can results go where the action is (Slack, email, tickets), or are they trapped in the product's own UI? Most horizontal assistants are still trapped.
104104

105105
I think the products that nail all three at depth are the ones people will actually reorganize their workflows around. Everyone else just ships a clock and calls it done, and those end up feeling like [another tab to check](/posts/chatgpt-pulse/).
106106

107107
## What to watch next
108108

109-
**Google I/O** (late May 2026) will likely show Remy publicly for the first time. If Google ships deep integration across its own ecosystem, the bar for everyone else goes up immediately.
109+
**Gemini Spark rollout.** Google [unveiled Spark at I/O 2026](/posts/google-spark-io-2026/) and opened a beta to AI Ultra subscribers in the US. Wider availability, pricing outside the Ultra tier, and the EU launch timeline are still unannounced. If integration depth matches the demo, the bar for everyone else goes up immediately.
110110

111111
**Meta Hatch** targeting end of June means two billion Instagram users could have a proactive agent within months. The scale implications are hard to overstate, even if the initial capabilities are narrow.
112112

content/posts/google-remy-background-agent.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
title: "Google Remy and the background agent bet"
33
summary: "Google is testing a 24/7 Gemini-powered agent that makes purchases, sends documents, and monitors your life. Here's what the leaked architecture tells us about where proactive agents are headed."
44
date: "2026-05-18"
5-
lastModified: "2026-05-18"
5+
lastModified: "2026-05-20"
66
accent: "sky"
77
dropcap: true
88
---
99

10+
*Update, May 20: [Google I/O 2026](https://blog.google/inside-google/message-ceo/google-io-2026-keynote-sundar-pichai/) happened. Remy is now Gemini Spark, powered by [Gemini 3.5](https://blog.google/technology/google-deepmind/gemini-3-5/) and using Anthropic's [Model Context Protocol](https://modelcontextprotocol.io) for third-party integrations. Read the full follow-up: [Gemini Spark: what Google shipped at I/O](/posts/google-spark-io-2026/).*
11+
1012
I've been poking at leaked Google docs all week. An internal document describes something called Remy: "your 24/7 personal agent for work, school, and daily life, powered by Gemini." Employees are already dogfooding it inside a staff-only version of the Gemini app. Google I/O starts tomorrow, and Remy is expected to be part of the keynote.
1113

1214
The marketing framing is whatever. What got me excited is that the reported architecture maps to infrastructure problems I've been writing about for weeks. Remy is Google's attempt to build a proactive agent on top of the largest consumer ecosystem on earth, and the choices they've made (and the ones they've deferred) tell you a ton about where this space is going.

0 commit comments

Comments
 (0)