L o a d i n g
Back to Portfolio Digital Agency Website

thinkB Agency — Branding & Digital Marketing Website

A ~40-page hand-coded static website for thinkB, a Bengaluru branding and digital-marketing agency — services, portfolio case studies, blog, and SEO landing pages, with a self-built lead-capture system converting visitors into sales leads.

HTML5 / CSS3 Bootstrap 5 GSAP EmailJS Leaflet.js

~40

Static Pages

Dual-Channel

EmailJS + Formspree

Self-Built

Lead-Capture Widget

Full SEO

+ JSON-LD FAQ Schema
Walkthrough

Homepage & Inner Pages

Key Features

What The Site Does

Self-Built Lead-Capture Widget

A single IIFE injects its own styles/DOM for a timed modal and enquiry rail.

Dual-Channel Form Delivery

EmailJS as primary, a parallel Formspree POST as a sales-team backup.

GSAP Scroll Choreography

Text/image reveals, pinning, a magnetic button and a custom cursor.

Custom Leaflet Map Control

A subclassed L.Control adding an "Open in Google Maps" button.

Per-Page SEO Engineering

Canonical, Open Graph, Twitter Card and JSON-LD FAQ schema on every page.

Clean URL Rewrite Layer

Apache .htaccess strips .html and canonicalizes URLs.

Technology

Stack & Integrations

Frontend
HTML5 Bootstrap 5 jQuery 3.6
Motion
GSAP (ScrollTrigger, ScrollSmoother, SplitText) Swiper 11 Slick Carousel
Maps & Forms
Leaflet + CARTO EmailJS Formspree SweetAlert2
Hosting
Apache / LiteSpeed Google Tag Manager
Architecture

How It's Built

thinkB is a flat static-site build — roughly 40 independently deployable HTML pages sharing one set of stylesheets and scripts by convention rather than includes, with no build step or templating engine. lead-widget.js is a self-contained ~600-line IIFE that injects its own scoped styles and markup, guards against double injection, gates the pop-up with localStorage so it shows once per visitor, and exposes a public window.tbOpenLeadPopup() hook plus a [data-tb-open-popup] attribute API so any element on any page can trigger it.

Every form submission calls EmailJS directly from the browser to send a templated email, and — in parallel, non-blocking — POSTs the same data to Formspree so a lead still lands if one provider fails. Apache's .htaccess sits in front of everything, resolving the ambiguity of a services.html file coexisting with a services/ folder, stripping .html extensions, and staging HTTPS/www canonicalization for clean, SEO-friendly URLs.