From d16cef573dca10638d828bb0dcb47b9d31fd6539 Mon Sep 17 00:00:00 2001 From: Sarthak Agrawal <43884471+sarthakagrawal927@users.noreply.github.com> Date: Sun, 12 Jul 2026 19:52:08 +0530 Subject: [PATCH 1/2] feat: sharpen Library Reader landing copy --- docs/marketing/hooks.md | 36 ++++++++++++++++++++++++++++++++++++ src/components/Navbar.tsx | 2 +- src/pages/AboutPage.tsx | 4 ++-- src/pages/PrivacyPage.tsx | 6 +++--- src/pages/WelcomePage.tsx | 10 ++++++++-- 5 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 docs/marketing/hooks.md diff --git a/docs/marketing/hooks.md b/docs/marketing/hooks.md new file mode 100644 index 0000000..d1bd324 --- /dev/null +++ b/docs/marketing/hooks.md @@ -0,0 +1,36 @@ +# Landing Page Hook Variants + +## 1. Save the Line + +- Target audience: Busy readers who save long articles. +- Pain: Good lines get lost after the tab is closed. +- Promise: Save the article, mark the best parts, and keep notes beside it. +- CTA: Save your next article. + +## 2. Notes While You Read + +- Target audience: Students, founders, and curious readers. +- Pain: Notes live in one app. Articles live in another. +- Promise: Read, highlight, and write notes in one place. +- CTA: Try it with one article. + +## 3. Build a Reading Trail + +- Target audience: People who read for work or study. +- Pain: It is hard to find why an article mattered later. +- Promise: Keep each article with the notes that made it useful. +- CTA: Start a small reading trail. + +## 4. Stop Losing Ideas + +- Target audience: Readers who learn from the web. +- Pain: A smart idea is easy to forget after lunch. +- Promise: Capture the idea while the article is open. +- CTA: Capture one idea now. + +## 5. Read, Mark, Remember + +- Target audience: People with many saved links. +- Pain: Saved links pile up, but notes do not. +- Promise: Turn a saved link into a marked-up page with clear notes. +- CTA: Mark up your next link. diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 5cee918..26cf1af 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -90,7 +90,7 @@ export function Navbar() { className="inline-flex items-center gap-2 rounded-lg border border-zinc-800 bg-zinc-900 px-3 py-2 text-sm font-medium text-zinc-100 transition-colors hover:bg-zinc-800" > - Sign in + Sign in to sync )} diff --git a/src/pages/AboutPage.tsx b/src/pages/AboutPage.tsx index d977be2..cb6df60 100644 --- a/src/pages/AboutPage.tsx +++ b/src/pages/AboutPage.tsx @@ -6,11 +6,11 @@ export default function AboutPage() { return (
- ← Web Annotator + ← Library Reader

About

- Web Annotator is a personal research library. Paste any URL or upload a PDF; the article + Library Reader is a personal research library. Paste any URL or upload a PDF; the article body gets cleaned, indexed, and made annotatable. A Chrome extension does the same with one click from any page.

diff --git a/src/pages/PrivacyPage.tsx b/src/pages/PrivacyPage.tsx index 5be75e2..6447061 100644 --- a/src/pages/PrivacyPage.tsx +++ b/src/pages/PrivacyPage.tsx @@ -4,7 +4,7 @@ export default function PrivacyPage() { return (
- ← Web Annotator + ← Library Reader

Privacy

Last updated: 2026-05-15.

@@ -24,8 +24,8 @@ export default function PrivacyPage() {
  • No third-party tracking pixels or marketing tags.
  • No selling of library data.
  • - The Chrome extension does not collect telemetry; it only talks to your configured Web - Annotator backend. + The Chrome extension does not collect telemetry; it only talks to the Library Reader app + you connect it to.
  • diff --git a/src/pages/WelcomePage.tsx b/src/pages/WelcomePage.tsx index adb46e8..3df4715 100644 --- a/src/pages/WelcomePage.tsx +++ b/src/pages/WelcomePage.tsx @@ -44,7 +44,7 @@ export default function WelcomePage() {
    - Web Annotator + Library Reader

    Read, annotate, and chat with everything you save. @@ -60,11 +60,17 @@ export default function WelcomePage() { > Open your library + + Try a sample doc + - Get the Chrome extension + Chrome extension setup

    From fb322111745bb075bd4c491bc50d1d968a0654ea Mon Sep 17 00:00:00 2001 From: Sarthak Agrawal <43884471+sarthakagrawal927@users.noreply.github.com> Date: Sun, 12 Jul 2026 19:52:08 +0530 Subject: [PATCH 2/2] config: route reader custom domain --- wrangler.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wrangler.toml b/wrangler.toml index 1b75e19..be7fef3 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -8,6 +8,10 @@ assets = { directory = "dist", binding = "ASSETS", run_worker_first = ["/api/*", [placement] mode = "smart" +routes = [ + { pattern = "reader.sassmaker.com/*", zone_name = "sassmaker.com" } +] + [observability] enabled = true head_sampling_rate = 0.1