Show HN: Grai, a single-file offline writing desk that measures your voice DNA A developer released Grai, a single-file offline HTML writing tool (grai.html) that extracts a writer's "Voice DNA" from 5 to 20 past posts and audits drafts against 6 structural rules and a CV ≥ 0.32 rhythm floor, running locally in a copy-paste mode over Claude, ChatGPT or Gemini at zero API cost. Grai's author cites a LigoSocial dataset of 1,499 profiles and 134,522 LinkedIn posts from January 2023 to September 2026, which found openings starting with "Here is why" increased sevenfold while banned corporate buzzwords dropped but robotic cadence persisted. The tool scores drafts from 4 to 100 on cadence and reports that raw LLM prompts produce a sentence-length standard deviation of 1.4 words versus 7.8 words under Grai's enforcement. THE PERSONAL VOICE ENGINE. LOCAL-FIRST. ZERO SUBSCRIPTION. No subscriptionLocal-first HTML5 workbenchInstant launch Stop publishing AI slop with your name on it. Draft faster with AI without the polite, robotic ChatGPT smell that kills your authority. grai extracts your Voice DNA and audits every draft against your structural rules and rhythm floor. It turns rough ideas into high-trust posts that win clients. Raw idea Most founders post every day and still get ignored. They think it is a volume problem. Most founders post daily and stay invisible. Volume is not the problem. Nobody remembers a voice they have heard a hundred times. short hooksharp rhythmLinkedIn speed Most founders assume the feed rewards volume. It does not. It rewards recognition: the moment a reader sees two lines and knows who wrote them before checking the name. Another content calendar changes nothing because the work is structural. Sentence rhythm must move. Openings must stop sounding borrowed from corporate playbooks. The argument must carry a real operational cost, never a lazy slogan. dense argumentnewsletter depthlong arc 1,499 profiles analyzed across 134,522 posts between January 2023 and September 2026 revealed identical viral traps. Arrow bullets surged. Openings starting with "Here is why" increased sevenfold across the dataset. Banned corporate buzzwords dropped. Writers deleted the vocabulary and kept the exact same robotic cadence. That is the tell. Fix the rhythm, never the word list. Zero new AI subscriptions. The shipped grai.html runs locally in Copy-Paste mode over Claude or ChatGPT plus Gemini at zero API cost. Custom source builds also support direct API keys or local Ollama models. CLAUDEGPTGEMINIDEEPSEEKLOCAL OLLAMA Architecture // Deterministic Syntax Compiler Why prompts fail. And how grai enforces your spine. THE LLM BLIND SPOT Tell an LLM to "write in a punchy, human tone" and it nods politely before reverting to corporate porridge in two paragraphs. Why? Because LLMs are probabilistic next-word predictors trained on internet averages. They cannot count syllables or calculate sentence-length variance while streaming tokens. RAW LLM PROMPT σ = 1.4 words Robotic Flatline grai ENFORCED σ = 7.8 words Human Burstiness STAGE 01 // INPUT LAYERSYNTAX, NOT ADJECTIVES Voice DNA Extraction SENTENCE VARIANCE σ ≥ 6.8 words HOOK PACING FLOOR4.2 words / line ASYMMETRIC CADENCELOCKED 5 SAMPLES Vague style adjectives like "witty" or "authoritative" mean nothing to a machine. grai ingests 5 to 20 of your past posts and extracts your mathematical fingerprint: median sentence length, burstiness CV , and rhythm floor. → STAGE 02 // LOGIC INTERCEPTANTI-CONSENSUS Premise Sparring WEAK THESIS"AI is changing how B2B teams work..." SPARRING CHALLENGE"Everyone agrees. Where is the blood on the floor? Name the exact failure mode." Great syntax cannot save a cowardly idea. Before generating a single paragraph of draft prose, grai challenges lazy, consensual takes and forces you to sharpen your core thesis until it cuts. → STAGE 03 // COMPILER GATEDETERMINISTIC AUDITOR The Cadence Gate FLAGGEDContrastive negation "It's not X, it's Y" HIGHLIGHTEDFlat rhythm below CV ≥ 0.32 floor VERIFIEDRhythm floor verified 6/6 rules clean . grai deterministically scans the draft in your browser outside the LLM. It scores cadence from 4 to 100 against 6 structural rules and a CV ≥ 0.32 floor. It highlights matching spans and offers targeted span repair while you keep final control over editing and copying. You bring the raw insight./Your AI brings the speed./grai enforces your spine. The study In a feed of clones, an unmistakable voice is a monopoly. Every AI writing tool tells you to block the mocked words. You deleted the vocabulary. The habits stayed. The LigoSocial dataset: 134,522 LinkedIn posts from 1,499 profiles, January 2023 to September 2026. Writers removed the mocked words. The habits multiplied: arrow bullets rose 20.5x, and "Here is why" openings rose 7.4x. Here is why most founders struggle with content. It is not a distribution problem, it is a courage problem. In today's fast-paced world, consistency is the single most important key to unlocking your potential across multiple channels. The harsh truth is that your audience craves authentic storytelling at scale. → Post every single day without exception. → Add massive value in every interaction. → Stay consistent and trust the process. One rhythm · 5 cliches · 1 false opposition Inputrobotic↓Cut6 rules↓Outputclean grai calibratedYour Voice DNA Most founders do not have a distribution problem.They post every day. The feed keeps scrolling.What is missing is a voice people recognise after two lines, not another content calendar.So I stopped counting posts. I started counting sentences that sound like me.Three drafts a week now do more than thirty that sound like everyone else. Varied rhythm · 0 cliches · 0 false oppositions The free test Score your last post Free test . Paste the post you published last. The same six mechanical rules that ship in grai run in this page, with no model, no key and no upload. VOICE CALIBRATOR Runs locally on your device 32/100Flat cadence. Sounds like everyone else. Sentence rhythmshort/long --monotone shortlongest --long Voice mechanicSignals Six checkers and one rhythm floor. Paste the specimen over the draft. Nothing leaves your browser. No 20 posts to paste? Start from a measured Voice DNA archetype. The full pack is $39, and every preview below loads straight into the live calibrator above. Brutalist Engineer CV 0.52 · 100/100 · 12 samples Short declaratives, numbers over adjectives, zero corporate vocabulary. Contrarian Bootstrapper CV 0.44 · 100/100 · 15 samples Direct pricing talk, contrarian premise, no venture language. B2B Sniper CV 0.38 · 100/100 · 10 samples Cold outreach under 65 words: observation, receipt, one ask. Substack Essayist CV 0.41 · 100/100 · 20 samples Long-form essay rhythm, no tricolon, a quiet turn near the end. grai opens directly in your desktop browser. No installer, no account creation, no grai application backend, and zero monthly subscriptions. You buy it once and run the workbench locally. 1. Shipped Local App Direct API Blocked by Default The pre-built grai.html file 591 KB ships with a strict Content Security Policy default-src 'none'; connect-src 'none' that allows inline styles, inline scripts, and data: fonts and images while blocking direct API connections from the page. 2. Copy-Paste "Any AI" Mode Out of the box, grai.html runs in Copy-Paste mode. It builds a compact prompt under 1,800 characters that you copy into your existing Claude or ChatGPT tab or Gemini , then paste back into grai for local verification. Zero API fees. 3. Custom Source Build BYOK & Local Ollama Want direct browser-to-API calls or local Ollama http://localhost:11434 ? Edit connect-src in source/src/app.html and rebuild with python3 scripts/build.py included in the kit . Direct requests go from your browser to your endpoint, subject to browser CORS rules on file://. 1-Click Local Backup & Agency Team Distribution A founder exports the client profile as one .grai file and drops it in Slack. The junior writer clicks Restore Backup and writes in that measured voice before the call ends. No shared login, no cloud workspace, and zero per-seat fees. Safari, Chrome, Arc, Brave, Edge. Double-click, open, write. Zero local port conflicts, zero terminal setup. Windows ● NATIVE OPTIMAL Edge, Chrome, Firefox, Brave. Runs instantly in user space. No bloated installer, no background daemons, no IT admin rights required. Linux ● NATIVE OPTIMAL Chrome, Firefox, Chromium. The exact same local-first syntax engine with full local file control. iPad & Tablets ◐ PROFILER ACTIVE Voice DNA extraction works cleanly. However, the 3-column Writing Desk is an editorial cockpit engineered for a physical keyboard and a widescreen display. Smartphones ○ DESKTOP INSTRUMENT Glass is designed for scrolling, while physical keys are for thinking. Thumbs cannot write high-authority prose. Grab your license on mobile today, then open the file on your workstation. For agencies & ghostwriters. The $3,000 retainer is won in the first screen share. When you charge $2,000 to $3,000 a month per client, you cannot deliver copy that sounds like a default AI prompt. The Agency Edition prints a 1-page A4 Client Voice DNA Dossier grai-print-certificate with 8 concrete audit fields: 1 Voice profile name, 2 Samples analysed count, 3 Target sentence length, and 4 Selected platforms. It also prints 5 Rules passed X of 6 , 6 Cadence score score/100 with formatted CV , and 7 Generation date YYYY-MM-DD . Field 8 is a locally computed SHA-256 checksum over the profile and audit JSON payload a deterministic content fingerprint, not a third-party identity signature . CLIENT VOICE DNA DOSSIER // SPECIMENA4 PRINTABLE · SHA-256 CHECKSUM Show the dossier on screen during the pitch. The client immediately sees their voice measured. That is the moment the retainer stops being a cost and becomes an enduring asset they can trust. The internal QA filter Every junior draft runs through the same profile before it reaches the client. The dossier is the strict protocol. Flagged spans and flat rhythm show up in the HUD before the draft leaves your desk. For engineering teams & AI coding agents Clean codebases, invariant documentation & team style gates. When coding agents write markdown, every README, changelog, architecture decision record, and pull request note arrives with identical AI tells: flat cadence, swollen vocabularies, and monotonous bullet cascades. The free grai-gate plugin catches slop in your terminal. The Pro Cockpit gives your team the calibration workbench. 1. Terminal Linter grai-gate A pure Python PostToolUse hook for Google Antigravity and git pre-commit pipelines. Computes sentence-length burstiness CV and flags the 6 structural tells in 15 milliseconds. Free, MIT-licensed, zero network calls. 2. Team Style Invariants Move beyond generic linters. Calibrate your engineering brand with explicit rhythm floors, custom banned dictionaries, and domain terminology profiles. Stop AI documentation from reading like a bland corporate press release. 3. Portable .grai Profiles Export measured profiles as air-gapped .grai JSON configurations. Drop them into team repositories, distribute them across senior engineers, and enforce identical documentation standards across every developer workspace. Developer Tooling Integration · CI/CD & Git Hooks Run grai-gate in your local terminal during active pairing or invoke python3 gate.py docs/ in your CI pipeline. When a file fails cadence, the hook outputs an exact, reproducible repair prompt tailored for your coding agent to rewrite the text cleanly. Solo Engineer · Founder Edition $69 For independent developers and technical founders. Full Voice DNA calibration workbench, instant repair prompt generator, Scalpel/Broadsheet/Ledger drafts, and lifetime updates. One-time payment, zero subscriptions. For multi-repo engineering teams and technical consultancies. Manage up to 25 project voice profiles, export team sync files, generate printable SHA-256 documentation certificates, and enforce invariants across developers. Looking for the free terminal linter? Inspect the open-source engine on GitHub adrianpeticila/grai → or install via agy plugin install grai-gate. Editions Two editions, one payment each. 1 client retainer saved with the SHA-256 A4 Dossier = $1,500 to $3,000/mo protected 5 retainers = $7,500/mo at risk . With grai Agency Edition: $149 once $29.80 for 5 clients, down to $5.96 per client across 25 profiles . Founder Edition $69 one-time payment · lifetime access · one person $0.19 / day over Year 1 · replaces $39 to $65/mo cloud tools. Built for founders and independent builders who want an unmistakable personal brand that commands attention and attracts clients. grai, the local-first HTML5 writing workbench Voice DNA profiler extract your personal cadence The Writing Desk Scalpel, Broadsheet & Ledger drafts Cadence Gate: six structural checks and a rhythm floor 1-Click Local Backup & Device Migration .grai file Unmistakably you, hard to sustain. You write three strong posts, get buried by company operations, and go silent when client work spikes. 2. Agency Ghostwriter $18,000 to $48,000 / yr $1.5k to $4k / mo Done-for-you service Human service interviews, research, full drafting . Agencies vary in how they use AI: ask who drafts the posts, what editing is included, and how data is handled. 3. Cloud AI Copywriting SaaS $468 to $1,188 / yr $39 to $99 / mo Hosted cloud app Recurring monthly subscription for cloud templates and hosted workflows. 4. Raw ChatGPT or Claude $240 / yr $20 / mo Prompt + manual rewrite General-purpose chat models. Prompt instructions alone lack a deterministic burstiness check, so writers review and polish the cadence by hand. 5. Your AI + grai $69 once +$240/yr existing AI $309 Yr 1 or $0 API with Ollama Self-operated local gate Your existing AI speed locked to your spine. grai scores your sentence variance CV ≥ 0.32 , highlights structural tells, and offers targeted span repair. Write a newsletter or advise founders? Earn 40% instant commission on every referral $27.60 per Founder sale, $59.60 per Agency sale . Two Agency referrals pay $119.20 and cover your own workbench. The 30-Day Distinction Guarantee. If grai does not make your writing visibly sharper and faster to produce within 30 days, email email protected with your order number. 100% refund, no forms, no questions. Day 0Instant 410 KB ZIP download grai.html + MIT skill . Days 1 to 30Profile your Voice DNA and audit unlimited drafts locally. Day 30Not visibly sharper? Email email protected with your order number for a 100% refund. Secure checkout via Payhip & Stripe. Automated VAT and instant ZIP delivery. One payment, no subscription. Questions Nine questions people actually ask. Why pay $69 when I already have ChatGPT Plus or Claude Pro? Your subscription writes in a generic voice. grai does not replace it. It sits on top: it measures your cadence, then audits every draft against 6 structural rules and a CV ≥ 0.32 burstiness floor. You keep the model you already pay for and stop paying with your authority. How does it write if the local app has no grai backend? Two paths. The shipped grai.html file blocks direct API connections by default connect-src 'none' and runs in Copy-Paste mode. It builds a compact prompt under 1,800 characters that you copy into your existing Claude or ChatGPT tab or Gemini , then paste back into grai for local verification. If you want direct browser-to-API calls BYOK or local Ollama models, edit the connect-src directive in source/src/app.html and rebuild grai.html with python3 scripts/build.py included in the kit . Do I need technical skills or coding? No. In the default Copy-Paste mode, you open grai.html in your browser and paste your posts. You extract your Voice DNA and write. If you can use a browser and a text field, you can use grai. What devices and systems does it run on? Runs natively on macOS and Windows as well as Linux in any modern browser. No installer or admin permissions needed. Tablets load the application and run the profiler, while the full three-column Writing Desk is optimized specifically for laptop or desktop displays. Phones are for reading, never for serious writing. Where do my texts go, and can they be used to train AI models? The local grai.html app has no grai application backend and zero telemetry. Voice profiles and writing samples along with drafts are stored in your browser's localStorage when available. If your browser settings or private-browsing mode block localStorage on local file:// pages, grai falls back to in-memory session storage memStorage , which lasts until the tab closes. Use the 1-click .grai backup export to save your profiles permanently to disk. Data leaves your machine in three cases: 1 when you paste and submit a prompt into Claude or ChatGPT or Gemini in Copy-Paste mode, or 2 when a custom BYOK build calls your selected API provider. It also leaves 3 when you voluntarily export and share a .grai file or PDF Dossier such as over Slack or email, which sends the exported profile to that external communication service , or if your own browser syncs local data across devices. How is it different from Custom Instructions in ChatGPT or Claude? Custom Instructions are a paragraph of preferences the model may ignore. grai measures your actual sentence lengths, openings and rhythm, stores that as a profile, and runs a deterministic 6-rule audit and CV ≥ 0.32 burstiness check over every draft in your browser. It highlights matching spans and offers targeted span repair while you keep final control over editing and copying. What happens if my style changes in time? Re-run the profiler on recent posts. Compare the new metrics against your archived baseline with one click. Voice evolves, so grai adapts with your thinking instead of freezing past habits. Can I make a backup if I change laptops or clear browser data? Yes. Click Backup Profiles to export all voice settings into a single local file. Restore Backup loads the file onto any new machine instantly. No cloud login required. When sharing with colleagues, remember that Restore replaces existing profiles on that device. Export your working set first. How does the 30-day guarantee work? Buy it, use it for 30 days. If your writing is not visibly sharper and faster to produce, email email protected with your order number. Full refund, no forms, no questions. Your unfair advantage Build a personal brand voice nobody can imitate. Take last week's post. grai returns a quantitative score and reveals the hidden structural patterns flattening your reach. You already suspected something was off. Focused local calibration removes the robotic tells before you publish. Publish again in your real cadence. Not polite. Distinct.