ADVERTISEMENT

Tears and tenderness: How 'Reminders of Him' captures human emotion

Published Mar 15, 2026 11:35 am
By Margaret Siytangco

Reminders of Him, directed by Vanessa Caswill and starring Maika Monroe and Tyriq Withers, is based on the bestselling novel by Colleen Hoover. I should start by saying that I have not read the book, so I went into the movie completely blind. My reaction to it comes purely as a moviegoer, not as someone comparing the film to the source material.

A scene from 'Reminders of Him'
A scene from 'Reminders of Him'

At first glance, it looks like a love story. And yes, there is romance in it. But the more the story unfolds, the more you realize that the film is really about the many different ways people can love one another.

The love that struck me the most, though, was a mother’s love for her child. The story quietly presents two mothers, both dealing with the loss of a child in very different ways. One lost her son in a car accident. The other has lost her child through circumstances I won’t explain here because it would spoil too much of the story. What follows is a very emotional look at grief, guilt, forgiveness, and the long road toward redemption.

Beyond that, the film also explores other kinds of love — the loyalty of a best friend who is

almost like a brother, the hesitant beginnings of romantic love, and the simple kindness people sometimes extend to someone who is trying to rebuild their life after making mistakes.'

From left: Kenna (Maika Monroe) and Ledger (Tyriq Withers) in Reminders of Him, directed by Vanessa Caswill.
From left: Kenna (Maika Monroe) and Ledger (Tyriq Withers) in Reminders of Him, directed by Vanessa Caswill.

This is definitely a tearjerker. There were several moments where it was honestly difficult to stop the tears from flowing.

What I appreciated most about the film is how restrained the performances are. Nothing feels loud or overly dramatic. The actors do so much in quiet moments — through their eyes, small expressions, and pauses. There are no explosive scenes or over-the-top emotions. Instead, you feel everything slowly building under the surface, which somehow makes it hit even harder.

Maika Monroe carries the film beautifully as Kenna Rowan, a woman trying to rebuild her life while carrying the weight of her past. Tyriq Withers brings a quiet warmth to Ledger Ward, whose compassion becomes one of the story's anchors.

And I have to admit, seeing Lauren Graham — the beloved mom from Gilmore Girls — sharing scenes with Bradley Whitford of The West Wing was a little treat for me. Watching them play the grieving parents of the young man whose death sets the story in motion added another emotional layer to the film.

At its core, Reminders of Him is a story about forgiveness — about how people are often more than the worst mistakes they’ve made. It’s a quiet film, but it’s deeply emotional and very human.

Just bring tissues.

Reminders of Him is in theaters now.

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.