
Price: $0.99
(as of Sep 26, 2026 11:56:44 UTC – Details)
A novel about the magical lure of books and summoning the courage to rewrite our stories by the Amazon Charts bestselling author of The Keeper of Happy Endings and The Last of the Moon Girls.
Rare-book dealer Ashlyn Greer’s affinity for books extends beyond the intoxicating scent of old paper, ink, and leather. She can feel the echoes of the books’ previous owners—an emotional fingerprint only she can read. When Ashlyn discovers a pair of beautifully bound volumes that appear to have never been published, her gift quickly becomes an obsession. Not only is each inscribed with a startling incrimination, but the authors, Hemi and Belle, tell conflicting sides of a tragic romance.
With no trace of how these mysterious books came into the world, Ashlyn is caught up in a decades-old literary mystery, beckoned by two hearts in ruins, whoever they were, wherever they are. Determined to learn the truth behind the doomed lovers’ tale, she reads on, following a trail of broken promises and seemingly unforgivable betrayals. The more Ashlyn learns about Hemi and Belle, the nearer she comes to bringing closure to their love story—and to the unfinished chapters of her own life.
Listening Length : 13 hours and 8 minutes
Author : Barbara Davis
Narrator : Vanessa Johansson, see all
Publication date : March 28, 2023
Language : English
Publisher : Brilliance Audio
ASIN : B0BLZQQTTT
Version : Unabridged
Program Type : Audiobook
Best Sellers Rank: #1,468 in Audible Books & Originals (See Top 100 in Audible Books & Originals) #3 in Historical Mysteries (Audible Books & Originals) #5 in Historical Mystery #8 in Magical Realism Fiction
Customer Reviews: 4.6 4.6 out of 5 stars (77,475) var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });
