This package includes all requested features to transform your portfolio into a high-performance, modern web application.
js/enhancements.js- Main enhancement script (Matrix Rain, Scroll Animations, Parallax, etc.)sw.js- Service Worker for offline functionality and cachingpwa/manifest.json- PWA manifest for installable appcomponents-snippet.html- HTML components to add to your portfolio
✅ Loading Screen - Professional loading animation
✅ Matrix Rain Effect - Animated background effect
✅ Scroll Progress Bar - Visual scroll indicator
✅ Back to Top Button - Floating scroll-to-top button
✅ Typing Animation - Hero text typewriter effect
✅ Scroll-Triggered Animations - Reveal on scroll
✅ Parallax Effects - Depth and motion
✅ Micro-interactions - Hover effects and transitions
✅ Lazy Loading Images - Performance optimization
✅ PWA Support - Installable as mobile app
✅ Offline Functionality - Service Worker caching
✅ SEO Optimization - Meta tags and Open Graph
✅ Performance Optimizations - CDN, preconnect, code splitting
✅ Resume Download - Beautiful download section
✅ Page Transitions - Smooth navigation effects
✅ Keyboard Shortcuts - Power user features
Your <head> section now includes:
- SEO meta tags
- Open Graph tags
- Twitter Cards
- PWA manifest link
- Preconnect for performance
Add these lines before the closing </body> tag in index.html:
<!-- Enhancement Scripts -->
<script src="/js/enhancements.js"></script>
<!-- Service Worker Registration is handled in enhancements.js -->Copy the following from components-snippet.html and add to your index.html:
<!-- Loading Screen -->
<div class="loading-screen">
<div class="loading-spinner"></div>
<div class="loading-text">Initializing UG-SOC...</div>
</div>
<!-- Matrix Rain Canvas -->
<canvas id="matrix-canvas"></canvas>
<!-- Scroll Progress Bar -->
<div class="scroll-progress"></div><!-- Back to Top Button -->
<div class="back-to-top">
<i class="fa-solid fa-arrow-up"></i>
</div>Copy the entire resume section from components-snippet.html
Update your existing HTML elements with these classes:
<!-- Change your hero headline to include typing animation -->
<span class="typing-text text-transparent bg-clip-text bg-gradient-to-r from-soc-primary to-soc-accent">
reduce human friction
</span><!-- Add scroll-reveal to each section -->
<section id="about" class="scroll-reveal">
...
</section>
<section id="projects" class="scroll-reveal">
...
</section>
<section id="skills" class="scroll-reveal">
...
</section><!-- Add directional animations -->
<div class="scroll-reveal-left">
<!-- Left side content -->
</div>
<div class="scroll-reveal-right">
<!-- Right side content -->
</div>
<!-- Add hover effects to cards -->
<div class="glass-panel hover-lift">
<!-- Card content -->
</div><!-- Change image src to data-src for lazy loading -->
<img data-src="/path/to/image.jpg" alt="Description" class="lazy-image">Edit pwa/sw.js to customize cached resources:
const PRECACHE_URLS = [
'/',
'/index.html',
'/js/enhancements.js',
// Add your critical resources here
];Edit js/enhancements.js line 38-40:
this.chars = '01アイウエオ...'; // Change characters
this.fontSize = 14; // Change font sizeAdjust in js/enhancements.js:
// Typing speed (line 223)
new TypingAnimation(typingElement, text, 50); // Lower = faster
// Parallax speed (line 149)
const speed = el.dataset.speed || 0.5; // 0.1-1.0 rangeUpdate theme colors in your existing Tailwind config:
colors: {
soc: {
primary: '#8B5CF6', // Purple
accent: '#F97316', // Orange
success: '#10B981', // Green
// Customize as needed
}
}Disable specific animations by commenting out in js/enhancements.js:
// To disable Matrix Rain:
// new MatrixRain('matrix-canvas');
// To disable Parallax:
// new ParallaxEffect();- Service Worker implemented
- Critical resources preconnected
- Images lazy loaded
- Offline functionality
- Code splitting ready
- CSS optimized
- Reduced motion support
- Performance monitoring
- Performance: 90-95+
- Accessibility: 95+
- Best Practices: 95+
- SEO: 100
- PWA: 100
| Shortcut | Action |
|---|---|
Ctrl+K or Cmd+K |
Open command palette |
Alt+T |
Toggle dark/light theme |
Alt+H |
Scroll to home |
Alt+C |
Scroll to contact |
Esc |
Close command palette |
↑↓ |
Navigate command palette |
Enter |
Execute command |
- Visit your portfolio
- Click the install icon in the address bar
- Click "Install"
- Visit your portfolio
- Tap browser menu
- Select "Add to Home Screen" or "Install App"
1. Open portfolio in browser
2. Open DevTools (F12)
3. Go to Application > Service Workers
4. Check "Offline"
5. Refresh page - should still work!
1. Open DevTools (F12)
2. Go to Lighthouse tab
3. Click "Generate report"
4. Review scores
1. Scroll through the page
2. Check all sections animate in
3. Hover over cards for effects
4. Test back-to-top button
portfolio/
├── index.html # Main portfolio
├── sw.js # Root service worker proxy
├── assets/ # Images, SVGs, resume PDF
├── css/
│ └── style.css # Global styles
├── js/
│ ├── CommandPalette.js # Command palette logic
│ ├── enhancements.js # Effects, PWA registration, UX
│ └── scripts.js # Tailwind config + small helpers
├── pages/
│ ├── blog.html
│ ├── case-studies.html
│ ├── tool-index.html
│ ├── testimonials.html
│ ├── vault.html
│ ├── arc.html
│ └── log.html
├── pwa/
│ ├── manifest.json # PWA manifest
│ ├── sw.js # Service worker logic
│ └── icon.svg # PWA icon
├── README.md # This file
└── TODO.md # Next improvements
- Add script tags to index.html
- Copy UI components from snippet
- Add animation classes to sections
- Add typing-text class to hero
- Convert images to lazy loading
- Create PWA icons (72, 96, 192, 512)
- Test on desktop
- Test on mobile
- Test offline mode
- Run Lighthouse audit
- Check browser console for errors
- Ensure HTTPS (or localhost)
- Clear browser cache
- Unregister old service workers
- Check if enhancements.js is loaded
- Open console and look for: "Portfolio Enhancements Loaded"
- Ensure class names match exactly
- Check for JavaScript errors
- Ensure canvas element exists
- Check z-index (-1)
- Adjust opacity in CSS if needed
- Check browser console for errors
Your portfolio now has:
- ⚡ Lightning-fast performance
- 📱 Mobile app capabilities
- 🌐 Offline functionality
- 🎨 Beautiful animations
- 🚀 Professional polish
Next Steps:
- Deploy to hosting (Vercel, Netlify, GitHub Pages)
- Add PWA icons
- Test across devices
- Share with the world! 🌎
-
Update Service Worker Version when making changes:
const CACHE_NAME = 'ug-soc-v1.0.1'; // Increment version
-
Monitor Performance with Chrome DevTools:
- Performance tab for profiling
- Network tab for loading times
- Lighthouse for audits
-
Customize Animations per section:
<section class="scroll-reveal" style="transition-delay: 0.2s;">
-
Add Custom Keyboard Shortcuts in enhancements.js
Made with ❤️ for Umang Gupta
Version: 2.0.0
Last Updated: January 2026
Need help? Check the code comments in each file for detailed explanations!