Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

onboarding and engagement tool that transforms community interactions into actionable insights and automated nudges.

Notifications You must be signed in to change notification settings

SimronJ/f1-hackathon

Repository files navigation

We Won The Hackathon Alt text

PulseBoard πŸš€

The AI-powered cockpit for community onboarding and real-time engagement.


▢️ Live Demo & MVP Links

  • Loom Demo (2 min): https://www.loom.com/share/9f0f89f4f86f4a20907bdf0ba2700bda
  • Live MVP Link: https://pluseboard-tawny.vercel.app/

🧐 The Problem

Online communities bleed members for two main reasons:

  1. Onboarding Overload: New members join, land in a chaotic #welcome channel, and are immediately lost. They don't know which channels to join, who to talk to, or where to find relevant resources. This friction leads to high first-day churn.
  2. The Sound of Silence: Conversations lose momentum. Key channels become ghost towns. This "dead air" kills community energy and discourages members, new and old, from participating. Moderators often don't notice until it's too late.

✨ The Solution: PulseBoard

PulseBoard is a unified platform that solves both problems by turning raw data into meaningful action. It provides a seamless, personalized onboarding experience and equips moderators with the tools to proactively maintain community vibrancy.

It consists of two core, interconnected features:

  1. Smart Onboarding Flow: A personalized microsite that acts as a "Starter Kit," instantly connecting new members to the most relevant people, places, and content within the community.
  2. Live Engagement Monitor: A real-time dashboard that tracks the "pulse" of conversations, alerting moderators when energy is dropping and providing AI-generated prompts to revive discussion.

🎯 Core Features

  • Personalized Onboarding Microsite: A one-click welcome page that captures a new member's role and interests.
  • AI-Generated Member Bios: Automatically creates and posts a friendly introduction to a #introductions channel on the member's behalf.
  • Curated Recommendations: Instantly provides tailored suggestions for channels to join, mentors to connect with, and resources to explore.
  • Real-Time "Community Pulse" Dashboard: A moderator-facing view showing the live "energy score" of each channel.
  • AI-Powered Re-engagement Prompts: When a channel's pulse drops, the system DMs moderators with context-aware conversation starters.
  • Seamless Discord Integration: Works directly with your Discord server through a lightweight bot and webhooks.

🌊 Project Flow

For a New Member:

  1. Join: Joins the Discord server and sees a "Get Your Starter Kit" link.
  2. Personalize: Clicks the link to a microsite, fills out a 3-field form (Name, Role, Interests).
  3. Connect: Instantly sees a personalized page with recommended channels, people, and resources.
  4. Auto-Introduce: Their AI-generated bio is automatically posted in the #introductions channel, sparking their first interactions.

For a Moderator:

  1. Monitor: Views the /pulseboard dashboard to see a real-time health score for all key channels.
  2. Get Alerted: Receives a DM from the PulseBoard bot when a channel's engagement score drops below a threshold.
  3. Take Action: Uses the AI-suggested, context-aware prompt (e.g., "Ask a poll about X") to instantly re-engage the channel.
  4. See Impact: Watches the channel's pulse recover on the dashboard, confirming the intervention worked.

πŸ› οΈ Tech Stack

Category Technology
Frontend Next.js React
Styling Tailwind CSS
Backend Node.js Express.js
Real-time Socket.io
Database Supabase
AI OpenAI
Integration Discord.js
Deployment Vercel Render

πŸ—οΈ Architecture

graph TD
 subgraph Discord
 A[New Member] -->|Joins Server| B(Bot);
 B -->|Posts Welcome Link| C{#welcome-channel};
 M(Live Messages) --> B;
 end
 subgraph Browser
 A -->|Clicks Link| D[Microsite /onboard];
 D -->|Submits Form| E[Backend API];
 F[Mod Dashboard /pulseboard] <-->|WebSocket| E;
 end
 subgraph Backend
 E -->|Generates Bio & Recs| G[OpenAI API];
 E -->|Saves Profile| H[(Supabase DB)];
 E -->|Posts Bio| B;
 B -->|Sends Message Data| E;
 E -->|Calculates Pulse| E;
 E -->|If Pulse Low, DM Mod| B;
 end
 style A fill:#7289DA,color:#fff
 style B fill:#5865F2,color:#fff
 style D fill:#000,color:#fff
 style F fill:#000,color:#fff
 style E fill:#339933,color:#fff
 style H fill:#3ECF8E,color:#fff
Loading

βœ… How We Meet the Hackathon Criteria

Criteria Our Approach
Code Quality & Org A clean monorepo structure with distinct directories for the client and server. Code is documented, and API contracts are clear and easy to follow.
Scalability & Performance Built on a modern, scalable stack. The backend is stateless, the database is a managed service (Supabase), and real-time events are handled efficiently via WebSockets.
Integration & Usability Provides a seamless UX loop from Discord to a web app and back again. The onboarding is intuitive for new members, and the dashboard gives mods actionable data, not just noise.
Innovation & Creativity We uniquely combine personalized onboarding with proactive, AI-driven engagement monitoring. We don't just welcome users; we use their data to keep the community healthy long-term.
Community Impact Directly addresses two of the biggest drivers of community churn: poor onboarding and channel inactivity. The impact is measurable through retention stats and the "pulse recovery" metric.

βš™οΈ Getting Started (Local Setup)

  1. Clone the repository:

    git clone [https://github.com/SimronJ/f1-hackathon]
    cd [f1-hackathon]
  2. Set up environment variables:

    • Create a .env.local file in the ./client directory.
    • Create a .env file in the ./server directory.
    • Populate them with your keys based on the .env.example files in each directory (Discord Bot Token, OpenAI Key, Supabase Keys, etc.).
  3. Install dependencies for both client and server:

    # In the root directory
    npm run install:all
  4. Run the development servers:

    # In the root directory
    npm run dev

    This will start the Next.js frontend and the Node.js backend concurrently.


πŸ§‘β€πŸ’» The Team

  • Simran - [Role, e.g., Backend & Bot Wrangler]
  • Sai - [Role, e.g., Frontend & UX Magician]
  • Yang - [Role, e.g., AI Prompt & Integration Lead]

About

onboarding and engagement tool that transforms community interactions into actionable insights and automated nudges.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /