# Joseph Bidias - Interactive Portfolio ## ð Live Demo **[View Portfolio](https://javascript-dom-portfolio.netlify.app/)** [](https://app.netlify.com/sites/javascript-dom-portfolio/deploys) ## ð Overview A modern, interactive portfolio showcasing Joseph Bidias as a Quantitative Researcher & Software Engineer. This project demonstrates advanced JavaScript DOM manipulation techniques, creating a dynamic and engaging user experience with futuristic design elements and professional functionality. ## ð¨ Visual Presentation ### ð¼ï¸ Portfolio Screenshots #### ð Hero Section - Matrix Rain Animation ``` âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â ââââââââ âââââââ ââââââââ ââââââââ âââââââ ââââââ â â ââ ââ ââ ââ ââ ââ ââ ââ ââ ââ â â ââââââââ ââââââ ââââââââ ââââââ ââââââââ ââââââââ â â â â Joseph Bidias â â Quantitative Researcher & â â Software Engineer â â â â [Theme Toggle] [Mobile Menu] [Contact] â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ``` #### ð¯ Interactive Features Visual Guide ``` ð Theme Toggle ð± Mobile Menu â¨ï¸ Typewriter Effect âââââââââââââââ âââââââââââââââ âââââââââââââââââââ â âï¸ Light â â â¡ Menu â â Hello, I'm a... â â ð Dark â âââ⺠â About â âââ⺠â Developerâ â â Auto Switch â â Projects â â Researcherâ â âââââââââââââââ â Contact â â Problem Solverâ â âââââââââââââââ âââââââââââââââââââ ð Form Validation ð Project Filter ð Mobile Carousel âââââââââââââââ âââââââââââââââ âââââââââââââââââââ â Name: â â â [All] React â â â Project 1 â â â Email: â â âââ⺠â Node Python â âââ⺠â Project 2 â â Message: â â â AI/ML Vue â â Project 3 â âââââââââââââââ âââââââââââââââ âââââââââââââââââââ ``` ### ð¨ Color Palette & Design System #### ð Dark Theme (Default) ```css Primary Colors: âââ Matrix Green: #00ff88 (Accent & Highlights) âââ Deep Black: #0a0a0a (Background) âââ Dark Gray: #1a1a1a (Cards & Sections) âââ Light Green: #4ade80 (Secondary Actions) Text Colors: âââ Primary Text: #ffffff (Headings) âââ Secondary Text: #e5e7eb (Body Text) âââ Muted Text: #9ca3af (Captions) âââ Success: #10b981 (Form Success) ``` #### âï¸ Light Theme ```css Primary Colors: âââ Professional Blue: #3498db (Accent & Highlights) âââ Clean White: #ffffff (Background) âââ Light Gray: #f8f9fa (Cards & Sections) âââ Sky Blue: #60a5fa (Secondary Actions) Text Colors: âââ Primary Text: #1f2937 (Headings) âââ Secondary Text: #374151 (Body Text) âââ Muted Text: #6b7280 (Captions) âââ Info: #2563eb (Form Info) ``` ### ð Animation Showcase #### ⨠Matrix Rain Effect ``` Column 1 Column 2 Column 3 Column 4 â â â â 01001010 01000001 01001100 01001110 01001111 01001001 01000101 01000101 01010011 01010010 01000001 01010100 01000101 01000101 01010010 01010111 01010000 01010011 01001110 01001111 01001000 01000101 01001001 01010010 â â â â ``` #### ð Glitch Text Animation ``` Frame 1: Joseph Bidias Frame 2: JÌ´o̵s̶eÌ·p̸h̵ ̶BÌ·i̸d̵i̶aÌ·s̸ Frame 3: êoseph Ãidias Frame 4: Joseph Bidias ``` #### ð Progress Bar Animation ``` Skills Progress: JavaScript ââââââââââââââââââââ 95% Python ââââââââââââââââââââ 90% React ââââââââââââââââââââ 85% Node.js ââââââââââââââââââââ 80% ``` ## ⨠Key Features ### ð¨ Interactive Design Elements - **Matrix Rain Animation**: Dynamic binary code background with cascading green characters - **Glitch Text Effects**: Animated title with cyberpunk-style distortion - **Theme Toggle**: Seamless dark/light mode switching with localStorage persistence - **Futuristic UI**: Neon brackets, underglow effects, and sci-fi styling - **Smooth Animations**: CSS transitions and JavaScript-powered effects ### ð ï¸ Advanced DOM Manipulation - **Dynamic Content Loading**: Real-time project data rendering - **Interactive Navigation**: Mobile-friendly hamburger menu with smooth animations - **Form Validation**: Client-side contact form with real-time feedback - **Project Filtering**: Dynamic filtering by technology stack - **Scroll Progress**: Visual indicator showing page scroll position - **Typewriter Effect**: Animated typing for hero section text ### ð± Responsive & Accessible - **Mobile-First Design**: Optimized for all device sizes - **Touch Gestures**: Swipe support for mobile project carousel - **Keyboard Navigation**: Full accessibility with helpful shortcuts - **ARIA Compliance**: Screen reader support and semantic markup - **Progressive Enhancement**: Works without JavaScript enabled ## ðï¸ Technical Implementation ### Technologies & Tools - **Frontend**: HTML5, CSS3, Vanilla JavaScript (ES6+) - **Styling**: CSS Grid, Flexbox, CSS Custom Properties - **Icons**: Font Awesome 6.4.0 with fallback systems - **Fonts**: Google Fonts (EB Garamond, Fira Code) - **Deployment**: Netlify with continuous deployment - **Version Control**: Git with GitHub Actions workflow ### Advanced JavaScript Features - **DOM Manipulation**: Pure vanilla JavaScript - no frameworks - **Event Handling**: Comprehensive user interaction management - **State Management**: Theme preferences and UI state tracking - **Local Storage**: Persistent user preferences - **Intersection Observer**: Performance-optimized scroll animations - **Media Query API**: JavaScript-based responsive behavior ### Performance Optimizations - **Debounced Events**: Optimized scroll and resize handlers - **GPU Acceleration**: CSS transforms for smooth animations - **Efficient Queries**: DOM caching and reduced reflows - **Lazy Loading**: Progressive content enhancement - **Reduced Motion**: Accessibility-first animation approach ## ð¯ Interactive Features Showcase ### ð 1. Theme Toggling System - **Functionality**: Dynamic dark/light mode switching - **Implementation**: CSS custom properties with JavaScript control - **Persistence**: localStorage for user preference retention - **Keyboard Shortcut**: Press `T` to toggle theme ### ð± 2. Mobile Navigation Menu - **Features**: Animated hamburger menu with smooth slide transitions - **Accessibility**: ARIA labels and keyboard navigation support - **Interactions**: Outside click and escape key to close - **Keyboard Shortcut**: Press `M` to toggle mobile menu ### â¨ï¸ 3. Typewriter Animation - **Effect**: Character-by-character typing animation - **Customization**: Configurable speeds and phrase rotation - **Implementation**: Pure JavaScript with realistic timing ### ð 4. Advanced Form Validation - **Real-time Feedback**: Immediate validation with custom messages - **Features**: Email validation, character counting, visual states - **Accessibility**: Error announcements and clear feedback ### ð 5. Project Filtering System - **Dynamic Filtering**: Sort projects by technology stack - **Categories**: React, Node.js, Python, AI/ML, and more - **Animations**: Smooth transitions for filtered results - **Keyboard Shortcut**: Press `F` to focus filters ### ð 6. Touch-Friendly Carousel - **Mobile Optimized**: Swipe gestures and navigation indicators - **Responsive**: Grid layout on desktop, carousel on mobile - **Auto-play**: Optional automatic progression ### ð 7. Scroll Progress Indicator - **Visual Feedback**: Fixed position progress bar - **Smooth Updates**: Real-time scroll position tracking - **Gradient Styling**: Professional visual design ### ð 8. Animated Skill Bars - **Trigger**: Intersection Observer for scroll-based animation - **Performance**: Optimized with requestAnimationFrame - **Visual Appeal**: Smooth progress bar animations ### ð 9. Smooth Scrolling Navigation - **Behavior**: Smooth section transitions with offset calculation - **Active States**: Dynamic navigation highlighting - **Keyboard Shortcuts**: Number keys 1-4 for section navigation ### â¨ï¸ 10. Comprehensive Keyboard Support - **Full Navigation**: Complete keyboard accessibility - **Shortcuts Available**: - `1-4`: Navigate to sections (Hero, About, Projects, Contact) - `T`: Toggle theme mode - `M`: Toggle mobile menu - `F`: Focus on project filters - `Esc`: Close open menus and modals ## ð Deployment & Hosting ### Netlify Deployment - **Platform**: Netlify with automatic SSL and global CDN - **URL**: [javascript-dom-portfolio.netlify.app](https://javascript-dom-portfolio.netlify.app/) - **Features**: - Continuous deployment from GitHub - Automatic HTTPS with SSL certificates - Global CDN for fast worldwide access - Build optimization and compression ### GitHub Integration - **Repository**: [JavaScript-DOM-Portfolio](https://github.com/eaglepython/JavaScript-DOM-Portfolio) - **Workflow**: GitHub Actions for automated deployment - **Branch Protection**: Main branch with deployment triggers - **Version Control**: Full git history and collaboration support ### Performance Metrics - **Lighthouse Score**: 95+ Performance rating - **First Contentful Paint**: < 1.5 seconds - **Time to Interactive**: < 2.5 seconds - **Mobile Optimization**: 100% responsive compatibility ## ð Project Structure ``` JavaScript-DOM-Portfolio/ âââ index.html # Main HTML structure âââ assets/ â âââ css/ â â âââ styles.css # Core styling â â âââ interactive-styles.css # Animation & interaction styles â âââ js/ â â âââ script.js # Core JavaScript functionality â â âââ enhanced-features.js # Additional interactive features â âââ images/ â âââ profile.jpg # Professional profile photo â âââ projects/ # Project screenshots âââ .github/ â âââ workflows/ â âââ deploy.yml # GitHub Actions deployment âââ .netlify/ # Netlify configuration âââ .nojekyll # GitHub Pages compatibility âââ netlify.toml # Netlify build settings âââ README.md # Project documentation ``` ## ð¥ï¸ Responsive Design Showcase ### ð± Mobile Layout (320px - 768px) ``` âââââââââââââââââââââââââââ â â¡ ð â â Header with hamburger menu ââââââââââââââââââââââââââ⤠â â â [Profile Photo] â â Centered hero content â â â Joseph Bidias â â Software Engineer â â â ââââââââââââââââââââââââââ⤠â â¬ ï¸ [Project 1/3] â¡ï¸ â â Swipeable carousel ââââââââââââââââââââââââââ⤠â â â Stacked Contact â â Vertical form layout â Form â â â âââââââââââââââââââââââââââ ``` ### ð» Desktop Layout (1024px+) ``` âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Home About Projects Contact ð Theme â â Fixed navigation ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â â â [Profile] Joseph Bidias Matrix â â Hero section â Photo Quantitative Researcher Rain â with animation â & Software Engineer Background â â â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â [Project 1] [Project 2] [Project 3] [Project 4] â â Grid layout ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⤠â Contact Form Social Links â â Two-column â [Name ] [Email ] [GitHub] â contact section â [Message ] [LinkedIn] â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ``` ### ð Interactive Element States #### ð¯ Button States Visualization ``` Default State: Hover State: Active State: âââââââââââââââ âââââââââââââââ âââââââââââââââ â Contact â âââ⺠â ⨠Contact â¨â âââ⺠â â¡ Contact â¡â â #00ff88 â â Glow Effect â â Pressed â âââââââââââââââ âââââââââââââââ âââââââââââââââ Form Validation: Filter Active: Navigation: âââââââââââââââ âââââââââââââââ âââââââââââââââ â Email â â â [React] â â â About â â â Invalid â â [Node] â â â Projects â â #ef4444 â â [Python] â â â Contact â âââââââââââââââ âââââââââââââââ âââââââââââââââ ``` ## ð¨ Design Philosophy ### Visual Identity - **Cyberpunk Aesthetic**: Matrix-inspired design with neon green accents - **Professional Balance**: Futuristic elements with clean, readable content - **Dark-First Design**: Optimized for modern dark mode preferences - **Accessible Colors**: High contrast ratios and colorblind-friendly palette ### User Experience Principles - **Progressive Enhancement**: Core functionality without JavaScript - **Mobile-First Approach**: Touch-optimized interactions - **Performance-Focused**: Fast loading and smooth animations - **Accessibility-Driven**: WCAG 2.1 compliance and keyboard navigation ## ð User Interface Elements ### ðª Component Gallery #### ð·ï¸ Project Cards ``` âââââââââââââââââââââââââââââââââââââââ â ð· [Project Screenshot] â â â â ð E-Commerce Platform â â Project title â âââââââââââââââââââââââââââââââââââ â â Full-stack online store with â â Description â payment integration and user auth â â â â ð·ï¸ React Node.js MongoDB Stripe â â Tech tags â â â [ð Live Demo] [ð GitHub] â â Action buttons âââââââââââââââââââââââââââââââââââââââ ``` #### ð§ Contact Form ``` âââââââââââââââââââââââââââââââââââââââ â ð Get In Touch â â âââââââââââââââââââââââââââââââââââ â â â â ð¤ Name â â âââââââââââââââââââââââââââââââââââ â â â Your name here... â â â âââââââââââââââââââââââââââââââââââ â â â â ð§ Email â Valid â â âââââââââââââââââââââââââââââââââââ â â â [email protected] â â â âââââââââââââââââââââââââââââââââââ â â â â ð¬ Message 250/500 â â âââââââââââââââââââââââââââââââââââ â â â Your message here... â â â â â â â â â â â âââââââââââââââââââââââââââââââââââ â â â â [⨠Send Message â¨] â âââââââââââââââââââââââââââââââââââââââ ``` #### ð® Interactive Navigation ``` Desktop Navigation: âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â Joseph Bidias [Home] [About] [Projects] [Contact] ð â âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ Mobile Navigation (Collapsed): âââââââââââââââââââââââââââ â â¡ Joseph Bidias ð â âââââââââââââââââââââââââââ Mobile Navigation (Expanded): âââââââââââââââââââââââââââ â â Joseph Bidias ð â ââââââââââââââââââââââââââ⤠â â â ð Home â â ð¤ About â â ð¼ Projects â â ð Contact â â â âââââââââââââââââââââââââââ ``` ### ð¯ Interactive States & Animations #### â¡ Loading States ``` Theme Toggle Loading: ð â ð â âï¸ Form Submission: [Send Message] â [â³ Sending...] â [â Sent!] Project Filter: [All Projects] â [ð Filtering...] â [React Projects] Page Load: Matrix Rain â Profile Fade In â Content Slide Up ``` #### ðª Hover Effects ``` Button Hover: Normal: [Contact] Hover: [⨠Contact â¨] + Glow Active: [â¡ Contact â¡] + Scale Project Card Hover: Normal: Static card Hover: Lift + Shadow + Border glow Click: Scale down + Navigate Social Links: GitHub: ð â ð⨠LinkedIn: ð¼ â ð¼â¨ Twitter: ð¦ â ð¦â¨ ``` ## ð ï¸ Development Setup ### Prerequisites - Modern web browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+) - Git for version control - Text editor or IDE (VS Code recommended) - Local web server (optional but recommended) ### Local Development 1. **Clone the repository** ```bash git clone https://github.com/eaglepython/JavaScript-DOM-Portfolio.git cd JavaScript-DOM-Portfolio ``` 2. **Run locally** ```bash # Option 1: Direct browser opening open index.html # Option 2: Local server (recommended) # Python python -m http.server 8000 # Node.js npx live-server # PHP php -S localhost:8000 ``` 3. **View in browser** ``` http://localhost:8000 ``` ### Development Workflow 1. **Feature Development**: Create feature branches for new functionality 2. **Testing**: Cross-browser and device testing 3. **Code Review**: Ensure code quality and performance 4. **Deployment**: Automatic deployment via Netlify on main branch push ## ð§ Customization Guide ### Adding New Projects 1. **HTML Structure**: Add project cards in the projects section 2. **Technology Tags**: Include appropriate filter categories 3. **Images**: Add project screenshots to assets/images/projects/ 4. **Links**: Update project URLs and repository links ### Theme Customization 1. **CSS Variables**: Edit custom properties in interactive-styles.css 2. **Color Schemes**: Add new theme options in JavaScript 3. **Animations**: Modify transition timings and effects 4. **Typography**: Update font selections and sizing ### Feature Extensions 1. **JavaScript Modules**: Add new features to enhanced-features.js 2. **Styling**: Include corresponding CSS in interactive-styles.css 3. **Documentation**: Update README and code comments 4. **Testing**: Ensure cross-browser compatibility ## ð Code Quality & Standards ### Best Practices Implemented - **Semantic HTML5**: Proper element usage and document structure - **Modern CSS**: Grid, Flexbox, and custom properties - **Clean JavaScript**: ES6+ features, modular code organization - **Performance**: Optimized animations and efficient DOM manipulation - **Accessibility**: ARIA labels, keyboard navigation, screen reader support ### Testing & Quality Assurance - **Cross-Browser Testing**: Chrome, Firefox, Safari, Edge - **Device Testing**: Desktop, tablet, mobile responsiveness - **Performance Monitoring**: Lighthouse audits and optimization - **Accessibility Testing**: WAVE, axe, and manual keyboard testing - **Code Validation**: HTML5, CSS3, and JavaScript linting ## ð Performance Features ### Optimization Techniques - **Critical CSS**: Inline critical styles for faster rendering - **Font Optimization**: Preconnect to Google Fonts with display swap - **Image Optimization**: Compressed images with proper formats - **JavaScript Efficiency**: Debounced events and intersection observers - **CSS Animations**: GPU-accelerated transforms and optimized keyframes ### Monitoring & Analytics - **Core Web Vitals**: Optimized for LCP, FID, and CLS metrics - **Error Handling**: Graceful degradation and fallback systems - **Performance Budgets**: Asset size monitoring and optimization - **User Experience**: Real user monitoring considerations ## ð® Future Enhancements ### Planned Features 1. **Blog Integration**: Dynamic content management system 2. **API Connections**: Real-time GitHub project data 3. **Contact Backend**: Functional email form processing 4. **PWA Features**: Offline functionality and app installation 5. **Analytics Dashboard**: User interaction insights 6. **Internationalization**: Multi-language support ### Technical Improvements 1. **TypeScript Migration**: Enhanced type safety and development experience 2. **Build System**: Webpack or Vite for advanced optimization 3. **Testing Suite**: Automated testing with Jest and Cypress 4. **CI/CD Pipeline**: Advanced deployment and testing automation 5. **Performance Monitoring**: Real-time performance tracking ## ð¤ Contributing Contributions are welcome! This project demonstrates professional web development practices: 1. **Fork the Repository**: [JavaScript-DOM-Portfolio](https://github.com/eaglepython/JavaScript-DOM-Portfolio) 2. **Create Feature Branch**: `git checkout -b feature/amazing-feature` 3. **Commit Changes**: `git commit -m 'Add amazing feature'` 4. **Push to Branch**: `git push origin feature/amazing-feature` 5. **Open Pull Request**: Detailed description of changes and testing ### Contribution Guidelines - Follow existing code style and conventions - Test across multiple browsers and devices - Update documentation for new features - Ensure accessibility compliance - Optimize for performance ## ð License This project is open source and available under the [MIT License](LICENSE). ## ð Acknowledgments - **Netlify**: Reliable hosting platform with excellent developer experience - **Font Awesome**: Comprehensive icon library with professional quality - **Google Fonts**: Beautiful typography with EB Garamond and Fira Code - **GitHub**: Version control and collaborative development platform - **MDN Web Docs**: Comprehensive web development documentation - **WCAG Guidelines**: Web accessibility standards and best practices - **Web Development Community**: Inspiration and best practices ## ð Contact & Connect **Joseph Bidias** Quantitative Researcher & Software Engineer - ð **Portfolio**: [javascript-dom-portfolio.netlify.app](https://javascript-dom-portfolio.netlify.app/) - ð¼ **GitHub**: [@eaglepython](https://github.com/eaglepython) - ð **LinkedIn**: [Connect professionally](https://linkedin.com/in/eaglepython) - ð§ **Email**: Available through portfolio contact form - ð¦ **Twitter**: [@eaglepython](https://twitter.com/eaglepython) --- ## ð Project Highlights This interactive portfolio represents the intersection of **quantitative research expertise** and **advanced software engineering skills**. Built with modern web technologies, it demonstrates: â **Advanced DOM Manipulation** - Pure JavaScript without frameworks â **Professional Design** - Cyberpunk aesthetic with accessibility focus â **Performance Optimization** - Fast loading and smooth interactions â **Mobile-First Approach** - Touch-optimized responsive design â **Accessibility Compliance** - WCAG 2.1 standards with keyboard navigation â **Production Ready** - Professional deployment with continuous integration ## ð¬ Visual Demo & Features ### ð¥ Key Visual Features #### ð Matrix Rain Animation - **Visual Effect**: Cascading green binary code background - **Implementation**: Pure CSS keyframe animations - **Performance**: GPU-accelerated with `transform3d` - **Customization**: Variable speed and density #### ⨠Glitch Text Effect - **Target**: Main heading "Joseph Bidias" - **Effect**: Cyberpunk-style text distortion - **Trigger**: Automatic on page load + hover interactions - **Fallback**: Graceful degradation for motion-sensitive users #### ð Theme Switching ``` Dark Mode: Light Mode: ð Matrix Green âï¸ Professional Blue âââââââââââââââ âââââââââââââââ â ââââââââ â â ââââââââ â â ââââââââ â â· â ââââââââ â â ââââââââ â â ââââââââ â âââââââââââââââ âââââââââââââââ #0a0a0a bg #ffffff bg #00ff88 accent #3498db accent ``` #### ð± Mobile Responsiveness ``` Desktop (1200px+): Tablet (768px): Mobile (320px): âââââââââââââââââââ âââââââââââââââ âââââââââââ â [Nav] [Profile] â â [Profile] â â â¡ [ð] â â [Projects Grid] â â â [Projects] â â â [Hero] â â [Contact Form] â â [Contact] â â [Cards] â âââââââââââââââââââ âââââââââââââââ âââââââââââ ``` ### ð® Interactive Experience Map #### ðºï¸ User Journey Visualization ``` Landing â ð Choose Theme â ð Dark / âï¸ Light â ð Read About â Typewriter animation â ð¼ Browse Projects â Filter by tech â View details â ð§ Contact Form â Validation â Submit â ð Social Links â External profiles ``` #### â¨ï¸ Keyboard Navigation Flow ``` Tab Order: 1. Theme Toggle (T) 2. Mobile Menu (M) 3. Navigation Links (1-4) 4. Project Filters (F) 5. Project Cards 6. Contact Form 7. Social Links Shortcuts: T â Toggle theme M â Mobile menu F â Focus filters 1-4 â Navigate sections Esc â Close modals ``` **ð Built with passion for code, designed for impact, deployed for the world to see.** *Showcasing the future of interactive web development through cutting-edge JavaScript techniques and professional engineering practices.*