ADVERTISEMENT

How Happy Andrada turned Juvenal Sansó's paintings into wearable art

Drawing from the artist's florals, landscapes, and emotional landscapes, the Filipino designer created a collection that brings paintings off the canvas and into motion

Published Jun 12, 2026 09:38 am
ART OF DRESSING Happy Andrada captures the charm and whismsy of Juvenal Sansó’s masterpieces through a variety of techniques and fabrication. (Photos: Happy Andrada)
ART OF DRESSING Happy Andrada captures the charm and whismsy of Juvenal Sansó’s masterpieces through a variety of techniques and fabrication. (Photos: Happy Andrada)
Fashion and art have always influenced each other, but for designer Happy Andrada, her latest collaboration with Fundación Sansó was less about borrowing imagery and more about reinterpreting it. The challenge was to transform Juvenal Sansó's paintings into garments that could be worn, touched, and experienced.
Happy Andrada
Happy Andrada
Unveiled at Discovery Primea on June 6, the Happy Andrada x Sansó collection draws inspiration from the works of the renowned Filipino artist, whose landscapes, florals, and richly textured compositions have captivated audiences for decades.
The collaboration began with what was meant to be a simple visit. Invited to explore Fundación Sansó, Happy found herself immersed not only in the artist's works but also in the story behind the man himself.
"What started as a simple conversation gradually evolved into a much bigger idea, a solo collaborative exhibition and collection. The moment it was presented to me, I became incredibly excited. Ideas started flowing immediately," Happy tells Manila Bulletin Lifestyle.
As she learned more about Sansó, she discovered unexpected parallels between their creative journeys. Sansó was a printmaker. Happy studied printmaking in London. He worked as a fashion illustrator and collaborated with Cristóbal Balenciaga, whose work she greatly admires. She also began her creative journey as a painter before focusing on fashion.
"Beyond the artworks themselves, it was his creative journey and multidisciplinary practice that truly inspired me," she says. "This is the first time I have directly created a collection inspired by a specific artist and his body of work."
The connection feels particularly fitting given Sansó's own multidisciplinary background. While best known for his paintings of flowers and landscapes, the artist also explored printmaking, textile design, theater design, and costume design throughout his career.
Rather than simply reproducing Sansó's paintings through prints or painted garments, Happy challenged herself to reinterpret his visual language through texture and craftsmanship.
For the collection, she explored airbrushing, felting, embroidery, crochet, beadwork, punch-needle work, borro, weaving, and hand painting. Since she was paying tribute to a painter, she consciously avoided relying solely on paint.
“Areas that felt soft, atmospheric, or fluid were interpreted through color and airbrushing, while elements that carried more depth, energy, or organic movement were translated into sculptural surfaces through felting and other textile techniques,” she explains about her execution.
Among Sansó's extensive body of work, it was his transitional floral paintings that resonated with the designer the most. "There's a quiet shift in energy, the darkness begins to soften, and color starts to emerge," Happy smiles. "The forms feel alive, almost like emotions unfolding into blooms."
The project also became a celebration of Philippine craftsmanship. Happy sourced materials from weaving communities across the country, incorporating piña, abaca, t'nalak, binakol, abel pinilian, yakan weaves, bamboo textiles, and other indigenous materials into the designs. Fabrics and weaves came from Ilocos, Baguio, Cavite, Sulu, Basilan, Palawan, Lake Sebu, and Aklan.
Initial discussions started in 2024, but the project was eventually moved to this year. The delay gave the concept room to develop more naturally—from an eight-piece collection that expanded to 30 looks.
When the Fundación Sansó team saw Happy’s first pieces and placed them beside Sansó's paintings, the designer knew she was on the right track. "That was a real 'aha' moment for me," she recalls. "Seeing that connection made everything click into place and gave me the confidence to move forward."
This collaboration also supports the community. Fundación Sansó continues the late artist's commitment to nurturing future generations through scholarship and grant programs that support emerging artists, curators, and museum workers. A significant portion of the proceeds from the collection will help fund these initiatives.
What began as a visit to Fundación Sansó eventually became a conversation between two artists separated by time but connected by craft. One worked with paint, the other with fabric. In Andrada's hands, Sansó's paintings leave the gallery wall and find another way of being seen.
Watch the collection in motion below:

Related Tags

fashion and beauty Juvenal Sanso Happy Andrada
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ static_articles_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.