## Tech Stack ### Frontend - React 19 - TypeScript 5.8 (5x faster incremental builds) - React Router DOM 7 - Tailwind CSS 4.0 (CSS-first configuration with @theme directives, 182x faster builds) - Framer Motion 11 - React Icons 5.5.0 - React Simple Maps 3.0.0 - React Intersection Observer 9.16.0 - Next.js 15.2.3 (includes security patches for CVE-2025-29927) ### Backend - Node.js with Express 4.18.2 - TypeScript 5.8 - Nodemailer 6.9 for email handling - CORS for cross-origin resource sharing - dotenv 16.4 for environment variable management - Upstash Redis 1.28 for caching/rate limiting - JWT authentication with role-based access control - MongoDB 7.0 with schema validation ### Development & Build Tools - Docker & Docker Compose with security best practices: - Multi-stage builds - Non-root users - Resource limitations - Health checks - PostCSS 8.4 - Autoprefixer 10.4 - pnpm 9.14 (package manager) - Vite 6.0 - ESLint 9 - Concurrently for running multiple processes - tsx/ts-node for TypeScript execution - Hot module replacement (HMR) ### Production - Nginx (Production server for frontend with security headers) - Node.js server for backend API - SSL/TLS 1.3 configuration ### Architecture - Frontend running on port 3000 (development) - Backend API running on port 4000 - Containerized development and production environments - REST API for contact form handling - Gmail SMTP for email delivery - Rate limiting implementation - Context-based state management - Redis-backed caching layer - MongoDB schema validation using $jsonSchema ### Key Features - Responsive design (mobile-first approach) - Animated UI components with Framer Motion - Interactive USA region map - Contact form with email notifications - Timeline visualization - Service showcase - Biography section - Testimonials section - Video playback with WebVTT subtitles and full transcript display - Custom video player with accessibility features: - Keyboard controls - Focus indicators that meet WCAG 2.2 requirements - Playback speed controls - Transcript display options (plain, HTML, JSON formats) - Refreshable braille display compatibility - Snow peaks animation effect ### Development Environment - Multi-container setup with Docker Compose - Hot-reloading enabled - Separate development and production builds - Environment variable management for sensitive data - TypeScript configuration for both client and server - Concurrent development server (frontend + backend) ### Production Environment - Nginx serving static frontend files - Node.js backend API - Containerized deployment - Secure email handling with Google App credentials - Multi-stage Docker builds - Production-optimized builds with tree-shaking - Security scanning with Trivy