Skip to content

ShavonHarris-Dev/Digital_Business_Card

Repository files navigation

πŸ€– AI-Powered Digital Business Card

A modern, interactive digital business card featuring AI-powered conversations and natural voice synthesis β€” built from scratch to showcase full-stack development and cutting-edge AI integration.

Live Demo React OpenAI Netlify


🌟 Highlights

  • Intelligent Conversations β€” Powered by OpenAI GPT-4, the chatbot answers questions about my background, skills, and projects with contextual awareness
  • Natural Voice Synthesis β€” Hear responses spoken aloud via ElevenLabs text-to-speech for an immersive, accessible experience
  • Enterprise-Grade Security β€” CSRF protection, rate limiting (10 req/min), input sanitization, and Helmet security headers
  • Progressive Web App (PWA) β€” Installable on any device with offline support and optimized caching strategies
  • Serverless Architecture β€” Backend runs entirely on Netlify Functions, eliminating server management overhead
  • Built from 0 to 1 β€” Demonstrates end-to-end product ownership from concept to production deployment

ℹ️ Overview

This project serves as my interactive digital presence β€” a business card that doesn't just display information, but engages with visitors through intelligent conversation. Whether you're a recruiter, fellow developer, or potential collaborator, you can ask the AI chatbot questions about my experience, technical skills, or projects, and receive personalized, voice-enabled responses.

Why I Built This

After building enterprise applications serving 50,000+ users at Trellix (including 80% of Fortune 100 companies), I wanted to create something that showcased my ability to:

  • Design and ship full-stack applications from scratch
  • Integrate cutting-edge AI features into user-facing products
  • Build secure, scalable serverless architectures
  • Deliver accessible, polished user experiences

This project reflects the same standards I held while developing mission-critical cybersecurity workflows β€” just with a more personal touch.

✍🏾 Author

I'm Shavon Harris, a Full-Stack Software Engineer specializing in React, Node.js, and AI integrations. I've built enterprise-grade applications processing 68 billion queries daily, automated workflows saving 10+ hours weekly, and delivered AI-powered products that prioritize accessibility and user experience. This digital business card represents my commitment to building high-impact, innovative solutions.

Learn more: LinkedIn | Portfolio


πŸš€ Features & Capabilities

AI Chatbot

  • Context-Aware Responses β€” The AI is trained on my professional background, projects, and expertise
  • Natural Conversations β€” Ask about my experience at Trellix, technical skills, side projects, or career goals
  • Voice Output β€” Toggle voice mode to hear responses via ElevenLabs TTS synthesis

Security & Performance

  • CSRF Token Protection β€” Every chat request validated with secure tokens
  • Rate Limiting β€” 10 requests per minute per user to prevent abuse
  • Input Sanitization β€” XSS protection with DOMPurify on all user inputs
  • Helmet Headers β€” HTTP security headers configured for production

Progressive Web App

  • Installable β€” Add to home screen on mobile/desktop for native-like experience
  • Offline Fallback β€” Service worker provides graceful degradation when offline
  • Optimized Caching β€” Strategic cache-first/network-first policies for assets and API calls

🎁 Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Netlify CLI (for local serverless function testing)

Installation

# Clone the repository
git clone https://github.com/yourusername/digital-business-card.git
cd digital-business-card

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Add your OPENAI_API_KEY and ELEVENLABS_API_KEY

Running Locally

# Frontend only (Vite dev server)
npm run dev

# Full stack with serverless functions (recommended)
npm start

Navigate to http://localhost:8888 to see the app in action.

Production Build

# Create optimized production build
npm run build

# Preview production build locally
npm run preview

πŸ—οΈ Tech Stack

Frontend

  • React 18 β€” Modern component-based UI with hooks
  • Vite β€” Lightning-fast build tool and dev server
  • Custom CSS β€” Themeable design system with CSS variables
  • PWA β€” Manifest, service worker, and offline support

Backend (Serverless)

  • Netlify Functions β€” Express.js running as serverless endpoints
  • OpenAI API (GPT-4) β€” Contextual chatbot responses
  • ElevenLabs β€” Natural-sounding text-to-speech synthesis
  • DOMPurify β€” Client-side XSS sanitization

DevOps & Security

  • Netlify Deployment β€” Continuous deployment from main branch
  • CSRF Protection β€” Token-based request validation
  • Rate Limiting β€” Per-user throttling via in-memory store
  • Helmet β€” HTTP security headers (CSP, HSTS, X-Frame-Options)

πŸ“‚ Project Structure

β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ Components/          # React components
β”‚   β”‚   β”œβ”€β”€ ChatBox.jsx      # AI chatbot interface
β”‚   β”‚   β”œβ”€β”€ About.jsx        # Profile information
β”‚   β”‚   β”œβ”€β”€ Footer.jsx       # Contact links
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ App.jsx              # Root component
β”‚   └── index.css            # Global styles & CSS variables
β”‚
β”œβ”€β”€ netlify/functions/       # Serverless API endpoints
β”‚   β”œβ”€β”€ chat.js              # OpenAI + ElevenLabs integration
β”‚   └── csrf-token.js        # Security token generation
β”‚
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ manifest.json        # PWA configuration
β”‚   β”œβ”€β”€ sw.js                # Service worker
β”‚   └── offline.html         # Offline fallback page
β”‚
β”œβ”€β”€ shavon_profile.json      # AI training data (bio, skills, projects)
β”œβ”€β”€ netlify.toml             # Deployment & redirect config
└── vite.config.js           # Vite build configuration

πŸ”’ Security Features

This application implements production-grade security despite being a personal project:

Feature Implementation Impact
CSRF Protection Token validation on all POST requests Prevents cross-site attacks
Rate Limiting 10 requests/minute per IP Mitigates abuse & API cost
Input Sanitization DOMPurify on user messages Blocks XSS vulnerabilities
Helmet Headers CSP, HSTS, X-Frame-Options Defense-in-depth security
Environment Secrets API keys in Netlify env vars No credentials in codebase

🎨 Customization

Personalizing the AI

Edit shavon_profile.json to update the chatbot's knowledge base:

{
  "name": "Your Name",
  "role": "Your Title",
  "experience": [
    {
      "company": "Company Name",
      "role": "Your Role",
      "achievements": ["Achievement 1", "Achievement 2"]
    }
  ],
  "skills": ["Skill 1", "Skill 2"],
  "projects": [...]
}

Theming

CSS variables in index.css control the entire color scheme:

:root {
  --primary-color: #your-color;
  --background: #your-bg;
  --text-color: #your-text;
  /* ... */
}

πŸ“Š Performance Metrics

  • Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
  • First Contentful Paint: <1.5s
  • Time to Interactive: <2.5s
  • Bundle Size: <150KB (gzipped)
  • Offline Functionality: 100% of static pages

🚧 Roadmap

  • Analytics Dashboard β€” Track chatbot usage patterns and popular questions
  • Multi-language Support β€” Respond in user's preferred language via OpenAI
  • Voice Input β€” Accept spoken questions using Web Speech API
  • Theme Switcher β€” Light/dark mode toggle with persistent preference
  • Contact Form β€” Direct email integration for collaboration inquiries

🀝 Feedback & Contributions

This is a personal portfolio project, but I welcome feedback and suggestions! If you:


πŸ“„ License

This project is open source under the MIT License. Feel free to fork and adapt for your own digital business card!


πŸ™πŸΎ Acknowledgments

  • OpenAI β€” For GPT-4 API powering intelligent conversations
  • ElevenLabs β€” For natural-sounding text-to-speech synthesis
  • Netlify β€” For seamless serverless deployment and hosting
  • React Community β€” For exceptional tooling and documentation

Built with πŸ’™ by Shavon Harris

View Live Demo β€’ LinkedIn β€’ Portfolio

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors