Inspiration

We spend most of our working hours in the browser - Gmail, GitHub, Notion, Figma. The Actions Ring is great for desktop apps, but every time we switched to the browser, it failed to impress. Same generic shortcuts, no awareness of context. We wanted the ring to follow us into the web.

What it does

AddaSwift makes the Actions Ring context-aware for websites. On Gmail, the ring shows Archive, Snooze, Compose. On GitHub - Merge PR, Request Review. On Notion - New Page, Search. It also surfaces bookmarks and quick-launch links. Everything configures through Logitech Options+.

How we built it

An Actions SDK plugin built on PluginDynamicCommand that updates the ring at runtime based on the active browser tab. A bridge layer - a desktop app paired with a Chrome extension - communicates browser context to the plugin. We reach websites through three stacking layers: native keyboard shortcuts, DOM element targeting, and WebMCP integration.

Challenges we ran into

The web has no universal API for "what can I do here." Mapping the static ring to dynamic web content while keeping it responsive was the central design challenge.

Accomplishments that we're proud of

Contextual ring updates that feel immediate as you switch tabs.

What we learned

PluginDynamicCommand is more flexible than it first appears. The gap between what users can do on a page and what's programmatically accessible is exactly why WebMCP matters.

Built With

Share this project:

Updates