Skip to content

adaptiveX-gh/slidev-feedback-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Slidev Real-time Feedback Skill

Enable live audience reactions and feedback during Slidev presentations with WebSocket-powered real-time updates.

Features

  • ๐Ÿ“Š Real-time Reactions - Instant audience feedback with emoji reactions
  • ๐Ÿ”„ Live Updates - WebSocket-based communication for zero-latency updates
  • ๐Ÿ“ˆ Analytics Dashboard - Track engagement metrics and reaction patterns
  • ๐ŸŽจ Embeddable Widget - Drop-in widget for any website or Slidev presentation
  • ๐Ÿƒ Durable Objects - Persistent state management with Cloudflare
  • ๐ŸŽฏ Slide Sync - Automatic slide tracking and reaction mapping
  • ๐Ÿ’ฌ Questions & Comments - Collect audience questions per slide
  • ๐Ÿ“ฑ Mobile Optimized - QR code access for audience members

Installation

Via Amagen Dashboard

  1. Navigate to My Skills > Add Skill
  2. Select Import from GitHub
  3. Enter repository URL: https://github.com/YOUR_USERNAME/slidev-feedback-skill
  4. Click Import Skill

Manual Installation

git clone https://github.com/YOUR_USERNAME/slidev-feedback-skill
cd slidev-feedback-skill
pnpm install
pnpm build

Usage

1. Create Feedback Session (Dashboard)

Navigate to the skill in your Amagen dashboard and click "Create New Session". Configure:

  • Presentation title
  • Number of slides
  • Allowed reaction types
  • Authentication requirements

2. Embed in Slidev

Add to your slides.md:

---
layout: default
---

# My Slide Title

<iframe 
  src="https://widgets.amagen.app/widget/SESSION_ID" 
  width="100%" 
  height="120px" 
  frameborder="0">
</iframe>

Or add globally to all slides via setup/main.ts:

import { defineAppSetup } from '@slidev/types'

export default defineAppSetup(({ app }) => {
  // Add feedback widget to all slides
})

3. Monitor Reactions (Presenter View)

Access the presenter dashboard in Amagen to see:

  • Real-time reactions as they happen
  • Current slide indicator
  • Participant count
  • Question feed
  • Engagement heatmap

Configuration

Reaction Sets

Choose from preset reaction sets or customize:

// Professional
["๐Ÿ‘", "๐Ÿ‘Ž", "โ“", "๐Ÿ’ก", "โœ…"]

// Engaging
["โค๏ธ", "๐Ÿ”ฅ", "๐Ÿ˜ฎ", "๐Ÿค”", "๐Ÿ‘"]

// Educational
["๐ŸŽฏ", "๐Ÿ’ก", "โ“", "โœ…", "โญ"]

Authentication Modes

  • Open: Anyone can react (default)
  • Authenticated: Requires Amagen login
  • Token: Custom access tokens

Session Settings

  • Duration: Auto-close after N hours
  • Rate Limiting: Max reactions per user per slide
  • Moderation: Review questions before display

Slidev Integration

Global Feedback Component

Create components/FeedbackWidget.vue:

<template>
  <div class="feedback-widget">
    <iframe 
      :src="`https://widgets.amagen.app/widget/${sessionId}?slide=${$slidev.nav.currentPage}`"
      width="100%" 
      height="120px" 
      frameborder="0"
    />
  </div>
</template>

<script setup>
const sessionId = 'YOUR_SESSION_ID'
</script>

Presenter Notes Integration

Add to presenter notes to see reactions inline:

---
layout: default
---

# Slide Title

Content here...

<!--
Feedback Dashboard: https://app.amagen.com/skills/slidev-feedback/dashboard/SESSION_ID
-->

Examples

Workshop Feedback

Perfect for training sessions:

  • Question collection per slide
  • Understanding checks
  • Engagement tracking

Conference Talk

Great for large audiences:

  • Quick emoji reactions
  • Real-time sentiment
  • Q&A collection

Educational Lecture

Ideal for teaching:

  • Comprehension ratings
  • Clarification requests
  • Topic interest gauge

API

Create Session

POST /api/skills/slidev-feedback/create
{
  "presentationTitle": "React Best Practices",
  "slideCount": 30,
  "allowedReactions": ["๐Ÿ‘", "โค๏ธ", "๐Ÿ”ฅ", "๐Ÿค”", "๐Ÿ‘"],
  "requireAuth": false
}

Submit Reaction

POST /api/skills/slidev-feedback/react
{
  "sessionId": "xxx",
  "slideNumber": 5,
  "reaction": "๐Ÿ‘",
  "userId": "optional"
}

Get Analytics

GET /api/skills/slidev-feedback/analytics/SESSION_ID

Development

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

# Deploy Durable Objects to Cloudflare
pnpm deploy:worker

# Run tests
pnpm test

Architecture

  • Frontend: React + TypeScript + shadcn/ui
  • Backend: Express handlers + Cloudflare Workers
  • Real-time: WebSockets via Durable Objects
  • Storage: Supabase for analytics, DO for live state
  • Deployment: Amagen platform + Cloudflare edge

License

MIT ยฉ [Your Name]

Support

Acknowledgments

Based on the original slidev-realtime-feedback-do by Harshil Agrawal.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors