ADVERTISEMENT

'Open Endings' is a lovely mess

Why this sapphic Filipino romantic film is worth watching

Published Jun 15, 2026 09:23 pm

At A Glance

  • What makes "Open Endings" stand out as a film is its openness to showing how queer relationships can be equally exciting and stressful as heteronormative relationships.
'TOMBOY PA RIN' Leanne Mamonong, Jasmine Curtis-Smith, Janella Salvador, and Klea Pineda in 'Open Endings' (Photos: Cinemalaya)
'TOMBOY PA RIN' Leanne Mamonong, Jasmine Curtis-Smith, Janella Salvador, and Klea Pineda in 'Open Endings' (Photos: Cinemalaya)
Queer women, stay winning.
“Open Endings” was recently released in cinemas nationwide for its theatrical run. After its successful screening during Cinemalaya 2025, we decided to revisit the film to see how it holds up.
Under the direction of Nigel Santos, “Open Endings” follows the story of a queer friend group that shares quite a past. With writer Keavy Eunice Vicente at the helm, we are led to the world of a beautiful mess of relationships, hook-ups, and ghosting.
We start the film with Charlie (Janella Salvador) trying to recover from a fresh breakup. She joins her friends, Kit (Klea Pineda), Mihan (Leanne Mamonong), and Hannah (Jasmine Curtis-Smith) for their weekly lunch. Each character has unique traits and looks that make them stand out. Charlie has a soft-spoken demeanor and has a tendency to move too fast in relationships. Kit is a public school teacher who finds herself in a spicy affair with her student's mother. Mihan is an accomplished author with a “sadgirl” archetype, having had a history of ghosting Charlie. Then, there's Hannah, who we've come to know as a grieving partner, before eventually deciding to tie the knot out of the blue with a man two years later. It's almost stressful thinking about their pathway from ex-lovers to best friends, but it's this messy history of theirs that may feel all too familiar to viewers.
BEHIND THE SCENES Director Nigel Santos and writer Keavy Eunice Vicente
BEHIND THE SCENES Director Nigel Santos and writer Keavy Eunice Vicente
What makes “Open Endings” stand out as a film is its openness to showing how queer relationships can be equally exciting and stressful as heteronormative relationships. We are shown the same blunders some straight relationships often face, such as the hesitance in being fully open about how one truly feels. Audience members are also shown how the pining and yearning between queer women occur. These moments are essential in helping people understand that non-hetero relationships walk a similar path when it comes to romance. It also provides the much-needed spotlight on the hardships minorities face due to continued misconceptions and/or blatant sexism.
SAPPHIC LOVE 'Open Endings' follows the story of ex-lovers turned besties
SAPPHIC LOVE 'Open Endings' follows the story of ex-lovers turned besties
On a rewatch, however, there are minor gripes that can be felt. We're not sure if this issue stems from the cinema we watched it in, but some bits of the film have some glaring audio leveling issues. It takes away from the experience when the dialogue recorded sounds choppy or canned.
Timelines can also be difficult to follow within certain parts of the film. There are a few moments that cut so suddenly that you’re left second-guessing if it's showing the present or the past. We also wish it could've dwelt longer in certain moments and explored further with some of its subplots.
Overall, “Open Endings” offers a fun glimpse into the world of WLW relationships and gives viewers comfort in knowing they are not alone in experiencing such wonderful feelings.

Related Tags

Arts and Culture Cinemalaya 2025 Open Endings Janella Salvador Jasmine Curtis-Smith
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; } }

{{ articles_filter_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.