ADVERTISEMENT

Behind the beautiful chaos of 'Ganito, Ganyan, Ganoon'

Published Aug 13, 2026 12:19 pm
Agot Isidro, Director Cholo Laurel and Jodi Sta. Maria (Facebook)
Agot Isidro, Director Cholo Laurel and Jodi Sta. Maria (Facebook)
by Margaret Tipton Siytangco
Netflix gathered the cast and director of "Ganito, Ganyan, Ganoon" for a press conference at Casa Buenas in Newport World Resorts on August 12, with director Cholo Laurel and lead stars Agot Isidro and Jodi Sta. Maria joined by members of the supporting cast.
With heavy rains outside, Sta. Maria jokingly described the film as “mabagyo” as she thanked members of the press for braving the weather. The word also happens to fit a story about a family shaken by the return of an absentee mother.
Laurel said the story came from something he witnessed in real life.
“It was inspired by the life of someone very close to me,” he shared. “I watched a death happening, and I watched relationships wounded, healed. I keenly observed all of that happening.”
Watching it unfold taught him about healing and, he said, it helped heal something in him as well. “Yung ganoong kind of healing, hindi puwedeng itago. Kailangang masabi ’yun sa iba sa pamamagitan ng storya.”
Laurel spent two years developing the screenplay and collaborated with younger writers to bring freshness to the material. As he put it, *healing can be messy.*
Much of that mess begins with Paz, played by Isidro, who returns to the family and the daughter she left behind decades earlier.
“I play Paz, the mommy of Jo, and I come home—a grand homecoming to the family that I did something major to in the past,” Isidro explained. “I was an absentee mother. I was the one who opened the wounds of the family, and from there came the beautiful chaos.”

She laughed as she offered an even simpler description of her character: “Basically, umuwi para manggulo. Parang ako yung bagyo.”
Sta. Maria plays Jo, the daughter Paz abandoned for 27 years. Now a writer and fiercely independent, Jo has gone to therapy and believes she is finally beginning to understand herself when Paz suddenly reappears.
“Just when she thought she had it all together, that she had everything figured out, biglang may dumating na storm sa buhay niya—in the form of Paz,” Sta. Maria said.
Sta. Maria, herself a mother, admitted that she initially had trouble understanding how Paz could have left her daughter.
“Bilang nanay, paano siya umabot sa gano’n? Paano niya ako iniwan? Because if it were me, ilalaban ko para sa anak ko,” she said. “And then me, bilang anak, kung sa akin nangyari ito, paano ko gagawin?”
She and Laurel talked through those questions at length, conversations Sta. Maria jokingly compared to “therapy sessions.” She said she had to reach a point where she was not judging Jo or Paz in order to play Jo truthfully.
Isidro, who recently turned 60, had her own thoughts on forgiveness and closure.
“As you grow older, you don’t want the baggage,” she said. While people may wait for an apology before allowing themselves to forgive, she believes peace eventually has to come from within. “We don’t need to hear the apology. It’s really inner work.”
Laurel, meanwhile, said the film does not tell the audience whether forgiveness or reconciliation is the answer.
After the press conference, I was able to ask Laurel a question that had been on my mind since I was given an advance look at the film: Was the discomfort I felt while watching its characters deliberate?
Laurel immediately smiled and nodded. “Yes.”
One character, however, stood apart from all that discomfort: Gardo Versoza’s character. His easy acceptance of Paz’s return and of Matti seemed almost surprising. When I pointed out how quickly he appeared to accept everything, Laurel interrupted with a smile: “You got it. You got it.”
“Gardo is the prime example of the family member who we deem as nothing ever happens to him, but he’s the one who really has the wealth of peace in him,” Laurel explained. “That’s why he’s adorable. Because he’s the one who decided, ‘I’m going to live a simple life.’”
When I asked why he chose to make the character welcoming rather than angry or resentful, Laurel said families often have people just like him.
“We have bastions of light and peace. Meron talagang gano’n,” he said. “Meron talagang people you’d think they didn’t amount to anything, he never left the province, but he’s a carrier of peace.”
Laurel added that Versoza would be happy that the character’s purpose had come across. “Matutuwa si Gardo na nakuha mo yung role niya. Nakuha mo yung essence ng character niya.”
That idea of someone simply carrying peace brought our conversation back to the rest of the family, where so much has been left unsaid. Laurel believes those things have to be talked about before healing can begin.
“When we can’t express it, we say, ‘yung ganito, ganyan, ganoon,’” he said. “But what’s needed is you yank wounds open, you expose things, and you talk so that you can start healing.”
“The film will not tell you to forgive. The film will not tell you what’s wrong or right,” Laurel added. “It will not tell you anything except: this is a Filipino family. This is what we are like. You decide.”

Related Tags

Jodi Sta Maria Agot Isidro Netflix Ganito Ganyan Ganoon
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.