ADVERTISEMENT

A look inside 'The Cottage' as featured in 'Heated Rivalry'

The architect shares behind-the-scenes details on the lakeside home's design

Published Jan 12, 2026 03:40 pm
With work on pause during the holiday season, binge-watching became the go-to way to unwind. One series kept everyone hooked, living rent-free in group chats and feeds, "Heated Rivalry."
Shane Hollander (Hudson Williams) and Ilya Rozanov (Connor Storrie) star in the series, adapted from Rachel Reid’s novels and developed for television by Jacob Tierney, produced by Canadian streaming network Crave and distributed in the US by HBO Max. The story follows their secret, long-running relationship as rival pro hockey players, with many key scenes unfolding in a secluded cottage that sets the stage for a closer look at the home featured in the show.
Heated Rivalry stars Shane Hollander (Hudson Williams) and Ilya Rozanov (Connor Storrie) in a screen adaptation of Rachel Reid’s novels.
Heated Rivalry stars Shane Hollander (Hudson Williams) and Ilya Rozanov (Connor Storrie) in a screen adaptation of Rachel Reid’s novels.
Dubbed by some as the “house with many windows,” Barlochan Cottage by Trevor McIvor Architect Inc. sits in Muskoka Lakes, Ontario, just north of Toronto. The 2,500-square-foot home is designed as a four-season retreat, featuring a prefabricated Douglas fir structure anchored by a central granite fireplace, with living spaces arranged to frame the surrounding landscape and support year-round use.
The cottage follows the natural Canadian Shield terrain, with floor levels stepping down the slope to reduce its impact on the site. Columns, beams, and windows are integrated into a single structural system that supports a lightweight roof above glazed spaces.
The exterior is clad in Douglas fir Kindl siding and anchored by local granite. Kindl is a Japanese charred wood treatment that improves resistance to rot, fire, and pests while giving the cottage its dark finish.
Barlochan Cottage in Muskoka Lakes, Ontario is a four-season retreat by Trevor McIvor Architect Inc. clad in charred Kindl wood and anchored by a central granite fireplace. (Photos from Trevor McIvor Architect Inc. website)
Barlochan Cottage in Muskoka Lakes, Ontario is a four-season retreat by Trevor McIvor Architect Inc. clad in charred Kindl wood and anchored by a central granite fireplace. (Photos from Trevor McIvor Architect Inc. website)
“Excited for ‘The Cottage,’ episode six of Heated Rivalry? We are too! If you’re not already tuned in, make sure to catch up in time to see our beloved project, Barlochan Cottage, take centre ice on the big screen,” shared the company on its Instagram page.
For many viewers, Heated Rivalry has landed as a faithful screen adaptation of the original book, with a finale that feels earned and deeply satisfying. With a second season now officially in the works, the series shows no signs of cooling down anytime soon.

Related Tags

Trevor McIvor Architect Inc. Barlochan Cottage Shane Hollander Ilya Rozanov Rachel Reid Heated Rivalry
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.