Skip to content

【Every star feeds a hungry developer's motivation! ⭐】Modern AI assistant built with Next.js 15 & Google Gemini Pro for AI Hackathon Festival 2025. Features full-screen chat, real-time streaming, FAQ voting system, and responsive design. Empowers hackathon participants and mentors.

License

Notifications You must be signed in to change notification settings

ChanMeng666/ai-hackathon-assistant-2025

Repository files navigation

🤖 AI Hackathon Festival 2025 Assistant

Interactive AI Assistant with Community-Driven FAQ

A modern, full-featured AI assistant website designed to help students and mentors with all aspects of the AI Hackathon Festival 2025.
Features a full-screen chat interface with Google Gemini Pro and community-driven FAQ voting system.
One-click FREE deployment on Vercel.

🚀 Visit Live Demo 🚀

Share AI Hackathon Assistant

🌟 Pioneering the future of AI-powered event assistance. Built for hackathon participants and mentors.

📸 Project Screenshots

Tip

Experience the full-screen AI chat interface and community-driven FAQ system in action.

Desktop Interface

Main Interface - AI Chat (70%) + FAQ Sidebar (30%)

Mobile Chat Mobile FAQ

Mobile Views - Responsive Tabbed Interface

Tech Stack Badges:

Important

This project demonstrates modern full-stack development with Next.js 15, TypeScript, and Google Gemini Pro AI. It combines full-screen chat interface with community-driven FAQ voting system to provide comprehensive hackathon support.

📑 Table of Contents

TOC


✨ Key Features

1 Full-Screen AI Chat Experience

Transform your hackathon experience with our revolutionary AI assistant powered by Google Gemini Pro. Unlike traditional popup chatbots, our full-screen interface puts AI conversation at the center of your experience.

Key capabilities include:

  • 🚀 Real-time Streaming: Character-by-character live responses
  • 🎯 Smart Suggestions: Pre-populated question cards for quick start
  • 💬 Multi-line Input: Auto-resizing textarea with Shift+Enter support
  • 🔄 Persistent History: 50 messages saved locally across sessions
  • Instant Integration: FAQ questions flow seamlessly into chat

Tip

Try asking: "How do I form a team for the hackathon?" or click any FAQ card to see the instant integration in action.

2 Community-Driven FAQ System

Revolutionary FAQ management that evolves with your community. Users vote on helpful questions, automatically surfacing the most valuable content to the top.

FAQ Voting Demo

Community Voting in Action - Questions ranked by helpfulness

Available Features:

  • Voting System: 👍 Helpful / 👎 Not helpful with real-time sorting
  • Smart Search: Find questions by keywords in title or content
  • Category Filter: Browse by Event Info, Teams, Technical, etc.
  • View Tracking: Popular questions rise to the top naturally
  • One-Click Chat: Send any FAQ directly to AI for follow-up

* Additional Features

Beyond the core functionality, this project includes:

  • 💨 Instant Setup: Deploy in under 1 minute with one-click Vercel deployment
  • 🌐 Responsive Design: Perfect experience on desktop (70/30 split) and mobile (tabs)
  • 🔒 Privacy First: All chat data stored locally, no server persistence
  • 💎 Modern Animations: Framer Motion powered micro-interactions
  • 🎨 Beautiful UI: shadcn/ui components with Tailwind CSS
  • 📊 Real-time Updates: Live vote counts and instant FAQ integration
  • 🔌 Extensible: Easy to add new question categories and features
  • Performance Optimized: Lazy loading, efficient state management

✨ Built specifically for the AI Hackathon Festival 2025 with hackathon-specific Q&A database.

🛠️ Tech Stack

Next.js
Next.js 15
React
React 18
TypeScript
TypeScript 5
Tailwind
Tailwind CSS
Gemini
Gemini Pro
Vercel
Vercel

Frontend Stack:

  • Framework: Next.js 15.4.0 with App Router
  • Language: TypeScript for type safety
  • Styling: Tailwind CSS v3 + Framer Motion v12
  • UI Components: shadcn/ui + Radix UI primitives
  • State Management: React hooks + Local Storage

AI Integration:

  • AI SDK: Vercel AI SDK v4.3.19 for streaming
  • AI Provider: Google Gemini Pro via @ai-sdk/google
  • Features: Real-time streaming, context awareness
  • Performance: Optimized for low-latency responses

DevOps & Performance:

  • Deployment: Vercel with automatic CI/CD
  • Performance: Lazy loading, efficient bundling
  • Monitoring: Built-in error boundaries
  • SEO: Next.js App Router with metadata

Tip

Each technology was carefully selected for developer experience, performance, and production readiness.

🏗️ Architecture

graph TB
    subgraph "Frontend Layer"
        A[Next.js App Router] --> B[React Components]
        B --> C[Tailwind Styling]
        C --> D[Framer Animations]
    end
    
    subgraph "AI Integration"
        E[Vercel AI SDK] --> F[Google Gemini Pro]
        F --> G[Streaming Responses]
    end
    
    subgraph "Data Layer"
        H[Local Storage] --> I[Chat History]
        H --> J[FAQ Votes]
        H --> K[User Preferences]
    end
    
    subgraph "Deployment"
        L[Vercel Platform]
        M[Edge Functions]
        N[Static Generation]
    end
    
    A --> E
    B --> H
    L --> A
    L --> M
    M --> F
Loading

Component Architecture

src/
├── app/                    # Next.js App Router
│   ├── api/chat/          # AI streaming endpoint
│   ├── globals.css        # Global styles
│   ├── layout.tsx         # Root layout
│   └── page.tsx           # Main interface
├── components/            # React components
│   ├── chat/             # Chat interface
│   ├── faq/              # FAQ system
│   ├── chatbot/          # Shared components
│   └── ui/               # Base UI components
├── hooks/                # Custom React hooks
│   └── use-faq-voting.ts # FAQ voting logic
├── lib/                  # Utilities
│   └── utils.ts          # Helper functions
└── public/               # Static assets

🚀 Getting Started

Prerequisites

Important

Ensure you have the following installed:

Quick Installation

1. Clone Repository

git clone https://github.com/ChanMeng666/ai-hackathon-assistant-2025.git
cd ai-hackathon-assistant-2025

2. Install Dependencies

# Using npm
npm install

# Using yarn
yarn install

# Using pnpm (recommended)
pnpm install

3. Environment Setup

# Copy environment template
cp .env.example .env.local

# Edit environment variables
nano .env.local

Environment Setup

Create .env.local file with the following variables:

# Required: Google Gemini Pro API Key
GOOGLE_GENERATIVE_AI_API_KEY=your_google_gemini_api_key_here

# Optional: Application settings
NODE_ENV=development
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_secret_key_here

Tip

Get your Google Gemini API key from Google AI Studio. Use openssl rand -base64 32 to generate secure random secrets.

4. Start Development

npm run dev

🎉 Success! Open http://localhost:3000 to view the application.

🛳 Deployment

Important

Choose the deployment strategy that best fits your needs. Vercel is recommended for seamless Next.js deployment.

A One-Click Deployment

Deploy to Vercel (Recommended)

Deploy with Vercel

B Manual Deployment

Vercel CLI:

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel --prod

Other Platforms:

Deploy with Netlify Deploy with Railway
Deploy to Netlify Deploy on Railway

C Environment Variables

Warning

Never commit sensitive environment variables to version control. Use secure secret management in production.

Variable Description Required Example
GOOGLE_GENERATIVE_AI_API_KEY Google Gemini Pro API key AIza...
NEXTAUTH_SECRET Session encryption secret 🔶 generated-secret-key
NEXTAUTH_URL Application URL 🔶 https://your-domain.vercel.app
NODE_ENV Environment mode 🔶 production

Note

✅ Required, 🔶 Optional

📖 Usage Guide

Main Interface

Desktop Experience:

  • AI Chat (70%): Full-screen conversational interface
  • FAQ Sidebar (30%): Community-driven question voting
  • Seamless Integration: Click FAQ → flows into chat instantly

Mobile Experience:

  • Tab Navigation: Swipe between Chat and FAQ views
  • Optimized Layout: Full-screen on smaller devices
  • Gesture Support: Native mobile interactions
Desktop Layout

Desktop: AI Chat dominates with FAQ sidebar for quick access

AI Chat Features

Getting Started:

  1. Choose Your Path:

    • Click suggestion cards for instant common questions
    • Type custom questions in natural language
    • Send FAQ questions for detailed follow-up
  2. Advanced Features:

    • Multi-line Input: Use Shift+Enter for line breaks
    • Context Awareness: AI remembers conversation history
    • Instant Responses: Real-time streaming from Google Gemini Pro

Example Interactions:

User: "How do I form a team?"
AI: [Streams detailed team formation guidance]

User: "What if I don't have technical skills?"
AI: [Provides specific advice for non-technical participants]

FAQ Voting System

Community-Driven Ranking:

Feature Description Benefit
👍 Upvote Mark questions as helpful Valuable content rises to top
👎 Downvote Flag less useful content Improves overall quality
🔍 Search Find by keywords Quick access to specific topics
🏷️ Filter Browse by category Organized content discovery
💬 Send to Chat One-click integration Seamless AI follow-up

Available Categories:

  • 📅 Event Information: Dates, schedule, logistics
  • 👥 Team Formation: Finding teammates, roles, composition
  • ⚙️ Technical Details: AI requirements, datasets, tools
  • 🏆 Awards & Judging: Criteria, prizes, evaluation process
  • 🎯 Mentorship: Getting help, Discord, support channels

For Students and Mentors

Students can get help with:

  • 🎯 Getting Started: First-time hackathon guidance
  • 👥 Team Building: Finding the right teammates
  • 💡 Idea Development: Brainstorming and validation
  • ⚙️ Technical Setup: Tools, APIs, development environment

Mentors can assist with:

  • 📚 Resource Sharing: Point to useful FAQ answers
  • 🎓 Teaching Moments: Use chat for detailed explanations
  • 🔍 Quick References: Browse FAQ for common student questions
  • 💬 Office Hours: Efficient Q&A through familiar interface

Interaction Flow

flowchart TD
    A[Open Website] --> B{Choose Starting Point}
    B -->|Quick Help| C[Click FAQ Card]
    B -->|Custom Question| D[Type in Chat]
    B -->|Browse Topics| E[Explore FAQ Categories]
    
    C --> F[Read FAQ Answer]
    F --> G[Send to Chat for More]
    
    D --> H[AI Streaming Response]
    H --> I[Ask Follow-up Questions]
    
    E --> J[Vote on Helpful Questions]
    J --> K[Discover Related Topics]
    
    G --> H
    I --> L[Continue Conversation]
    K --> C
    L --> M[Auto-saved Progress]
Loading

Tip

Pro Tip: Start with FAQ browsing to discover common topics, then use chat for personalized follow-up questions. Your votes help improve the experience for everyone!

🔌 Customization

Adding New Preset Questions

Extend the FAQ database by editing components/chatbot/preset-questions.ts:

{
  id: 'unique-id',
  category: 'event-info', // Available: event-info, teams, technical, schedule, mentors, awards, logistics
  question: 'Your question here?',
  answer: 'The detailed answer with helpful information...'
}

Modifying AI Behavior

Customize the AI assistant's personality and knowledge by updating the system prompt in app/api/chat/route.ts:

const systemPrompt = `You are an AI assistant for the AI Hackathon Festival 2025...
- Add specific instructions
- Include domain knowledge
- Set response tone and style
`;

Styling and Theming

Global Styles:

/* app/globals.css */
:root {
  --primary-color: #4F46E5;
  --secondary-color: #059669;
  /* Add custom CSS variables */
}

Component Styling:

  • Individual components use Tailwind CSS classes
  • Theme colors defined in tailwind.config.js
  • Animations powered by Framer Motion

Adding New Categories

  1. Update Types (components/chatbot/types.ts):
export type QuestionCategory = 'event-info' | 'teams' | 'your-new-category';
  1. Add Display Name (components/chatbot/preset-questions.ts):
const categoryNames = {
  'your-new-category': 'Your Category Name'
};
  1. Create Questions with the new category value.

🤝 Contributing

We welcome contributions! Here's how you can help improve this project:

Development Process

1. Fork & Setup:

# Fork the repository on GitHub
git clone https://github.com/YOUR_USERNAME/ai-hackathon-assistant-2025.git
cd ai-hackathon-assistant-2025

# Install dependencies
pnpm install

# Create environment file
cp .env.example .env.local
# Add your API keys

2. Create Feature Branch:

git checkout -b feature/amazing-new-feature

3. Development Guidelines:

  • ✅ Follow TypeScript best practices
  • ✅ Add comprehensive tests for new features
  • ✅ Use consistent code formatting (Prettier + ESLint)
  • ✅ Include JSDoc comments for public APIs
  • ✅ Follow accessibility guidelines (WCAG 2.1)

4. Submit Pull Request:

  • Provide clear description of changes
  • Include screenshots for UI changes
  • Reference related issues
  • Ensure all checks pass

Contribution Areas

Type Description Examples
🐛 Bug Fixes Fix existing issues API errors, UI glitches, performance
New Features Add functionality New categories, UI improvements
📚 Documentation Improve guides README updates, code comments
🎨 Design Visual improvements Better animations, color schemes
Performance Optimize speed Bundle size, loading times

Code of Conduct

  • Be respectful and inclusive
  • Provide constructive feedback
  • Help newcomers learn and contribute
  • Focus on the project's goals

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Open Source Benefits:

  • ✅ Commercial use allowed
  • ✅ Modification allowed
  • ✅ Distribution allowed
  • ✅ Private use allowed

👥 Team

Chan Meng
Chan Meng

Creator & Lead Developer

Author Contact:


🚀 Building the Future of AI-Powered Event Assistance 🌟
Empowering hackathon participants and mentors worldwide

Star us on GitHub • 📖 Read the Documentation • 🐛 Report Issues • 💡 Request Features • 🤝 Contribute



Made with ❤️ by the AI Hackathon Assistant team

Star on GitHub Fork on GitHub Follow @ChanMeng666


About

【Every star feeds a hungry developer's motivation! ⭐】Modern AI assistant built with Next.js 15 & Google Gemini Pro for AI Hackathon Festival 2025. Features full-screen chat, real-time streaming, FAQ voting system, and responsive design. Empowers hackathon participants and mentors.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published