About

Black-and-white portrait of a bald Black woman wearing bold wayfarer-style glasses and large hoop earrings while standing in front of a brick wall; composed, modern, and minimalist aesthetic.

ScrawlHaus (Los Angeles) is a self-publish micro-press established in 2014 by multidisciplinary artist and author Patsy Moore. Its catalog includes poetry, memoirs, essays, short fiction, and anthologies—with a focus on honest, transformative storytelling.


THINGS I'VE COME TO REALIZE IN THE PAST FEW DAYS (NO. 1) is an assemblage of thoughtful insights on "navigating the zigzags of existence"—presented as essays and confessional stories, and based on a popular series of social media posts. The first volume's first edition, featuring Patsy Moore's text and Andreea Mironiuc's whimsical illustrations, was published on August 24, 2015.

Book cover titled Things I’ve Come to Realize in the Past Few Days No. 1 by Patsy Moore, featuring bold white text on black with a lime green lightbulb icon.

Text

i This title is also available through Apple Books, Everand, Booktopia, Browns Books (UK), Palace Marketplace, Gardners Books, and Odilo, with library service provided through cloudLibrary and Baker & Taylor.


Listen to "Nineteen"—entry 19 of this book.

0:00
const playBtn_Track1 = document.getElementById('playBtn_Track1'); const playIcon_Track1 = document.getElementById('playIcon_Track1'); const pauseIcon_Track1 = document.getElementById('pauseIcon_Track1'); const audioPlayer_Track1 = document.getElementById('customAudioPlayer_Track1'); const progressBar_Track1 = document.getElementById('progressBar_Track1'); const progressContainer_Track1 = document.getElementById('progressContainer_Track1'); const timeDisplay_Track1 = document.getElementById('timeDisplay_Track1'); let isPlaying_Track1 = false; playBtn_Track1.addEventListener('click', () => { if (isPlaying_Track1) { audioPlayer_Track1.pause(); } else { audioPlayer_Track1.play(); } }); audioPlayer_Track1.addEventListener('play', () => { isPlaying_Track1 = true; playIcon_Track1.style.display = 'none'; pauseIcon_Track1.style.display = 'block'; }); audioPlayer_Track1.addEventListener('pause', () => { isPlaying_Track1 = false; playIcon_Track1.style.display = 'block'; pauseIcon_Track1.style.display = 'none'; }); audioPlayer_Track1.addEventListener('timeupdate', () => { const progress = (audioPlayer_Track1.currentTime / audioPlayer_Track1.duration) * 100; progressBar_Track1.style.width = progress + '%'; const minutes = Math.floor(audioPlayer_Track1.currentTime / 60); const seconds = Math.floor(audioPlayer_Track1.currentTime % 60).toString().padStart(2, '0'); timeDisplay_Track1.textContent = `${minutes}:${seconds}`; }); progressContainer_Track1.addEventListener('click', (e) => { const rect = progressContainer_Track1.getBoundingClientRect(); const clickPosition = (e.clientX - rect.left) / rect.width; audioPlayer_Track1.currentTime = clickPosition * audioPlayer_Track1.duration; }); const audioElements = document.querySelectorAll('audio'); function fadeOutAndKillAudio(audio) { console.log(`💣 Fade Out initiated for: ${audio.src}`); const fadeInterval = 50; const fadeSteps = 20; const fadeStepAmount = audio.volume / fadeSteps; const fadeOut = setInterval(() => { if (audio.volume > fadeStepAmount) { audio.volume -= fadeStepAmount; console.log(`🔉 Volume Level: ${audio.volume}`); } else { console.log(`🔇 Stopping audio: ${audio.src}`); audio.pause(); audio.currentTime = 0; audio.volume = 1.0; clearInterval(fadeOut); } }, fadeInterval); } /* 🚀 Step 1: Basic Click Navigation Listener */ document.querySelectorAll("a[href^='#'], button, .link").forEach(el => { el.addEventListener('click', (event) => { console.log(`🔗 Navigation detected to: ${event.target.href || event.target.closest('a').href}`); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); }); }); /* 🌀 Step 2: Hash Change Listener */ window.addEventListener("hashchange", () => { console.log("🔄 Hash change detected. Stopping all audio."); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); }); /* 🏞️ Step 3: Scroll Event Listener */ document.addEventListener('scroll', () => { if (window.location.hash) { console.log("🌀 Scroll Event Detected. Stopping all audio."); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); } }, { passive: true }); /* ⏫ Step 4: Back to Top Listener */ const backToTop = document.querySelectorAll("a[href='#top']"); backToTop.forEach(el => { el.addEventListener('click', () => { console.log("⏫ Back to Top Click Detected. Stopping all audio."); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); }); }); /* 🚪 Step 5: Page Unload and External Links */ window.addEventListener("beforeunload", () => { console.log("💀 Page Unload Detected. Nuking all audio elements."); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); }); document.querySelectorAll("a[href^='http']").forEach(link => { link.addEventListener('click', () => { console.log("🌐 External Link Clicked. Stopping all audio."); audioElements.forEach(audio => { if (!audio.paused) { fadeOutAndKillAudio(audio); } }); }); });

Published December 18, 2019, ONCE UPON A LOVER—creative multihyphenate Patsy Moore's first published collection of poetry (as well as ghostly, intimate, fragmentary photography)—is a deeply personal account dedicated to "those who have traveled the arcs of love affairs and who, in losing lovers, found themselves."

AUDIOBOOK RELEASE: 2025

Minimalist book cover for Once Upon a Lover by Patsy Moore, featuring black-and-white abstract photography and clean sans-serif typography.

Text

Letting in the brilliance of Patsy Moore's mind and character through her works is one of the best treats you can give yourself. Her words are decadent and touch on something profound of the human experience, yet feel as casual and intimate as a drink with a good friend. – B. Keehn 
Stunning work by an absolutely gifted artist & poet. Cannot recommend highly enough! – ACK 
The poetry [is] great. The pictures really [add] an elegant touch to it... Very enjoyable. – C. Jordan 
Letting in the brilliance of Patsy Moore's mind and character through her works is one of the best treats you can give yourself. Her words are decadent and touch on something profound of the human experience, yet feel as casual and intimate as a drink with a good friend. – B. Keehn 
Stunning work by an absolutely gifted artist & poet. Cannot recommend highly enough! – ACK 
The poetry [is] great. The pictures really [add] an elegant touch to it... Very enjoyable. – C. Jordan 

Read what other authors say
about this book.

(Turn phone to landscape view.)

Listen to the poem "As Seen from the Holy of Holies".

0:00
const playBtn_Track2 = document.getElementById('playBtn_Track2'); const playIcon_Track2 = document.getElementById('playIcon_Track2'); const pauseIcon_Track2 = document.getElementById('pauseIcon_Track2'); const audioPlayer_Track2 = document.getElementById('customAudioPlayer_Track2'); const progressBar_Track2 = document.getElementById('progressBar_Track2'); const progressContainer_Track2 = document.getElementById('progressContainer_Track2'); const timeDisplay_Track2 = document.getElementById('timeDisplay_Track2'); let isPlaying_Track2 = false; playBtn_Track2.addEventListener('click', () => { if (isPlaying_Track2) { audioPlayer_Track2.pause(); } else { audioPlayer_Track2.play(); } }); audioPlayer_Track2.addEventListener('play', () => { isPlaying_Track2 = true; playIcon_Track2.style.display = 'none'; pauseIcon_Track2.style.display = 'block'; }); audioPlayer_Track2.addEventListener('pause', () => { isPlaying_Track2 = false; playIcon_Track2.style.display = 'block'; pauseIcon_Track2.style.display = 'none'; }); audioPlayer_Track2.addEventListener('timeupdate', () => { const progress = (audioPlayer_Track2.currentTime / audioPlayer_Track2.duration) * 100; progressBar_Track2.style.width = progress + '%'; const minutes = Math.floor(audioPlayer_Track2.currentTime / 60); const seconds = Math.floor(audioPlayer_Track2.currentTime % 60).toString().padStart(2, '0'); timeDisplay_Track2.textContent = `${minutes}:${seconds}`; }); progressContainer_Track2.addEventListener('click', (e) => { const rect = progressContainer_Track2.getBoundingClientRect(); const clickPosition = (e.clientX - rect.left) / rect.width; audioPlayer_Track2.currentTime = clickPosition * audioPlayer_Track2.duration; });

COMING 2025!
STAY TUNED FOR NEWS ABOUT A DEDICATED MEMBERSHIP SITE.


BETTER LATE THAN NEVER:
NOTES ON A LATE-IN-LIFE NEURODIVERGENCE DIAGNOSIS
sprung from its writer receiving a formal determination of Twice Exceptional ("2e") Autism/ADHD, shortly before her 60th birthday—a discovery that would finally resolve a host of lifelong questions.

Book cover for Better Late Than Never: Notes on a Late-in-Life Neurodivergence Diagnosis by Patsy Moore, with red scribble art over a dark gray background and diagonal title placement.

In this stirring and observant work, Patsy Moore opens up about being a multiply neurodivergent individual, weaving nonlinear autobiographical narration with deep reflections on identity, difference, human adaptability, and the influence of Western frameworks in defining 'normality.'"You may consider this... part memoir, part primer, part grief, part reclaimed happiness," she states in BLTN's foreword. "This is a story about what serves us well and what doesn’t. About the many ways we’re asked to betray ourselves, and the many ways we comply with those demands disguised as polite requests. About science and Spirit and the day we realize that our chosen family is a wildly beautiful, spectacularly magical, gobsmackingly creative tribe of fellow 'misfit toys'... and we’d have it no other way."With wisdom, vulnerability, and a style that is both studious and lyrical, Moore casts light on the challenges and triumphs of finding clarity later in life, offering evocative glimpses into a journey of awakening and self-acceptance.BETTER LATE THAN NEVER began as private journal passages, which evolved into chapters first published as a serialized essay on the author’s Patreon. Now expanded and enriched, this memoiristic reckoning invites readers to more keenly understand the complexities of neurodivergence, whether in themselves or in those they love.


Listen to an excerpt from the chapter titled "Words".

0:00
const playBtn_Track3 = document.getElementById('playBtn_Track3'); const playIcon_Track3 = document.getElementById('playIcon_Track3'); const pauseIcon_Track3 = document.getElementById('pauseIcon_Track3'); const audioPlayer_Track3 = document.getElementById('customAudioPlayer_Track3'); const progressBar_Track3 = document.getElementById('progressBar_Track3'); const progressContainer_Track3 = document.getElementById('progressContainer_Track3'); const timeDisplay_Track3 = document.getElementById('timeDisplay_Track3'); let isPlaying_Track3 = false; playBtn_Track3.addEventListener('click', () => { if (isPlaying_Track3) { audioPlayer_Track3.pause(); } else { audioPlayer_Track3.play(); } }); audioPlayer_Track3.addEventListener('play', () => { isPlaying_Track3 = true; playIcon_Track3.style.display = 'none'; pauseIcon_Track3.style.display = 'block'; }); audioPlayer_Track3.addEventListener('pause', () => { isPlaying_Track3 = false; playIcon_Track3.style.display = 'block'; pauseIcon_Track3.style.display = 'none'; }); audioPlayer_Track3.addEventListener('timeupdate', () => { const progress = (audioPlayer_Track3.currentTime / audioPlayer_Track3.duration) * 100; progressBar_Track3.style.width = progress + '%'; const minutes = Math.floor(audioPlayer_Track3.currentTime / 60); const seconds = Math.floor(audioPlayer_Track3.currentTime % 60).toString().padStart(2, '0'); timeDisplay_Track3.textContent = `${minutes}:${seconds}`; }); progressContainer_Track3.addEventListener('click', (e) => { const rect = progressContainer_Track3.getBoundingClientRect(); const clickPosition = (e.clientX - rect.left) / rect.width; audioPlayer_Track3.currentTime = clickPosition * audioPlayer_Track3.duration; });

In REQUIEMS, we wander through corridors of memory, guided by the masterfully delicate expression that has become Moore’s hallmark. Departed souls take center stage in her second book of verse, the follow-up to 2019’s ONCE UPON A LOVER. Moore has crafted tender elegies to beloved figures—family, friends, mentors, and influences—who have marked her life indelibly.

Dark, minimalist cover for Requiems by Patsy Moore, featuring faded pink flowers on a black background and elegant gold typography.


REQUIEMS does not end, however, at lyrical finesse; it is a rich tapestry woven from mementos, a living portrait, and a compelling testament to the enduring power of poetry to recall, immortalize, and heal.

PUBLICATION DATE TBA


Listen to the poem "For Sinéad".

0:00
const playBtn_Track4 = document.getElementById('playBtn_Track4'); const playIcon_Track4 = document.getElementById('playIcon_Track4'); const pauseIcon_Track4 = document.getElementById('pauseIcon_Track4'); const audioPlayer_Track4 = document.getElementById('customAudioPlayer_Track4'); const progressBar_Track4 = document.getElementById('progressBar_Track4'); const progressContainer_Track4 = document.getElementById('progressContainer_Track4'); const timeDisplay_Track4 = document.getElementById('timeDisplay_Track4'); let isPlaying_Track4 = false; playBtn_Track4.addEventListener('click', () => { if (isPlaying_Track4) { audioPlayer_Track4.pause(); } else { audioPlayer_Track4.play(); } }); audioPlayer_Track4.addEventListener('play', () => { isPlaying_Track4 = true; playIcon_Track4.style.display = 'none'; pauseIcon_Track4.style.display = 'block'; }); audioPlayer_Track4.addEventListener('pause', () => { isPlaying_Track4 = false; playIcon_Track4.style.display = 'block'; pauseIcon_Track4.style.display = 'none'; }); audioPlayer_Track4.addEventListener('timeupdate', () => { const progress = (audioPlayer_Track4.currentTime / audioPlayer_Track4.duration) * 100; progressBar_Track4.style.width = progress + '%'; const minutes = Math.floor(audioPlayer_Track4.currentTime / 60); const seconds = Math.floor(audioPlayer_Track4.currentTime % 60).toString().padStart(2, '0'); timeDisplay_Track4.textContent = `${minutes}:${seconds}`; }); progressContainer_Track4.addEventListener('click', (e) => { const rect = progressContainer_Track4.getBoundingClientRect(); const clickPosition = (e.clientX - rect.left) / rect.width; audioPlayer_Track4.currentTime = clickPosition * audioPlayer_Track4.duration; });

Its originally scheduled release delayed in 2023, THIS vs THAT is now slated for publication in early 2026. Inspired by the author's love of words, and experiences as a transpersonal counselor, it is the first installment of an intended series that delves into how we verbally communicate. In TvT, Moore explores common language that may hinder our efforts to restore, build or strengthen relationships, and manifest the lives we desire.

Playful, modern cover of This vs That: 50 Opportunities to More Deeply Consider the Words We Use by Patsy Moore, with orange, green, and purple typography and illustrated speech bubbles.

What does it mean to inhabit a body? To sabotage—or feel sabotaged by—one’s body? To serve the bodies that prodigiously serve us? In the candid setting of CARA CORPUS: MEDITATIONS ON A BODY IN REVOLT AND A SOUL IN TRANSIT, Patsy Moore contemplates much—including decades of medical crises and what it might mean to “live well, die well” in the shadow of a terminal prognosis.

PUBLICATION DATE TBA

Artistic book cover for Cara Corpus: Meditations on a Body in Revolt and a Soul in Transit by Patsy Moore, featuring a stylized painted profile of a woman (the author) against a coral-pink background.

Listen to "All I Know", an excerpt from this book.

0:00
const playBtn_Track5 = document.getElementById('playBtn_Track5'); const playIcon_Track5 = document.getElementById('playIcon_Track5'); const pauseIcon_Track5 = document.getElementById('pauseIcon_Track5'); const audioPlayer_Track5 = document.getElementById('customAudioPlayer_Track5'); const progressBar_Track5 = document.getElementById('progressBar_Track5'); const progressContainer_Track5 = document.getElementById('progressContainer_Track5'); const timeDisplay_Track5 = document.getElementById('timeDisplay_Track5'); let isPlaying_Track5 = false; playBtn_Track5.addEventListener('click', () => { if (isPlaying_Track5) { audioPlayer_Track5.pause(); } else { audioPlayer_Track5.play(); } }); audioPlayer_Track5.addEventListener('play', () => { isPlaying_Track5 = true; playIcon_Track5.style.display = 'none'; pauseIcon_Track5.style.display = 'block'; }); audioPlayer_Track5.addEventListener('pause', () => { isPlaying_Track5 = false; playIcon_Track5.style.display = 'block'; pauseIcon_Track5.style.display = 'none'; }); audioPlayer_Track5.addEventListener('timeupdate', () => { const progress = (audioPlayer_Track5.currentTime / audioPlayer_Track5.duration) * 100; progressBar_Track5.style.width = progress + '%'; const minutes = Math.floor(audioPlayer_Track5.currentTime / 60); const seconds = Math.floor(audioPlayer_Track5.currentTime % 60).toString().padStart(2, '0'); timeDisplay_Track5.textContent = `${minutes}:${seconds}`; }); progressContainer_Track5.addEventListener('click', (e) => { const rect = progressContainer_Track5.getBoundingClientRect(); const clickPosition = (e.clientX - rect.left) / rect.width; audioPlayer_Track5.currentTime = clickPosition * audioPlayer_Track5.duration; });

Contact

Questions? Feedback? Interest?
Please reach out.