Abhishek E Tweb · email · bengaluru

home / projects / bike-showcase

Case 05 / 06 · X-Priority: feel

Selling horsepower with CSS: a showcase built for feel.

Motorcycles are bought with the eyes first. This frontend-focused build turned spec sheets into an experience — scroll-driven reveals, gallery interactions and comparison views — while staying fast on the mid-range Android phones most visitors actually hold.

Project
Independent build
Role
Frontend developer
Timeline
2023 — 2024
Stack
HTML · CSS · JavaScript
Bike showcase website — dramatic dark hero with motorcycle imagery
The dark, photography-led hero — the design language the whole site hangs off.

The brief

Present a motorcycle line-up the way enthusiasts experience it: big imagery, drama, and specs that invite comparison rather than reading. The challenge is that "cinematic" and "fast on a budget phone" pull in opposite directions — the build had to deliver both.

The constraints

  • Vanilla stack on purpose: no framework runtime to download — every interaction paid for in hand-written JS and CSS.
  • Animation budget: effects restricted to compositor-friendly properties (transform, opacity) so scroll stays smooth off the main thread.
  • Dense data, small screens: spec tables that work on a 360px viewport without becoming unreadable.
  • Motion accessibility: the drama must switch off cleanly under prefers-reduced-motion.

The build

  • Scroll-driven reveals via IntersectionObserver — sections and spec highlights enter as they're reached, no scroll-event thrash, observers disconnected after firing. The same pattern (evolved) runs the reveals on this portfolio.
  • Gallery interactions in CSS-first fashion: hover and focus states on transforms, JS reserved for state that CSS can't hold. Keyboard focus mirrors pointer hover throughout.
  • Comparison UX: spec rows aligned across models with the differing values emphasised — designing the scan, not just the table.
  • Image strategy: sized, compressed, lazy-loaded below the fold; the hero image alone earned eager loading.
The lesson that stuck: restraint reads as quality. The first draft animated everything; the shipped version animates the few things that direct attention — and feels more premium for it.

The outcome

A quick, stable showcase built entirely with semantic HTML, CSS and a few hundred lines of vanilla JS — still my reference for how much that stack can carry.