PageSourceSearch

https://boltscribe.ink/assets/views/landing.js

js boltscribe.ink collected 2026-10-02 01:57:09 UTC 3,778 bytes, 116 lines download raw bytes

1import { html } from '../../shared/lib/html.js';
2
3export const title = 'Bolt Scribe - Transcend the Keyboard';
4
5export default (html, state, actions) => {
6  const isLoggedIn = state.auth?.isLoggedIn || false;
7
8  return html`
9  <main>
10    <section id="hero">
11      <img src="/assets/logo-quill.svg" alt="Bolt Scribe" width="120" height="120">
12      <h1>Transcend the keyboard</h1>
13      <p>Turn your voice into text at the speed of thought. Press a hotkey, speak naturally, get clean formatted text instantly.</p>
14
15      <nav>
16        ${isLoggedIn
17          ? html`<a href="/dashboard">Go to Dashboard</a>`
18          : html`<a href="/register">Start Free</a>`}
19        <a href="https://chrome.google.com/webstore/detail/blialaknaihmoaglaehijlpclomipfhi" target="_blank" rel="noopener">Add to Chrome — It's Free</a>
20      </nav>
21
22      <ol>
23        <li><strong>Press hotkey</strong> - Activate anywhere with a global shortcut</li>
24        <li><strong>Speak naturally</strong> - Just talk like you normally would</li>
25        <li><strong>Paste anywhere</strong> - Clean, formatted text in your clipboard</li>
26      </ol>
27    </section>
28
29    <section id="features">
30      <h2>Why Bolt Scribe?</h2>
31
32      <article>
33        <h3>Lightning Fast</h3>
34        <p>Sub-second transcription powered by Groq. Speak for a minute, get text back in under a second.</p>
35      </article>
36
37      <article>
38        <h3>AI-Cleaned Text</h3>
39        <p>No "um"s, no filler words. Your rambling becomes polished prose automatically.</p>
40      </article>
41
42      <article>
43        <h3>Works Everywhere</h3>
44        <p>Desktop app with global hotkey. Chrome extension for browser-native experience.</p>
45      </article>
46
47      <article>
48        <h3>Custom Templates</h3>
49        <p>Email replies, code comments, meeting notes - customize how your text is formatted.</p>
50      </article>
51
52      <article>
53        <h3>Privacy First</h3>
54        <p>Audio is processed and immediately deleted. We don't store your recordings.</p>
55      </article>
56
57      <article>
58        <h3>Cross Platform</h3>
59        <p>Linux, macOS, and Windows. Your voice works the same everywhere.</p>
60      </article>
61    </section>
62
63    <section id="pricing">
64      <h2>Simple Pricing</h2>
65      <p>Start free, upgrade when you need more</p>
66
67      <article>
68        <h3>Free</h3>
69        <p><strong>$0</strong> forever</p>
70        <ul>
71          <li>30 minutes / month</li>
72          <li>Default templates</li>
73          <li>Desktop app + extension</li>
74        </ul>
75        ${isLoggedIn
76          ? html`<a href="/dashboard">Go to Dashboard</a>`
77          : html`<a href="/register">Get Started</a>`}
78      </article>
79
80      <article>
81        <h3>Monthly</h3>
82        <p><strong>$10/mo</strong> billed monthly</p>
83        <ul>
84          <li>10 hours / month</li>
85          <li>Custom templates</li>
86          <li>Priority processing</li>
87        </ul>
88        ${isLoggedIn
89          ? html`<a href="/subscription">Manage Subscription</a>`
90          : html`<a href="/register">Get Started</a>`}
91      </article>
92
93      <article>
94        <h3>Annual</h3>
95        <p><strong>$100/yr</strong> billed yearly</p>
96        <ul>
97          <li>10 hours / month</li>
98          <li>Custom templates</li>
99          <li>Priority processing + support</li>
100        </ul>
101        ${isLoggedIn
102          ? html`<a href="/subscription">Manage Subscription</a>`
103          : html`<a href="/register">Get Started</a>`}
104      </article>
105    </section>
106
107    <section id="cta">
108      <h2>Ready to transcend the keyboard?</h2>
109      <p>Join thousands typing at 300 words per minute.</p>
110      ${isLoggedIn
111        ? html`<a href="/dashboard">Go to Dashboard</a>`
112        : html`<a href="/register">Get Started Free</a>`}
113    </section>
114  </main>
115  `;
116};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.