Skip to content

AWaleed-Ahmed/devcon

Repository files navigation

Ai Event Manager — Smart Event Management & Networking Platform

An AI-powered event management platform built with Next.js, enabling organizers to create, manage, and optimize conferences with intelligent networking, interactive venue management, and real-time session coordination.

Next.js  TypeScript  Tailwind CSS  Clerk  Supabase  Prisma  Google Gemini  Zustand  PWA

Features

Core Platform

  • Multi-Tenant Event Management — Dashboard with registrations, revenue tracking, and attendance trends
  • Advanced Registration System — Multi-step registration with ticket selection, interest tagging, and sandbox payment
  • Interactive Floor Plan Editor — Drag-and-drop SVG-based venue builder with element properties panel
  • Session Management — Browse sessions by day/track with caapacity tracking and search
  • Custom Badge Designer — Template-based badge creator with dynamic fields and PNG/PDF export

AI/ML Integration

  • AI Networking Engine — Interest-based attendee matching with compatibility scoring and conversation starters
  • RAG-Powered Event Chatbot — Context-aware assistant trained on event data (schedule, speakers, venue, FAQ)

UX & Accessibility

  • Responsive design (mobile-first)
  • Keyboard navigation support
  • Clean, accessible UI with shadcn/ui components

Tech Stack

Layer Technology
Framework Next.js 16 (App Router, Turbopack)
Language TypeScript
Styling Tailwind CSS 4 + shadcn/ui (Radix UI)
State Zustand
Auth Clerk (@clerk/nextjs)
Database Supabase (PostgreSQL)
ORM Prisma
AI Chatbot Google Gemini (@google/genai) + RAG-lite fallback
Badge Export html2canvas-pro + jsPDF
QR Codes qrcode
Floor Plan react-dnd (drag-and-drop)
Charts Recharts
Gesture Control MediaPipe (@mediapipe/tasks-vision)
Voice Navigation Web Speech API
Networking Interest intersection + cosine similarity algorithm
PWA Custom Service Worker + Web App Manifest

Architecture

src/
├── app/
│   ├── layout.tsx                          # Root layout (Clerk, PWA, fonts, metadata)
│   ├── page.tsx                            # Landing page (composed sections)
│   ├── globals.css
│   ├── (auth)/
│   │   ├── sign-in/[[...sign-in]]/page.tsx # Clerk Sign-In
│   │   └── sign-up/[[...sign-up]]/page.tsx # Clerk Sign-Up
│   ├── register/page.tsx                   # Multi-step registration + payment
│   ├── api/
│   │   └── chat/route.ts                   # Gemini AI chat endpoint
│   └── dashboard/
│       ├── layout.tsx                      # Sidebar nav, role switcher, gesture/voice
│       ├── page.tsx                        # Overview dashboard
│       ├── events/                         # Event CRUD
│       ├── registrations/                  # Attendee management
│       ├── sessions/page.tsx               # Session browser + AI recs
│       ├── agenda/page.tsx                 # Personalized agenda builder
│       ├── floor-plan/page.tsx             # Drag-and-drop venue editor
│       ├── networking/page.tsx             # AI networking matches + graph
│       ├── badge-designer/page.tsx         # Badge templates + export
│       ├── polls/page.tsx                  # Live polls & Q&A
│       ├── chat/page.tsx                   # AI assistant (RAG-lite + Gemini)
│       └── interactive/
│           ├── qa/page.tsx                 # Q&A moderation
│           └── notes/                      # Session notes
│
├── components/
│   ├── ui/                                 # shadcn/ui primitives (tabs, badge, card, etc.)
│   ├── landing/                            # Landing page sections
│   │   ├── navbar.tsx
│   │   ├── hero.tsx
│   │   ├── features.tsx
│   │   ├── speakers.tsx
│   │   ├── schedule.tsx
│   │   ├── tickets.tsx
│   │   ├── cta.tsx
│   │   └── footer.tsx
│   ├── network-graph.tsx                   # Canvas-based network visualization
│   ├── voice-navigation.tsx                # Voice command UI
│   ├── pwa-provider.tsx                    # PWA service worker registration
│   └── gesture-control.tsx                 # MediaPipe gesture UI
│
├── hooks/
│   └── use-voice-navigation.ts             # Speech recognition hook
│
├── lib/
│   ├── types.ts                            # All TypeScript interfaces
│   ├── data.ts                             # Sample event data, users, sessions, context
│   ├── store.ts                            # Zustand global state
│   ├── matcher.ts                          # Interest-based networking algorithm
│   ├── recommendations.ts                  # AI agenda/session recommendations
│   ├── rbac.ts                             # Role-based access control
│   ├── supabase-queries.ts                 # Supabase CRUD operations
│   ├── gesture-recognition.ts              # MediaPipe hand gesture engine
│   ├── gesture-actions.ts                  # Gesture → navigation mapping
│   └── utils.ts                            # Utility functions (cn, etc.)
│
public/
├── manifest.json                           # PWA manifest
├── sw.js                                   # Service worker (network-first + cache)
├── offline.html                            # Offline fallback page
├── icons/                                  # PWA icons (72–512px)
│
prisma/
├── schema.prisma                           # Database schema
│
scripts/
├── seed.ts                                 # Faker-based DB seeder (150 users, 30 speakers, 5 events)
│
mockup/ 

Sample Event Data

The platform comes pre-loaded with Ai Event Manager sample data:

  • 500 max attendees, 6 speakers, 11 sessions across 3 days
  • 5 tracks: AI & ML, Cloud & DevOps, Security, Product & Design, Sustainability
  • 4 ticket types with pricing
  • 10 sample attendees with interests for networking demo
  • Complete venue info for chatbot

Deployment

Deploy to Vercel:

npx vercel

Team

Built for the Webathon competition.

License

MIT

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors