Documentation

Everything you need to add Jamwidgets widgets to your site.

Packages

GalleriesNew

Upload responsive photos once, organize albums in the dashboard, and embed a live gallery index or a single collection.

Embed a gallery
MCPAgents

Review the editorial inbox, write drafts, schedule posts, and inspect deploy work from an MCP client.

Connect an agent
@jamwidgets/astroRecommended

Drop-in Astro components for comments, reactions, forms, and subscriptions. Includes a content loader for fetching posts at build time.

@jamwidgets/core

Framework-agnostic API client and headless controllers. Use this to build custom integrations or with any framework.

@jamwidgets/react

React hooks for comments, reactions, forms, and subscriptions. Works with Next.js, Remix, Vite, and more.

@jamwidgets/solid

SolidJS primitives for comments, reactions, forms, and subscriptions. Works with SolidStart, Astro, and standalone apps.

Quick Start (Astro)

1. Install the package

npm install @jamwidgets/astro

2. Add your public site key

Create a site in your Jamwidgets dashboard, copy its public site key, and add it to .env. It's safe to ship in your pages: it identifies the site and grants no dashboard access.

JAMWIDGETS_SITE_KEY=your-site-key

3. Add components to your pages

---
import Comments from '@jamwidgets/astro/Comments'
import Reactions from '@jamwidgets/astro/Reactions'
import Subscribe from '@jamwidgets/astro/Subscribe'
---

<article>
  <!-- your content -->
</article>

<!-- Add comments to your blog posts -->
<Comments siteKey={import.meta.env.JAMWIDGETS_SITE_KEY} pageId="my-post" />

<!-- Add reactions (likes, claps, etc.) -->
<Reactions siteKey={import.meta.env.JAMWIDGETS_SITE_KEY} pageId="my-post" />

<!-- Add a subscription form -->
<Subscribe siteKey={import.meta.env.JAMWIDGETS_SITE_KEY} />

Available Widgets

Comments

Threaded discussions with moderation

Reactions

Hearts, claps, and custom reaction types

Forms

Contact forms with spam protection

Subscribe

Email subscriptions with double opt-in

Waitlist

Collect signups before launch

Feedback

Bug reports and feature requests

Polls

Surveys with real-time results

Announcements

Site-wide banners and notices

Views

Page view tracking and analytics

Posts

Content loader for CMS posts

Galleries

Live albums, filtered galleries, and random photos

API Reference

All widgets communicate with our REST API. If you're building a custom integration, you can use the API directly or through the @jamwidgets/core package.

View API Reference