L o a d i n g
Back to Portfolio Interior Design Website

Entrust — Interior Designers

A ~35-page static marketing site for a Bangalore residential interior design studio, built around a config-driven "Design Your Vision" style configurator, a 360° panorama room viewer, and before/after renovation sliders.

HTML5 / CSS3 Bootstrap 5 GSAP Flip Panolens.js / Three.js Isotope

~35

Static Pages

8-Room

Style Configurator

WebGL

360° Panorama Viewer

12

Blog Articles
Walkthrough

Homepage & Inner Pages

Key Features

What The Site Does

Design Your Vision Configurator

An 8-room card deck that fans into style options and assembles a mosaic lead.

360° Panorama Viewer

Panolens.js/Three.js viewer with a custom fullscreen control layer.

Before/After Sliders

TwentyTwenty comparison sliders for renovation reveals across most pages.

Isotope-Filtered Galleries

Filterable portfolio/gallery grids plus multiple Swiper carousels.

Validated Lead Capture

Floating-label contact form with SweetAlert2 feedback, posted to Formspree.

Editorial Blog

12 long-form articles on design trends, vastu, and small-space living.

Technology

Stack & Integrations

Frontend
HTML5 Bootstrap 5 jQuery 3.7.1
Motion & 3D
GSAP (ScrollTrigger, ScrollSmoother, Flip, CustomEase) SplitType Panolens.js / Three.js
Galleries
Isotope Swiper.js TwentyTwenty VenoBox
Integrations
Formspree Google Maps SweetAlert2
Architecture

How It's Built

Entrust is a static multi-page site with no build step, bundler or framework — every page shares one asset bundle, and feature modules (why-choose-us.js, dvx-design-vision.js, slider.js) are self-guarding: each checks for its own root element and exits early if absent, so the same script bundle safely serves roughly 35 pages with no per-page JavaScript. The "Why Choose Us" and "Design Your Vision" modules are entirely config-driven — a single data array regenerates cards, nav dots, counters and animations.

The configurator's deck-to-gallery transition uses GSAP's Flip plugin for the animated layout change, paired with a custom signature easing curve and a prefers-reduced-motion fallback throughout. The only network write is the lead payload — assembled from the visitor's room/style selections and posted as JSON to Formspree via fetch, with disabled-state and retry handling on submit.