<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Maya Morgan</title><link>https://mayamorgan.ca/</link><description>Recent content on Maya Morgan</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Maya Morgan</copyright><lastBuildDate>Mon, 23 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mayamorgan.ca/index.xml" rel="self" type="application/rss+xml"/><item><title>Compiling Chemistry</title><link>https://mayamorgan.ca/books/compiling-chemistry/</link><pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate><guid>https://mayamorgan.ca/books/compiling-chemistry/</guid><description>&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md book-cover"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="Compiling Chemistry book cover"
 width="1600"
 height="2560"
 src="https://mayamorgan.ca/img/compiling-chemistry_hu_7f1d9ecd013b3f7.jpg"
 srcset="https://mayamorgan.ca/img/compiling-chemistry_hu_7f1d9ecd013b3f7.jpg 800w,/img/compiling-chemistry_hu_b9c2aa1358379e89.jpg 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://mayamorgan.ca/img/compiling-chemistry.jpg"
 /&gt;
 
 
 &lt;/figure&gt;

&lt;h2 class="relative group"&gt;About the Book
 &lt;div id="about-the-book" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#about-the-book" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Felix Moretti is stuck in traffic, late to a networking event he doesn&amp;rsquo;t want to attend. Cassidy Morgan is about to deliver a presentation she could give in her sleep. Neither of them is looking for this.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Felix hasn&amp;rsquo;t been on a date in five months. Not since his ex cheated and left him with a phone full of unanswered texts and a strong opinion about trusting people. He&amp;rsquo;s a web developer at Vertex Digital. Code makes sense. People don&amp;rsquo;t. Tonight is just another obligation to survive.&lt;/p&gt;</description></item><item><title>About Maya</title><link>https://mayamorgan.ca/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mayamorgan.ca/about/</guid><description>&lt;p&gt;I&amp;rsquo;m Maya Morgan, and I write romance.&lt;/p&gt;
&lt;p&gt;The first book started as a dare I made to myself. Finish one novel. Just one. Somewhere around chapter ten I stopped keeping score and started losing sleep over people who don&amp;rsquo;t exist. That was it for my free time. I haven&amp;rsquo;t really recovered.&lt;/p&gt;
&lt;p&gt;I write characters who have their professional lives handled and their personal lives in shambles. The kind of people who can run a meeting without flinching but send a risky text and immediately throw their phone across the room.&lt;/p&gt;</description></item><item><title>Contact</title><link>https://mayamorgan.ca/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mayamorgan.ca/contact/</guid><description>&lt;h2 class="relative group"&gt;Say Hello
 &lt;div id="say-hello" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#say-hello" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;I like hearing from readers. Book bloggers and reviewers too. Really, anyone with a reason to get in touch. Or no reason at all. I&amp;rsquo;m not picky.&lt;/p&gt;
&lt;p&gt;Drop me a line. I read everything.&lt;/p&gt;

&lt;h3 class="relative group"&gt;Email
 &lt;div id="email" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#email" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;











&lt;div class="reveal-email-wrapper inline-flex flex-row items-center gap-3"&gt;
 &lt;button
 type="button"
 class="inline-flex items-center gap-2 rounded-xl border border-white/40 bg-white/10 px-4 py-2 text-sm font-semibold text-white tracking-wide backdrop-blur hover:bg-white/20 transition reveal-email-button"
 data-reveal-email="aGVsbG9AbWF5YW1vcmdhbi5jYQ=="
 data-reveal-target="reveal-email-0"
 data-reveal-label="Reveal email"&gt;
 Reveal email
 &lt;/button&gt;
 &lt;span id="reveal-email-0" class="hidden reveal-email-value" data-link-class="text-primary-300 font-semibold text-lg"&gt;&lt;/span&gt;
&lt;/div&gt;


 
 &lt;script&gt;
 document.addEventListener("DOMContentLoaded", () =&gt; {
 function decodeEmail(encoded) {
 try { return atob(encoded); } catch (e) { return ""; }
 }
 document.querySelectorAll("[data-reveal-email]").forEach((btn) =&gt; {
 btn.addEventListener("click", () =&gt; {
 const encoded = btn.getAttribute("data-reveal-email");
 const targetId = btn.getAttribute("data-reveal-target");
 if (!encoded || !targetId) return;
 const email = decodeEmail(encoded);
 const target = document.getElementById(targetId);
 if (!email || !target) return;
 target.textContent = "";
 const link = document.createElement("a");
 link.href = `mailto:${email}`;
 link.textContent = email;
 link.className = target.dataset.linkClass || "";
 target.appendChild(link);
 target.classList.remove("hidden");
 target.classList.add("show");
 btn.classList.add("hidden");
 }, { once: true });
 });
 }, { once: true });
 &lt;/script&gt;



&lt;h3 class="relative group"&gt;Send a Message
 &lt;div id="send-a-message" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#send-a-message" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;



 
 
 







&lt;div class="max-w-xl"&gt;
 &lt;form
 id="formspree-form-1"
 action="https://formspree.io/f/xgvrjqlj"
 method="POST"
 class="space-y-10"
 novalidate&gt;
 &lt;div class="flex flex-col text-neutral-100"&gt;
 &lt;label class="text-md font-semibold tracking-wide text-neutral-100" for="formspree-name"&gt;Name&lt;/label&gt;
 &lt;input
 id="formspree-name"
 name="name"
 type="text"
 required
 autocomplete="name"
 class="glass-input rounded-xl px-4 py-3 mt-2 text-white placeholder:text-neutral-200/80 focus:border-primary-300 focus:outline-none focus:ring-2 focus:ring-primary-300/40"
 placeholder="Your name"&gt;
 &lt;/div&gt;

 &lt;div class="flex flex-col text-neutral-100"&gt;
 &lt;label class="text-md font-semibold tracking-wide text-neutral-100" for="formspree-email"&gt;Email&lt;/label&gt;
 &lt;input
 id="formspree-email"
 name="email"
 type="email"
 required
 autocomplete="email"
 class="glass-input rounded-xl px-4 py-3 mt-2 text-white placeholder:text-neutral-200/80 focus:border-primary-300 focus:outline-none focus:ring-2 focus:ring-primary-300/40"
 placeholder="you@example.com"&gt;
 &lt;/div&gt;

 &lt;div class="flex flex-col text-neutral-100"&gt;
 &lt;label class="text-md font-semibold tracking-wide text-neutral-100" for="formspree-message"&gt;Message&lt;/label&gt;
 &lt;textarea
 id="formspree-message"
 name="message"
 rows="6"
 required
 class="glass-input rounded-2xl px-4 py-3 mt-2 text-white placeholder:text-neutral-200/80 focus:border-primary-300 focus:outline-none focus:ring-2 focus:ring-primary-300/40"
 placeholder="What would you like to talk about?"&gt;&lt;/textarea&gt;
 &lt;/div&gt;

 &lt;div class="hidden"&gt;
 &lt;label for="formspree-gotcha"&gt;Leave this empty&lt;/label&gt;
 &lt;input id="formspree-gotcha" name="_gotcha" type="text" tabindex="-1" autocomplete="off"&gt;
 &lt;/div&gt;

 &lt;input type="hidden" name="_subject" value="New contact form message from Maya Morgan"&gt;
 &lt;input type="hidden" name="_captcha" value="false"&gt;
 

 &lt;div class="flex justify-center text-sm mt-1 text-center" data-formspree-status&gt;
 &lt;span class="formspree-status" data-formspree-status-message&gt;&lt;/span&gt;
 &lt;/div&gt;

 &lt;button
 type="submit"
 class="glass-button inline-flex w-full items-center justify-center rounded-2xl px-6 py-3 font-semibold text-sm tracking-wide text-white"&gt;
 Send Message
 &lt;/button&gt;
 &lt;/form&gt;
&lt;/div&gt;

&lt;script&gt;
 document.addEventListener("DOMContentLoaded", () =&gt; {
 const form = document.getElementById("formspree-form-1");
 if (!form) return;
 const statusWrapper = form.querySelector('[data-formspree-status]');
 const statusNode = statusWrapper?.querySelector('[data-formspree-status-message]');
 let hideStatusTimer;

 form.addEventListener("submit", async (event) =&gt; {
 event.preventDefault();
 statusNode?.classList.remove("show", "success", "error");
 if (hideStatusTimer) {
 clearTimeout(hideStatusTimer);
 }
 const formData = new FormData(form);
 try {
 const response = await fetch(form.action, {
 method: "POST",
 body: formData,
 headers: { Accept: "application/json" },
 });
 if (response.ok) {
 form.reset();
 if (statusNode) {
 statusNode.textContent = "Thanks! Your message is on its way.";
 statusNode.classList.add("success", "show");
 }
 hideStatusTimer = window.setTimeout(() =&gt; {
 statusNode?.classList.remove("show");
 }, 5000);
 } else {
 if (statusNode) {
 statusNode.textContent = "Something went wrong. Please try again.";
 statusNode.classList.add("error", "show");
 }
 hideStatusTimer = window.setTimeout(() =&gt; {
 statusNode?.classList.remove("show");
 }, 5000);
 }
 } catch (error) {
 if (statusNode) {
 statusNode.textContent = "Something went wrong. Please try again.";
 statusNode.classList.add("error", "show");
 }
 hideStatusTimer = window.setTimeout(() =&gt; {
 statusNode?.classList.remove("show");
 }, 5000);
 }
 });
 });
&lt;/script&gt;

&lt;hr&gt;
&lt;p&gt;&lt;em&gt;I won&amp;rsquo;t share your contact info. Your privacy matters as much as mine.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://mayamorgan.ca/privacy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mayamorgan.ca/privacy/</guid><description>&lt;h2 class="relative group"&gt;Privacy Policy
 &lt;div id="privacy-policy" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#privacy-policy" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Last updated: November 2025&lt;/p&gt;

&lt;h3 class="relative group"&gt;Information Collection
 &lt;div id="information-collection" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#information-collection" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;This website is a simple static site. We do not collect, store, or process any personal information through this website.&lt;/p&gt;

&lt;h3 class="relative group"&gt;Contact Form
 &lt;div id="contact-form" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#contact-form" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;When you contact me via email, your email address and any information you choose to share will be used solely to respond to your inquiry. I will never share your contact information with third parties.&lt;/p&gt;</description></item></channel></rss>