Delivery snapshot
Record date: March 30, 2026. Technology and screenshots describe the delivered version documented on this date. Any performance observations belong to the same point-in-time record. The linked live site may include later changes made by the client or other providers.
Glam by Grisel needed a bilingual digital home for a Miami-based permanent makeup and lash studio. The existing experience combined a marketing site, service information, booking entry points, galleries, courses, and FAQs, so the rebuild had to organize many content types without losing the visual character of the brand.
The approach was a ground-up rebuild as a Vite and React single-page application delivered through Cloudflare Pages. The structure separates the service library, booking flow, gallery, courses, Instagram content, and FAQ so each surface can be maintained independently while sharing the same bilingual content layer.
The implementation uses React 19, Tailwind CSS, react-i18next, Cloudflare R2 media delivery, and Cloudflare Workers for server-side integrations. The site includes an immersive hero, service navigation, a booking drawer, before-and-after presentation, a masonry gallery, courses, FAQs, and localized metadata.
The services library organizes brows, lashes, and lips into responsive service cards. Booking calls to action open a persistent booking drawer, while the navigation and page sections provide direct paths into the same flow.
Before-and-after pairs use a drag-to-reveal interaction, with a responsive gallery and lightbox for additional work. Course cards expose duration, level, features, and enrollment actions in a structured layout.
Content and communication
The homepage includes a Cloudflare Worker-backed Instagram feed, a bilingual content layer, FAQs, certifications, and responsive layouts for the main marketing surfaces.
The frontend uses Vite, React 19, Tailwind CSS v4, and react-i18next. Cloudflare Pages hosts the application, Cloudflare R2 serves media assets, and Cloudflare Workers provide the gallery and Instagram integration surfaces. The interaction layer uses scroll reveals, a booking drawer, responsive gallery controls, and reduced-motion-aware behavior.