Yasiru Senarathna Logo
Frontend Development | Internship Project

Montagna

Building a luxury hotel's booking site to feel as composed as the hotel itself without the animation and visual weight slowing it down, or the markup getting in the way of being found on search.

DateAugust 2025
My RoleFrontend Developer
ClientCirclebook (PVT) Ltd.
StackLaravel, Tailwind CSS, GSAP, Swiper.js
Montagna Hotel Hero Interface
01. The Challenge

Luxury design and fast load times usually fight each other. This brief needed both.

The design called for high-end visuals and smooth, cinematic interactions exactly the kind of brief that tends to bloat a site's weight and tank its performance. My job was to take that design and build it inside a Laravel environment without sacrificing speed, while keeping the markup clean enough that the site could actually be found in search, not just look good once someone landed on it.

02. Build & SEO

SEO isn't a step after the build it's a constraint on how the build gets written

I built the full UI in Tailwind CSS inside the Laravel environment, and treated search visibility as part of the build itself rather than something to fix afterward.

Meta & Social Tags

Page-level meta tags, OpenGraph, and Twitter card data so listings and shared links render correctly off-site.

Semantic HTML

Structured the markup around proper heading hierarchy and semantic elements, not just divs styled to look right.

Image Alt Text

Descriptive alt text across the gallery and hero imagery, so visual content is still indexable and accessible.

Performance

Lazy-loaded and compressed image assets, so the luxury visuals don't cost the page its load time.

03. Animation & Performance

Cinematic doesn't have to mean heavy

The animation layer was the part most likely to wreck performance if I wasn't deliberate about it, so every motion decision had to earn its weight.

GSAP Timelines

Orchestrated scroll and reveal animations carefully sequenced rather than layered on indiscriminately.

Smooth Scroll

Custom scroll transitions tuned to feel deliberate, not decorative.

Swiper.js Carousels

Lightweight, performance-friendly carousels for the room and gallery sections.

Tailwind CSS

Utility-first styling kept the CSS footprint small across a visually dense layout.

04. Outcome

A booking site that doesn't make the hotel choose between looking luxurious and loading fast

The build holds the line the brief asked for high-end visuals and cinematic motion running on a fast, search-friendly foundation rather than against one.

Montagna HotelMontagna HotelMontagna HotelMontagna HotelMontagna Hotel

Got a messy platform or a new idea?

Skip the guesswork. Pick a channel below and let's figure out the smartest UX strategy for your business goals.

[@ _ @][^◡^]

Email

Drop a message and I'll get back to you within 24 hours no templates, just a real reply.

SEND A MESSAGE ↗SEND A MESSAGE ↗
[= = =][^ - ^]

LinkedIn

Follow along for case studies, design breakdowns, and occasional thoughts on building better products.

CONNECT ↗CONNECT ↗