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.
┌─────────────────────────────────────────────────────────────┐
│ ████████ ▄▄▄▄▄▄▄ ████████ ████████ ▄▄▄▄▄▄▄ ██████ │
│ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ │
│ ████████ ██████ ████████ ██████ ████████ ████████ │
│ │
│ Joseph Bidias │
│ Quantitative Researcher & │
│ Software Engineer │
│ │
│ [Theme Toggle] [Mobile Menu] [Contact] │
└─────────────────────────────────────────────────────────────┘
🌙 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 │
└─────────────┘ └─────────────┘ └─────────────────┘
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)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)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
↓ ↓ ↓ ↓
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
Skills Progress:
JavaScript ████████████████████ 95%
Python ███████████████████▒ 90%
React ██████████████████▒▒ 85%
Node.js █████████████████▒▒▒ 80%
- 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
- 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
- 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
- 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
- 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
- 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
- Functionality: Dynamic dark/light mode switching
- Implementation: CSS custom properties with JavaScript control
- Persistence: localStorage for user preference retention
- Keyboard Shortcut: Press
Tto toggle theme
- 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
Mto toggle mobile menu
- Effect: Character-by-character typing animation
- Customization: Configurable speeds and phrase rotation
- Implementation: Pure JavaScript with realistic timing
- Real-time Feedback: Immediate validation with custom messages
- Features: Email validation, character counting, visual states
- Accessibility: Error announcements and clear feedback
- 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
Fto focus filters
- Mobile Optimized: Swipe gestures and navigation indicators
- Responsive: Grid layout on desktop, carousel on mobile
- Auto-play: Optional automatic progression
- Visual Feedback: Fixed position progress bar
- Smooth Updates: Real-time scroll position tracking
- Gradient Styling: Professional visual design
- Trigger: Intersection Observer for scroll-based animation
- Performance: Optimized with requestAnimationFrame
- Visual Appeal: Smooth progress bar animations
- Behavior: Smooth section transitions with offset calculation
- Active States: Dynamic navigation highlighting
- Keyboard Shortcuts: Number keys 1-4 for section navigation
- Full Navigation: Complete keyboard accessibility
- Shortcuts Available:
1-4: Navigate to sections (Hero, About, Projects, Contact)T: Toggle theme modeM: Toggle mobile menuF: Focus on project filtersEsc: Close open menus and modals
- Platform: Netlify with automatic SSL and global CDN
- URL: 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
- Repository: JavaScript-DOM-Portfolio
- Workflow: GitHub Actions for automated deployment
- Branch Protection: Main branch with deployment triggers
- Version Control: Full git history and collaboration support
- Lighthouse Score: 95+ Performance rating
- First Contentful Paint: < 1.5 seconds
- Time to Interactive: < 2.5 seconds
- Mobile Optimization: 100% responsive compatibility
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
┌─────────────────────────┐
│ ≡ 🌙 │ ← Header with hamburger menu
├─────────────────────────┤
│ │
│ [Profile Photo] │ ← Centered hero content
│ │
│ Joseph Bidias │
│ Software Engineer │
│ │
├─────────────────────────┤
│ ⬅️ [Project 1/3] ➡️ │ ← Swipeable carousel
├─────────────────────────┤
│ │
│ Stacked Contact │ ← Vertical form layout
│ Form │
│ │
└─────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ 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] │
└─────────────────────────────────────────────────────────────┘
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 │
└─────────────┘ └─────────────┘ └─────────────┘
- 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
- 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
┌─────────────────────────────────────┐
│ 📷 [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
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 📞 Get In Touch │
│ ─────────────────────────────────── │
│ │
│ 👤 Name │
│ ┌─────────────────────────────────┐ │
│ │ Your name here... │ │
│ └─────────────────────────────────┘ │
│ │
│ 📧 Email ✓ Valid │
│ ┌─────────────────────────────────┐ │
│ │ [email protected] │ │
│ └─────────────────────────────────┘ │
│ │
│ 💬 Message 250/500 │
│ ┌─────────────────────────────────┐ │
│ │ Your message here... │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────┘ │
│ │
│ [✨ Send Message ✨] │
└─────────────────────────────────────┘
Desktop Navigation:
┌─────────────────────────────────────────────────────────┐
│ Joseph Bidias [Home] [About] [Projects] [Contact] 🌙 │
└─────────────────────────────────────────────────────────┘
Mobile Navigation (Collapsed):
┌─────────────────────────┐
│ ≡ Joseph Bidias 🌙 │
└─────────────────────────┘
Mobile Navigation (Expanded):
┌─────────────────────────┐
│ ✕ Joseph Bidias 🌙 │
├─────────────────────────┤
│ │
│ 🏠 Home │
│ 👤 About │
│ 💼 Projects │
│ 📞 Contact │
│ │
└─────────────────────────┘
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
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: 🐦 → 🐦✨
- 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)
-
Clone the repository
git clone https://github.com/eaglepython/JavaScript-DOM-Portfolio.git cd JavaScript-DOM-Portfolio -
Run locally
# 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
-
View in browser
http://localhost:8000
- Feature Development: Create feature branches for new functionality
- Testing: Cross-browser and device testing
- Code Review: Ensure code quality and performance
- Deployment: Automatic deployment via Netlify on main branch push
- HTML Structure: Add project cards in the projects section
- Technology Tags: Include appropriate filter categories
- Images: Add project screenshots to assets/images/projects/
- Links: Update project URLs and repository links
- CSS Variables: Edit custom properties in interactive-styles.css
- Color Schemes: Add new theme options in JavaScript
- Animations: Modify transition timings and effects
- Typography: Update font selections and sizing
- JavaScript Modules: Add new features to enhanced-features.js
- Styling: Include corresponding CSS in interactive-styles.css
- Documentation: Update README and code comments
- Testing: Ensure cross-browser compatibility
- 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
- 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
- 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
- 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
- Blog Integration: Dynamic content management system
- API Connections: Real-time GitHub project data
- Contact Backend: Functional email form processing
- PWA Features: Offline functionality and app installation
- Analytics Dashboard: User interaction insights
- Internationalization: Multi-language support
- TypeScript Migration: Enhanced type safety and development experience
- Build System: Webpack or Vite for advanced optimization
- Testing Suite: Automated testing with Jest and Cypress
- CI/CD Pipeline: Advanced deployment and testing automation
- Performance Monitoring: Real-time performance tracking
Contributions are welcome! This project demonstrates professional web development practices:
- Fork the Repository: JavaScript-DOM-Portfolio
- Create Feature Branch:
git checkout -b feature/amazing-feature - Commit Changes:
git commit -m 'Add amazing feature' - Push to Branch:
git push origin feature/amazing-feature - Open Pull Request: Detailed description of changes and testing
- Follow existing code style and conventions
- Test across multiple browsers and devices
- Update documentation for new features
- Ensure accessibility compliance
- Optimize for performance
This project is open source and available under the MIT License.
- 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
Joseph Bidias
Quantitative Researcher & Software Engineer
- 🌐 Portfolio: javascript-dom-portfolio.netlify.app
- 💼 GitHub: @eaglepython
- 🔗 LinkedIn: Connect professionally
- 📧 Email: Available through portfolio contact form
- 🐦 Twitter: @eaglepython
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 Effect: Cascading green binary code background
- Implementation: Pure CSS keyframe animations
- Performance: GPU-accelerated with
transform3d - Customization: Variable speed and density
- Target: Main heading "Joseph Bidias"
- Effect: Cyberpunk-style text distortion
- Trigger: Automatic on page load + hover interactions
- Fallback: Graceful degradation for motion-sensitive users
Dark Mode: Light Mode:
🌙 Matrix Green ☀️ Professional Blue
┌─────────────┐ ┌─────────────┐
│ ████████ │ │ ████████ │
│ ██░░░░██ │ ⟷ │ ██▓▓▓▓██ │
│ ████████ │ │ ████████ │
└─────────────┘ └─────────────┘
#0a0a0a bg #ffffff bg
#00ff88 accent #3498db accent
Desktop (1200px+): Tablet (768px): Mobile (320px):
┌─────────────────┐ ┌─────────────┐ ┌─────────┐
│ [Nav] [Profile] │ │ [Profile] │ │ ≡ [🌙] │
│ [Projects Grid] │ → │ [Projects] │ → │ [Hero] │
│ [Contact Form] │ │ [Contact] │ │ [Cards] │
└─────────────────┘ └─────────────┘ └─────────┘
Landing
↓
🎭 Choose Theme → 🌙 Dark / ☀️ Light
↓
📖 Read About → Typewriter animation
↓
💼 Browse Projects → Filter by tech → View details
↓
📧 Contact Form → Validation → Submit
↓
🔗 Social Links → External profiles
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.