Landing Page

Mobile Home

PWA mobile landing page. Full-height hero with avatar, tech chips, animated stats counter, 6 quick-link cards, and skill progress bars — all touch-optimized.

Mobile-এর প্রথম পাতা। Hero, 6টি quick-link, animated counter, skill bars — সব touch-first design।

mobile/home/index.html Touch Optimized Haptic
Page Sections

Home Page Features

Mobile home-এ ৬টি distinct section — প্রতিটিতে আলাদা animation এবং interaction।

Hero Section
Full-height hero with circular avatar photo, animated name with typewriter-style subtitle, tech badge chips (HTML5, CSS3, Python…), and two CTA buttons.
Full-height hero — avatar + name + animated subtitle + tech chips। buttons: "View Projects" + "Contact"।
Quick Links Grid
6-card 2-column grid for fast page navigation. Tap triggers haptic feedback (navigator.vibrate(40)) then navigates. Cards: Projects, About, Content, Contact, Portfolio Guide, CV.
Tap করলে haptic feedback (40ms vibrate) তারপর navigate। Portfolio Guide card নতুন add করা হয়েছে।
Stats Counter
4 animated count-up stats: 66+ Projects, 10K+ Lines of Code, 10 Certificates, 8+ Videos. IntersectionObserver triggered — plays when scrolled into view.
Scroll করলে counter start হয়। animateCount() function ease-out cubic দিয়ে count করে।
Skill Progress Bars
4 skill categories with animated width progress bars: CAD/3D Modeling, Programming, Circuit Simulation, Web Dev. Scroll-triggered width animation.
Scroll করলে progress bar animated width-এ fill হয়। CSS transition width .8s ease
Quick Links

Navigation Cards

Home page-এর most-used feature — quick navigation cards। Haptic feedback + smooth transition।

Haptic Feedback Implementation
প্রতিটি quick-link card-এ click করলে: if(navigator.vibrate) navigator.vibrate(40); — এই এক line-এ haptic শুরু + শেষ। 40ms ছোট vibration gives physical confirmation of tap। Android Chrome-এ কাজ করে, iOS Safari-তে navigator.vibrate support নেই।
Technical Details

Implementation Notes

FeatureImplementationNotes
Haptic feedbacknavigator.vibrate(40)Android only; silently skipped on iOS
Counter animationIntersectionObserver + animateCount()Runs once on first scroll-into-view
Progress barsCSS width: 0 → X% transitionJS adds class to trigger transition
PWA install promptbeforeinstallprompt eventShows custom install card above footer
Bottom nav activeURL path matchingwindow.location.pathname compare
BackgroundShared background-system.cssSame as desktop but lighter particle count