{"slug": "show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts", "title": "Show HN: Grai – A deterministic cadence gate for AI drafts", "summary": "A solo developer released Grai, a local HTML5 tool priced from $79/yr that runs a deterministic \"cadence gate\" over AI-generated drafts before publication, scoring them 4 to 100 against 8 structural rules and a coefficient-of-variation floor of 0.32. Grai cites an analysis of 1,499 founder profiles and 134,522 LinkedIn posts over 3.5 years, which found arrow bullets rose 20.5x and \"Here is why\" openings rose 7.4x even as writers removed banned corporate buzzwords. The tool extracts a writer's sentence-length variance and rhythm floor from 5 to 20 past posts, then runs in Copy-Paste mode over Claude, ChatGPT or Gemini at zero API cost, with custom builds supporting direct API keys or local Ollama models.", "body_md": "Solo from $79/yrLocal-first HTML5 workbenchInstant launch\n\nStop publishing AI slop with your name on it.\n\nYour draft goes out under your name, to a client, an investor, a board. One generic line and it reads as produced, not written. grai runs a fixed local check before you publish, so what leaves your desk still sounds like you.\n\nRaw idea Most founders post every day and still get ignored. They think it is a volume problem.\n\nMost founders post daily and stay invisible. Volume is not the problem. Nobody remembers a voice they have heard a hundred times.\n\nshort hooksharp rhythmLinkedIn speed\n\nMost 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.\n\ndense argumentnewsletter depthlong arc\n\n1,499 profiles analyzed across 134,522 posts over 3.5 years of continuous publication 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.\n\nZero 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.\n\nCLAUDEGPTGEMINIDEEPSEEKLOCAL OLLAMA\n\nArchitecture // Deterministic Syntax Compiler\n\nWhy prompts fail. And how grai enforces your spine.\n\nTHE LLM BLIND SPOT\n\nTell 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.\n\nRAW LLM PROMPT\n\nσ = 1.4 words (Robotic Flatline)\n\ngrai ENFORCED\n\nσ = 7.8 words (Human Burstiness)\n\nSTAGE 01 // INPUT LAYERSYNTAX, NOT ADJECTIVES\n\nVoice DNA Extraction\n\nSENTENCE VARIANCE (σ)≥ 6.8 words\n\nHOOK PACING FLOOR4.2 words / line\n\nASYMMETRIC CADENCELOCKED [5 SAMPLES]\n\nVague 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.\n\n→\n\nSTAGE 02 // LOGIC INTERCEPTANTI-CONSENSUS\n\nPremise Sparring\n\nWEAK THESIS\"AI is changing how B2B teams work...\"\n\nSPARRING CHALLENGE\"Everyone agrees. Where is the blood on the floor? Name the exact failure mode.\"\n\nGreat 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.\n\n→\n\nSTAGE 03 // COMPILER GATEDETERMINISTIC AUDITOR\n\nThe Cadence Gate\n\nFLAGGEDContrastive negation (\"It's not X, it's Y\")\n\nHIGHLIGHTEDFlat rhythm below CV ≥ 0.32 floor\n\nVERIFIEDRhythm floor verified (8/8 rules clean).\n\ngrai deterministically scans the draft in your browser outside the LLM. It scores cadence from 4 to 100 against 8 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.\n\nYou bring the raw insight./Your AI brings the speed./grai enforces your spine.\n\nThe study\n\nIn a feed of clones, an unmistakable voice is a monopoly.\n\nEvery AI writing tool tells you to block the mocked words. You deleted the vocabulary. The habits stayed.\n\nThe LigoSocial dataset: 134,522 LinkedIn posts across 1,499 founder profiles over 3.5 years of continuous publication data. Writers removed the mocked words. The habits multiplied: arrow bullets rose 20.5x, and \"Here is why\" openings rose 7.4x.\n\nHere 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.\n\n→ Post every single day without exception.\n\n→ Add massive value in every interaction.\n\n→ Stay consistent and trust the process.\n\nOne rhythm · 5 cliches · 1 false opposition\n\nInputrobotic↓Cut8 rules↓Outputclean\n\ngrai calibratedYour Voice DNA\n\nMost 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.\n\nVaried rhythm · 0 cliches · 0 false oppositions\n\nThe free test\n\nScore your last post (Free test).\n\nPaste the post you published last. The same eight mechanical rules that ship in grai run in this page, with no model, no key and no upload.\n\nVOICE CALIBRATOR\n\nRuns locally on your device\n\n32/100Flat cadence. Sounds like everyone else.\n\nSentence rhythmshort/long --monotone\n\nshortlongest --long\n\nVoice mechanicSignals\n\nEight checkers and one rhythm floor. Paste the specimen over the draft. Nothing leaves your browser.\n\nThe free test scores a draft. The gate fixes only the flagged spans and scores it again.\n\nVoice DNA Presets\n\nPre-calibrated Voice DNA Archetypes\n\nNo 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.\n\nBrutalist Engineer\n\nCV 0.52 · 100/100 · 12 samples\n\nShort declaratives, numbers over adjectives, zero corporate vocabulary.\n\nContrarian Bootstrapper\n\nCV 0.44 · 100/100 · 15 samples\n\nDirect pricing talk, contrarian premise, no venture language.\n\nB2B Sniper\n\nCV 0.38 · 100/100 · 10 samples\n\nCold outreach under 65 words: observation, receipt, one ask.\n\nSubstack Essayist\n\nCV 0.41 · 100/100 · 20 samples\n\nLong-form essay rhythm, no tricolon, a quiet turn near the end.\n\ngrai opens directly in your desktop browser. No installer, no account creation, no grai application backend, and zero cloud lock-in. You download your watermarked 618 KB HTML5 workbench and run it locally in any browser.\n\n1. Shipped Local App (Direct API Blocked by Default)\n\nThe pre-built grai.html file (618 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.\n\n2. Copy-Paste (\"Any AI\") Mode\n\nOut 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.\n\n3. Custom Source Build (BYOK & Local Ollama)\n\nWant 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://.\n\n1-Click Local Backup & Agency Team Distribution\n\nA 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.\n\nSafari, Chrome, Arc, Brave, Edge. Double-click, open, write. Zero local port conflicts, zero terminal setup.\n\nWindows\n\n● NATIVE OPTIMAL\n\nEdge, Chrome, Firefox, Brave. Runs instantly in user space. No bloated installer, no background daemons, no IT admin rights required.\n\nLinux\n\n● NATIVE OPTIMAL\n\nChrome, Firefox, Chromium. The exact same local-first syntax engine with full local file control.\n\niPad & Tablets\n\n◐ PROFILER ACTIVE\n\nVoice DNA extraction works cleanly. However, the 3-column Writing Desk is an editorial cockpit engineered for a physical keyboard and a widescreen display.\n\nSmartphones\n\n○ DESKTOP INSTRUMENT\n\nGlass 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.\n\nFor agencies & ghostwriters.\n\nThe $3,000 retainer is won in the first screen share.\n\nWhen you charge $2,000 to $3,000 a month per client, you cannot deliver copy that sounds like a default AI prompt. The Agency Verification Protocol 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 8), (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).\n\nCLIENT VOICE DNA DOSSIER // SPECIMENA4 PRINTABLE · SHA-256 CHECKSUM\n\nShow 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.\n\nThe internal QA filter\n\nEvery 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.\n\nHow Style Lock works.\n\n1. Export the rules\n\nThe owner exports a .grai Style Lock profile. It carries rules only: banned words, disliked phrases, target sentence length, selected platforms. No draft text ever rides along.\n\n2. Import once\n\nThe freelancer imports one file. The profile binds to the client voice and persists in local storage, so the rules survive every session. A small rules file replaces the style guide.\n\n3. Gate every draft\n\nEach draft runs against the same eight structural rules plus the rhythm floor. Flagged spans appear before anything leaves the desk. Revisions die early.\n\nFor engineering teams & AI coding agents\n\nClean codebases, invariant documentation & team style gates.\n\nWhen coding agents write markdown, every README, changelog, architecture decision record, and pull request note arrives with the same structural habits: flat cadence, swollen vocabularies, and monotonous bullet cascades. The free grai-gate plugin flags those patterns in your terminal. It is a style gate, not an authorship detector. The Pro Cockpit is the calibration workbench behind it, for teams that need one voice across every repository.\n\nA pure Python PostToolUse hook for Google Antigravity and git pre-commit pipelines. Computes sentence-length burstiness (CV) and flags 8 structural patterns in about 20 milliseconds. Free, MIT-licensed, zero network calls.\n\n2. Team Style Invariants\n\nMove 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.\n\n3. Portable .grai Profiles\n\nExport 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.\n\nDeveloper Tooling Integration · CI/CD & Git Hooks\n\nRun grai-gate in your local terminal during active pairing or invoke grai-gate 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.\n\nValidation v2: 58 human docs, 63 model docs. The gate flagged 7 of 63 model docs and 3 of 58 human docs. It is a style gate, not a proof of authorship.\n\nSolo Engineer · Solo Offline Edition ($79/yr)\n\nFor independent developers and technical founders. Full Voice DNA calibration workbench, instant repair prompt generator, Scalpel/Broadsheet/Ledger drafts, watermarked local HTML5 kit, and one year of engine updates. Billed annually.\n\nEngineering Teams · Agency Verification Protocol ($99/mo)\n\nFor multi-repo engineering teams and technical consultancies. Manage up to 10 project voice profiles, export team sync files, issue live ECDSA-signed audit certificates at grai.page/verify/:hash, and enforce invariants across developers.\n\nSolo desk. Agency verification. Done-for-you calibration.\n\nStart with the offline workbench, move to live client verification when you bill retainers, or have the executive voice calibrated for you.\n\n1 client retainer saved with the SHA-256 A4 Dossier = $1,500 to $3,000/mo protected (5 retainers = $7,500/mo at risk). With the Agency Verification Protocol: $99/mo or $790/yr for up to 10 executive client profiles and live verification links.\n\nAgency Leak Calculator\n\nWhat do client revisions cost you every month?\n\nMove the sliders. USD, monthly. The math runs in your browser.\n\nRevision hours / mo30 h\n\nRevision cost / mo$2,550\n\nLeak vs retainer revenue20%\n\nAgency break-even3.5 h\n\nPlain text. Send it to a partner or a client.\n\nSolo Offline Edition\n\n$79/yr\n\n$1.52 / week · billed annually · one person\n\nWatermarked local HTML5 workbench. No cloud dependency.\n\nFor founders and independent writers who publish under their own name and want one calibrated voice, offline.\n\nWatermarked local HTML5 workbench (grai.html)\n\nVoice DNA profiler with 1 voice profile\n\n8-rule deterministic cadence gate and CV floor\n\nThe Writing Desk (Scalpel, Broadsheet & Ledger drafts)\n\nOpen a real receipt. The verified sample shows the clean badge. The failed sample shows the same page after the cadence gate rejects an AI template. The commercial CTA is visible on both.\n\nUnmistakably you, hard to sustain. You write three strong posts, get buried by company operations, and go silent when client work spikes.\n\n2. Agency Ghostwriter\n\n$18,000 to $48,000 / yr ($1.5k to $4k / mo)\n\nDone-for-you service\n\nHuman 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.\n\n3. Cloud AI Copywriting SaaS\n\n$468 to $1,188 / yr ($39 to $99 / mo)\n\nHosted cloud app\n\nRecurring monthly subscription for cloud templates and hosted workflows.\n\n4. Raw ChatGPT or Claude\n\n$240 / yr ($20 / mo)\n\nPrompt + manual rewrite\n\nGeneral-purpose chat models. Prompt instructions alone lack a deterministic burstiness check, so writers review and polish the cadence by hand.\n\n5. Your AI + grai\n\n$79/yr +$240/yr existing AI ($319 Yr 1) or $0 API with Ollama\n\nSelf-operated local gate\n\nYour existing AI speed locked to your spine. grai scores your sentence variance (CV ≥ 0.32), highlights structural tells, and offers targeted span repair.\n\nThe 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.\n\nDay 0Instant 618 KB watermarked workbench + license key via email.\n\nDays 1 to 30Profile your Voice DNA and audit unlimited drafts locally.\n\nDay 30Not visibly sharper? Email [email protected] with your order number for a 100% refund.\n\nSecure checkout via Payhip & Stripe. Automated VAT and instant delivery. Solo is billed annually; Agency is monthly or annual; DFY is one-time.\n\nQuestions\n\nNine questions people actually ask.\n\nWhy pay $79/yr when I already have ChatGPT Plus or Claude Pro?\n\nYour subscription writes in a generic voice. grai does not replace it. It sits on top: it measures your cadence, then audits every draft against 8 structural rules and a CV ≥ 0.32 burstiness floor. You keep the model you already pay for and stop paying with your authority.\n\nHow does it write if the local app has no grai backend?\n\nTwo 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).\n\nDo I need technical skills or coding?\n\nNo. 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.\n\nWhat devices and systems does it run on?\n\nRuns 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.\n\nWhere do my texts go, and can they be used to train AI models?\n\nThe 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.\n\nHow is it different from Custom Instructions in ChatGPT or Claude?\n\nCustom 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 8-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.\n\nWhat happens if my style changes in time?\n\nRe-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.\n\nCan I make a backup if I change laptops or clear browser data?\n\nYes. 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.\n\nHow does the 30-day guarantee work?\n\nBuy 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.\n\nYour unfair advantage\n\nBuild a personal brand voice nobody can imitate.\n\nTake 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.\n\nPublish again in your real cadence. Not polite. Distinct.", "url": "https://wpnews.pro/news/show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts", "canonical_source": "https://grai.page/#test", "published_at": "2026-11-10 11:41:37+00:00", "updated_at": "2026-11-10 11:53:55.233315+00:00", "lang": "en", "topics": ["ai-tools", "generative-ai", "large-language-models"], "entities": ["Grai", "LinkedIn", "Claude", "ChatGPT", "Gemini", "Ollama", "LigoSocial"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts", "markdown": "https://wpnews.pro/news/show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts.md", "text": "https://wpnews.pro/news/show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts.txt", "jsonld": "https://wpnews.pro/news/show-hn-grai-a-deterministic-cadence-gate-for-ai-drafts.jsonld"}}