Ernest E. Guzmán, home

Booking Q1 2027 · 2 retainer slots open

///
Let's talk
← All work 03 / 08

Wellness · Immersive web · Studio management system

YogaRooted

A website made of paper, water and light, and the quiet system that runs the studio behind it.

Client
YogaRooted
Sector
Wellness · Classes, courses & consultations
Market
Spain · Online
Role
Art direction, design & full-stack build
Timeline
2026
Scope
Immersive website · Booking · Courses · Invoicing · Reports
YogaRooted

YogaRooted is a yoga and meditation studio run by one teacher. The brief asked for something that felt like crossing the threshold of a stone temple at dawn: epic, magical, full of aura, and calm. I art-directed and built that website in WebGL, and designed the management system that books, bills and reports behind it.

Outcomes
5→1tools replaced by one system
6 hof admin saved every week
12rooms, each with its own ritual
AAcontrast at every hour of the day
The challenge

Wellness websites all look the same: sunsets, stock poses, a pastel booking widget. The studio needed the opposite: a place with real presence that still made the practical things (timetable, prices, booking) impossible to miss. And behind it, a teacher drowning in five tools and a paper calendar.

The approach

One material for everything: warm paper that can turn into water, receive light and hold gold. Every room is a small practice; every interaction has a calm fallback.

01

The logo, coming to life

The studio’s mark is a drop, two leaves, an open circle and two points. The opening tells exactly that story in thirteen seconds: a branch in ink and watercolor, a drop that condenses and falls, paper that becomes water, ripples that draw a golden Sri Yantra, and finally the word Enraizar, to take root.

Nothing here is video. Each frame is rendered live with Three.js and custom GLSL: paper fiber, refraction, caustics, ink diffusion.

010.9 s
Ink & watercolor
Ink & watercolor
022.6 s
A drop condenses
A drop condenses
035.1 s
Paper becomes water
Paper becomes water
0410.4 s
A yantra is born
A yantra is born
0512.8 s
Light gathers
Light gathers
0613.6 s
Take root
Take root
02

The same room at nine in the morning and at midnight

The site reads the visitor’s clock. At dawn the light is copper; at midday, clear; at dusk, gold. At night the paper turns to deep olive, the ink becomes cream and the yantra glows. Keyframes interpolate continuously, and contrast is measured to stay AA at every hour. Drag across the image:

09:00 · Day
23:30 · Night
09:00 · Day 23:30 · Night
☀︎☾
Fig. 02Atrium: one scene, two lights. Nothing is swapped; the same paper is simply re-lit.
03

A temple drawn line by line

As you scroll, a Sri Yantra is constructed the way it is drawn by hand: pencil and compass first, dimension lines and construction points, then the lotus and the enclosure, and finally gold leaf over the ink. Every stage names its Sanskrit term, its transliteration and its source.

YogaRooted · yogarooted · yantras
1Devanagari + IAST, set in Noto Serif and Cormorant
2Real construction dimensions
3The pencil that draws it
Fig. 03Temple of yantras, stage III: the lotus. Details at three times their size.
04

Rooms that reward attention

Hold the halo and it teaches square breathing. Shine a lantern and hidden notes appear. Stay still for four seconds and invisible ink rises: a Yoga Sutra in Devanagari. Turn the night sky until its stars become a lotus. And if you press three nodes of the Sarasvatī yantra in the right order, the paper fractures and lets you into a guided meditation.

  • 2D version for low-power devices and browsers without WebGL
  • A complete composition for reduced motion
  • Adaptive frame rate: 60 fps on interaction, 10 fps at rest
  • Every interaction reachable from the keyboard
YogaRooted · yogarooted
Constellation
Constellation
Invisible ink
Invisible ink
Lantern
Lantern
Sanctuary
Sanctuary
Fig. 04The breathing halo: hold to inhale, release to exhale.
05

Behind the temple: one system, seven modules

Clients, classes, calendar, bookings, orders, invoices and reports share one data model, so a booking instantly updates capacity, the client’s history, the invoice ledger and the month’s numbers. Hover a module to see what it touches.

One data modelpeople · sessions · seats · money
06

Booking in three steps

Practice → day and time → details. Each seat is drawn as a bindu (the point at the center of a yantra), so “two left” is information, not pressure. Online and in-person sessions share one calendar; courses, passes and consultations check out through the same flow, and invoices are generated from the order.

YogaRooted · yogarooted · reservar
YogaRooted · mobile
Fig. 05Booking: month view with live capacity.
  1. 1Three steps, stated up front
  2. 2Seats as bindus under each day
  3. 3Local time and live capacity, in words
07

Courses, a field notebook and the student app

Courses are bound like manuscripts, each in a pigment from the palette. The field notebook remembers the rooms you have visited, your breathing days and your next class, and a sundial lets you fix the light. Students get their own space to rebook in two taps.

YogaRooted · yogarooted · cursos
YogaRooted · yogarooted · cuaderno
YogaRooted · yogarooted · mi espacio
Fig. 06Courses, the field notebook and the student area, layered.
Design decisions

The system behind the screens

Four words guided every decision (epic, magic, aura, calm) and one tension held them together: grandeur without noise. The whole site lives on a single material, warm paper, that can become water, receive light and hold gold.

A

Color

#F6F1E7 Paper The only surface, never pure white 9.6:1 · AAA
#E3D8C3 Linen Cream of the logo, secondary planes 7.6:1 · AAA
#3C3F33 Deep moss Text and structure 9.6:1 · AAA
#6F7A55 Sage Watercolor green, quiet accents 4.1:1 · AA large
#B8975A Old gold Only where light touches 3.9:1 · AA large
#A86B4A Copper Dawn light, warm metal 3.8:1 · AA large
#14160F Olive abyss The night version of the paper 16.2:1 · AAA

All colors come from the logo and the watercolor branch. The palette is modulated by the visitor’s local hour: at night, paper becomes olive abyss and text becomes cream, and contrast is re-measured at every keyframe.

B

Typography

Cormorant Garamond400 · 0

Enraizar

Display · titles · quotesHigh-contrast Garamond with real italics: the voice of a manuscript.

Instrument Sans400 · 0

Hatha lento · 75 min · Quedan 2 plazas

Practical text · timetable · bookingClean and modern so practical information is never mystical.

Cinzel400 · 0.18em · caps

Mūla · raíz

Inscriptions · small labelsCarved Roman capitals, used sparingly like stone inscriptions.

Noto Serif Devanagari400 · 0

मूल योग यन्त्र

Sanskrit termsAlways paired with its IAST transliteration and meaning.

C

Grid & spacing

Columns
12
Max width
1440px
Gutter
24px
Base unit
8px
8
13
21
34
55
89
144

Spacing grows in Fibonacci steps (8, 13, 21, 34, 55, 89), the same proportions used to construct the yantras, so whitespace breathes rather than stacks.

D

Decisions, and why

  1. 01

    The logo is the script of the opening

    WhyA drop, two leaves, an open circle and two points become the first thirteen seconds: the brand is learned, not shown.

    Instead ofA generic hero video of a sunset.

  2. 02

    Gold only where light touches

    WhyScarcity keeps it sacred; overuse turns it into decoration.

    Instead ofGold borders on every card and button.

  3. 03

    Seats drawn as bindus

    WhyCapacity becomes part of the visual language: honest scarcity, no countdowns.

    Instead of“Only 2 left!” badges in red.

  4. 04

    Magic never hides the timetable

    Why“Reserve a practice” stays in the header of every room, in plain words.

    Instead ofBooking buried at the end of the experience.

E

Schema

The logo as script
1234
  1. 1A drop: condenses on the leaf and falls at 4.2 s
  2. 2Two leaves: the watercolor branch that opens the scene
  3. 3An open circle: the ripple that turns paper into water
  4. 4Two points: the bindus: origin and destination, the yantra’s center
Screens · 08 Drag · click to enlarge
YogaRooted · 01
YogaRooted · 02
YogaRooted · 03
YogaRooted · 04
YogaRooted · 05
YogaRooted · 06
YogaRooted · 07
YogaRooted · 08
Stack
  • Three.js · GLSL
  • GSAP
  • Vite
  • JavaScript
  • Web Audio
  • Node.js
  • REST API
  • PDF generation
  • Playwright (QA)
Deliverables
  1. Art direction & visual concept
  2. Immersive website + 2D fallback
  3. Booking & checkout flow
  4. Admin app (7 modules)
  5. Invoicing & reports
  6. Student area
What I would do next
  1. Memberships with automatic renewal and pause.
  2. Waitlists that fill freed seats automatically.
  3. English version for international retreat guests.
Next project · 04 MiagaRose Operations · Interconnected data system
Keep scrolling
© 2026 Ernest GuzmánLet's talk →