339 lines
17 KiB
Plaintext

@{
ViewData["Title"] = "Finally finish your novel";
ViewData["ShellClass"] = "marketing-shell";
ViewData["SeoTitle"] = "PlotDirector | Novel Planning Software for Authors";
ViewData["SeoDescription"] = "PlotDirector helps authors organise characters, plot threads, timelines, story assets, relationships, and continuity so they can finish complex novels with confidence.";
ViewData["SeoKeywords"] = "novel planning software, writing software, story planning app, author tools, plot tracking, character tracking, story timeline, novel organisation, fiction writing software, series writing software, continuity tracking, plot threads, story bible";
ViewData["CanonicalUrl"] = "https://plotdirector.com/";
ViewData["StructuredData"] = new[]
{
"""
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "PlotDirector",
"url": "https://plotdirector.com",
"description": "Novel planning and story organisation software for authors."
}
""",
"""
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "PlotDirector",
"applicationCategory": "WritingApplication",
"operatingSystem": "Web",
"description": "Novel planning software for authors to organise characters, plot threads, timelines, story assets, relationships, continuity, and series.",
"url": "https://plotdirector.com",
"offers": {
"@type": "Offer",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock"
}
}
""",
"""
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "PlotDirector",
"url": "https://plotdirector.com",
"logo": "https://plotdirector.com/android-chrome-512x512.png",
"sameAs": []
}
"""
};
}
<article class="marketing-home">
<section class="marketing-hero reveal-section">
<div class="marketing-container marketing-hero__grid">
<div class="marketing-hero__copy">
<p class="marketing-eyebrow">PlotDirector for novelists</p>
<h1>Finally finish the novel you've always wanted to write.</h1>
<p class="marketing-lead">
Forgotten clues. Contradictory timelines. Notes scattered across half a dozen documents. PlotDirector helps you bring every part of your story together so you can write with confidence.
</p>
<div class="marketing-actions">
<a class="marketing-btn marketing-btn--primary" asp-controller="Account" asp-action="Register">Start Free Trial</a>
<a class="marketing-btn marketing-btn--secondary" href="#overview">Watch 2 Minute Overview</a>
</div>
<dl class="hero-proof" aria-label="PlotDirector highlights">
<div>
<dt>9</dt>
<dd>story systems brought together</dd>
</div>
<div>
<dt>1</dt>
<dd>calm place to plan, draft, and revise</dd>
</div>
</dl>
</div>
<div class="browser-frame hero-product" id="overview" aria-label="PlotDirector product preview">
<div class="browser-frame__chrome" aria-hidden="true">
<span></span><span></span><span></span>
</div>
<div class="product-mockup">
<aside class="product-sidebar">
<strong>PlotDirector</strong>
<span class="is-active">Story Health</span>
<span>Timeline</span>
<span>Characters</span>
<span>Plot Threads</span>
<span>Story Bible</span>
</aside>
<main class="product-main">
<div class="product-topline">
<div>
<small>Book 2 - The Ember Court</small>
<h2>Chapter 18 is ready to draft</h2>
</div>
<span>Continuity clear</span>
</div>
<div class="product-grid">
<section class="product-panel product-panel--wide">
<div class="mock-label">Pacing and emotional flow</div>
<div class="mock-chart" aria-hidden="true">
<span style="--height: 42%"></span>
<span style="--height: 63%"></span>
<span style="--height: 36%"></span>
<span style="--height: 72%"></span>
<span style="--height: 54%"></span>
<span style="--height: 88%"></span>
<span style="--height: 58%"></span>
</div>
</section>
<section class="product-panel">
<div class="mock-label">Threads</div>
<div class="thread-list">
<span>The missing heir</span>
<span>Secret alliance</span>
<span>Romance arc</span>
</div>
</section>
<section class="product-panel">
<div class="mock-label">Next focus</div>
<strong>Resolve the clue before scene 22.</strong>
<p>Three notes, two characters, one dangling promise.</p>
</section>
</div>
</main>
</div>
</div>
</div>
</section>
<section class="problem-intro reveal-section">
<div class="marketing-container">
<p class="marketing-eyebrow">Made for real drafting problems</p>
<h2>Every writer faces these challenges. PlotDirector helps solve them.</h2>
</div>
</section>
<section class="problem-stack">
<div class="marketing-container">
<div class="problem-section reveal-section">
<div class="problem-visual visual-notes" aria-hidden="true">
<span>motive changes here</span>
<span>Where is Mara?</span>
<span>clue payoff?</span>
<span>Book 1 promise</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Losing track of story details</p>
<h3>Your story should feel alive, not impossible to remember.</h3>
<p>You shouldn't have to remember what colour someone's eyes were fifty thousand words ago, or which chapter introduced an important clue. PlotDirector keeps the details connected so you can focus on telling the story.</p>
</div>
</div>
<div class="problem-section problem-section--reverse reveal-section">
<div class="problem-visual visual-plot" aria-hidden="true">
<div class="plot-lane lane-gold"></div>
<div class="plot-lane lane-navy"></div>
<div class="plot-lane lane-rose"></div>
<div class="plot-node node-one"></div>
<div class="plot-node node-two"></div>
<div class="plot-node node-three"></div>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Managing complex plots</p>
<h3>See the shape of your book before it tangles.</h3>
<p>When plots, subplots, mysteries, romances, and character arcs start pulling in different directions, it's easy to lose sight of the bigger picture. PlotDirector helps you see how everything fits together.</p>
</div>
</div>
<div class="problem-section reveal-section">
<div class="problem-visual visual-warning" aria-hidden="true">
<strong>Continuity Review</strong>
<span>Character knows the secret too early</span>
<span>Object changes location between scenes</span>
<span>Timeline gap needs a bridge</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Continuity mistakes</p>
<h3>Catch contradictions before readers do.</h3>
<p>Readers notice when characters know things they shouldn't, important objects disappear, or timelines stop making sense. PlotDirector helps you spot those problems before publication.</p>
</div>
</div>
<div class="problem-section problem-section--reverse reveal-section">
<div class="problem-visual visual-next" aria-hidden="true">
<small>Write next</small>
<strong>Draft Scene 31</strong>
<p>Reunite the sisters, reveal the forged letter, raise suspicion of Callan.</p>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Knowing what to work on next</p>
<h3>Turn overwhelm into a clear next step.</h3>
<p>Many novels stall because writers simply don't know what to tackle next. PlotDirector helps you identify the scenes, revisions, and unresolved issues that deserve your attention today.</p>
</div>
</div>
<div class="problem-section reveal-section">
<div class="problem-visual visual-docs" aria-hidden="true">
<span>Notebook</span>
<span>Spreadsheet</span>
<span>Draft notes</span>
<span>Loose ideas</span>
<span>Series bible</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Drowning in notes and documents</p>
<h3>Stop searching through notes to find what matters.</h3>
<p>If your story lives across Word documents, notebooks, spreadsheets, and scraps of paper, you're not alone. PlotDirector brings everything together in one organised place.</p>
</div>
</div>
<div class="problem-section problem-section--reverse reveal-section">
<div class="problem-visual visual-relationships" aria-hidden="true">
<span class="person person-a">Lena</span>
<span class="person person-b">Orin</span>
<span class="person person-c">Mae</span>
<span class="person person-d">Ivo</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Tracking character relationships</p>
<h3>Great stories are built on relationships.</h3>
<p>Friendships evolve. Rivalries deepen. Secrets change everything. PlotDirector helps you track how your characters connect and how those relationships change over time.</p>
</div>
</div>
<div class="problem-section reveal-section">
<div class="problem-visual visual-threads" aria-hidden="true">
<span>Set up</span>
<span>Complicate</span>
<span>Reveal</span>
<span>Pay off</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Keeping plot threads organised</p>
<h3>Never lose a promise you made to the reader.</h3>
<p>Give each thread a visible lifecycle from introduction to resolution, whether it is a murder clue, family secret, magic rule, rivalry, or slow-burn confession.</p>
</div>
</div>
<div class="problem-section problem-section--reverse reveal-section">
<div class="problem-visual visual-series" aria-hidden="true">
<span>Book I</span>
<span>Book II</span>
<span>Book III</span>
<span>Future arc</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Managing series and multiple books</p>
<h3>Keep your series organised from beginning to end.</h3>
<p>Long-running mysteries, character journeys, and future revelations become difficult to manage across multiple books. PlotDirector helps you keep the bigger picture in view.</p>
</div>
</div>
<div class="problem-section reveal-section">
<div class="problem-visual visual-flow" aria-hidden="true">
<div class="flow-line"></div>
<span style="--pos: 12%">Quiet</span>
<span style="--pos: 34%">Tension</span>
<span style="--pos: 61%">Break</span>
<span style="--pos: 84%">Climax</span>
</div>
<div class="problem-copy">
<p class="marketing-eyebrow">Understanding pacing and emotional flow</p>
<h3>Feel the rhythm of the novel as a whole.</h3>
<p>Action without breathing room can exhaust readers. Quiet moments without momentum can slow the story. PlotDirector helps you visualise pacing and emotional balance across your manuscript.</p>
</div>
</div>
</div>
</section>
<section class="social-proof reveal-section">
<div class="marketing-container">
<div class="section-heading">
<p class="marketing-eyebrow">Loved by story-obsessed writers</p>
<h2>Authors use PlotDirector to feel oriented again.</h2>
</div>
<div class="testimonial-grid">
<figure>
<blockquote>"It feels like someone finally designed a planning tool for the way my fantasy series actually works."</blockquote>
<figcaption>Catherine Lynwood, women's fiction author</figcaption>
</figure>
<figure>
<blockquote>"I stopped losing clues in old documents. The whole mystery is visible now, including the red herrings."</blockquote>
<figcaption>Maya K., crime novelist</figcaption>
</figure>
<figure>
<blockquote>"PlotDirector turned my revision from panic into decisions. I knew what to fix next."</blockquote>
<figcaption>Elena S., romance series author</figcaption>
</figure>
</div>
</div>
</section>
<section class="founder-story reveal-section">
<div class="marketing-container founder-story__grid">
<div class="founder-mark" aria-hidden="true">PW</div>
<div>
<p class="marketing-eyebrow">Built by an author</p>
<h2>Created by a novelist who needed the same calm.</h2>
<p>
PlotDirector was created by a novelist who was tired of juggling Word documents, spreadsheets, notebooks, and sticky notes while writing complex stories.
</p>
<p>
The goal was simple: make a beautiful, dependable place where story structure, emotional logic, continuity, and the next writing step can live together.
</p>
</div>
</div>
</section>
<section class="final-cta reveal-section">
<div class="marketing-container final-cta__inner">
<p class="marketing-eyebrow">Start with the story you already have</p>
<h2>Ready to take control of your story?</h2>
<p>Whether you're writing your first novel or untangling an epic series, PlotDirector helps you stay organised, maintain confidence, and finally finish your story.</p>
<a class="marketing-btn marketing-btn--primary" asp-controller="Account" asp-action="Register">Start Your Free Trial</a>
</div>
</section>
</article>
@section Scripts {
<script>
(() => {
const sections = document.querySelectorAll(".reveal-section");
if (!("IntersectionObserver" in window)) {
sections.forEach((section) => section.classList.add("is-visible"));
return;
}
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.classList.add("is-visible");
observer.unobserve(entry.target);
}
});
}, { threshold: 0.14 });
sections.forEach((section) => observer.observe(section));
})();
</script>
}