The Portal Weaver Series

The greatest adventures begin when we least expect them.

Luan thought he was heading out for an ordinary morning on his father’s fishing boat. Then he pulled a mermaid from the sea, and everything he believed about the world began to change.

Fantasy adventureFriendshipFound familyAges 12 and up

Click to enter the Otherworld

(function(){document.addEventListener('click',function(event){var link=event.target.closest('[data-jdh-scroll-story]');if(!link)return;event.preventDefault();event.stopPropagation();var story=document.getElementById('jdh-story');if(story)story.scrollIntoView({behavior:'smooth',block:'start'});},true);}());

Now available

The Portal Weaver and the Otherworld

She was never meant to be caught. He was never meant to find her.

On a random Monday morning, twelve-year-old Luan pulls a mermaid named Surf from his fishing net. She needs his help returning to the magical world of Loselliaha. Luan needs hers too. His mother is terminally ill, and Surf's world may hold the only cure.

To save the people they love, Luan and Surf must cross worlds, face impossible magic and discover why their meeting was never an accident.

  • Fantasy adventure
  • Friendship
  • Found family
  • Ages 12 and up

A free preview

Catch the mermaid to unlock the first three chapters.

Surf is fast, but if you catch her, she will show you where the story begins.

Click Surf when she swims past
Or open the free chapters here
(function () { var button = document.querySelector('.jdm-mermaid-button'); if (!button) return; button.addEventListener('click', function () { if (button.classList.contains('caught')) return; button.classList.add('caught'); setTimeout(function () { window.open('https://jules-dickson-ihcl0z.subscribepage.io/', '_blank', 'noopener'); setTimeout(function () { button.classList.remove('caught'); }, 700); }, 560); }); }());

Book One · The Portal Weaver

The Portal Weaver and the Otherworld

By Jules Dickson

A Mermaid. A Human. A Portal to Another World.

Luan never expected to catch a mermaid. He certainly never expected to follow her home.

Little Surf needs to return home to Loselliaha, a magical realm connected to Earth through ancient portals.

But when Luan discovers that something in her world may be able to save his terminally ill mother, he refuses to let her go back alone.

The Portal Weaver and the Otherworld is a fast-paced coming-of-age fantasy about friendship, found family, neurodivergence, and discovering that the things that make you different might also make you powerful.

Beyond the portal

Beyond the portal lies a realm of magic filled with mischievous fae, suspicious wizards, fantastical underwater worlds, and secrets powerful enough to threaten all three worlds. To save the people they love, Luan and Surf must discover who they truly are.

  • Fast-paced portal fantasy
  • Mermaids, fae and magical creatures
  • Neurodivergent heroes finding their power
  • Friendship, found family, and young love
  • Paperback
  • 337 pages
  • Reading age 10–17
  • English
Jules Dickson

Author · Illustrator · Artist

Hello, I’m Jules.

Jules Dickson is a Canadian author, illustrator, artist, movement teacher and dharma teacher with a love of fantasy, adventure and magic.

Through The Portal Weaver, Jules writes for young people who have ever felt different, misunderstood or unsure of their place in the world. Her stories celebrate imagination, friendship and the courage to trust who you are.

Jules is available for media conversations, school and library presentations, book clubs, festivals and creative collaborations across Canada and internationally.

Get in touch

What would you like to create together?

For general inquiries, media requests, speaking opportunities or collaborations, send a message below. Jules will reply as soon as possible.

(function(){function polishContact(){var form=document.querySelector('#contact-section form.form-component.instance-1');if(!form)return;var button=form.querySelector('button[type="submit"]');if(button)button.textContent='Send message';var message=form.querySelector('textarea[name="message"]');if(message)message.placeholder='How can I help?';}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',polishContact);else polishContact();}());

Author visits · Schools · Libraries

Bring the magic of The Portal Weaver to your school.

An imaginative, interactive presentation with Canadian author and illustrator Jules Dickson, designed to inspire young minds to feel good being themselves, trust themselves and love themselves. This is more than an author presentation, it is a human to human inspiration.

Grades 5–8High school45–60 minutesIn person or virtualFall 2026 bookings open

The presentation

Opening the Portal:Turning Imagination into a Story

Jules takes students behind the scenes of The Portal Weaver and the Otherworld, from the first spark of an idea to a finished fantasy novel. She invites them to begin building a world of their own to help unleash their own creativity and inner workings.

01

Imagination

Students discover how ordinary places, personal questions and wild “what if?” ideas can become portals into original stories.

02

Story craft

They explore characters, magical worlds, obstacles and revision through clear examples from the making of the novel.

03

Different minds

Jules shares how being neurodivergent and having learning disabilities shaped her path to becoming an author. They did not stop her.

What students experience

More than an author talk.

The session is warm, honest and participatory, with room for both enthusiastic storytellers and students who may not yet think of themselves as writers.

  • The real story behind becoming an author and illustrator
  • A lively reading from The Portal Weaver and the Otherworld
  • An interactive portal and fantasy-world-building activity
  • A practical look at drafting, revising and publishing a book
  • Questions and answers about writing, creativity and author life
  • Optional book sale and signing arranged with the school
(function (){document.addEventListener('click', function (event){var ratesLink = event.target.closest('[data-jw-scroll-rates]');if (!ratesLink) return;event.preventDefault();event.stopPropagation();var ratesSection = document.getElementById('jw-rates');if (ratesSection){ratesSection.scrollIntoView({behavior:'smooth', block:'start'});}}, true);}());

Presentation rates

Choose the visit that fits your school.

Each visit can be adapted in conversation with the teacher or librarian to suit the students, space and learning goals.

Same school · same day

Two presentations

$500

Two sessions for different grades or groups at one school.

Request a date
Anywhere

Virtual visit

$200

A live online version of the interactive author presentation.

Request a date

All prices are in Canadian dollars. Travel outside Toronto is quoted separately. Library events, book clubs, festivals and custom workshops are welcome. Please inquire.

The portal is open

Let’s create a visit your students remember.

Include your school, grades, approximate number of students and preferred dates. Jules will reply with availability and the next steps.

Book an author visit

Past Author visits with Jules

Author visit inquiry

Open the portal to your school.

Tell me a little about your students and the visit you have in mind. I’ll review your request personally and reply with availability, travel details and the next steps.

Grades 5–8In person or virtualToronto and beyond
(function () { function polishBookingForm() { var form = document.querySelector('#booking-section form'); if (!form) return; var button = form.querySelector('button[type="submit"]'); if (button) button.textContent = 'Send My Visit Request'; var dates = form.querySelector('[name="preferred-datesuntitled"], [name="preferred-dates"]'); if (dates) dates.placeholder = 'First, second and third preferred dates'; var details = form.querySelector('[name="additional-information"]'); if (details) details.placeholder = 'Anything else you would like me to know?'; } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', polishBookingForm); } else { polishBookingForm(); } }());