Vibeleaderboard
Index / tool
Visit safetyper.com
Category
Productivity
Rank
Pricing
Open Source
Type
TOOL
Builder
coollabsio
GitHub
29 stars
Latest release
v2.4.0
Date

About

Grammarly alternative where you own what you type on your keyboard.

What it does

Safetyper adds a floating grammar-check control beside editable fields in Chrome and Firefox. You can check an entire field or selected text, then inspect word-level highlighted changes. Requests go through OpenRouter, Groq, or a locally running Ollama model, with provider and model choices configured in the extension.

Why it's ranked here

The strongest case is practical control over the correction engine. Users can switch between two hosted providers and local Ollama, while retaining one in-page workflow. Thoughtful handling of selections, input methods, caching, and complex editors adds substance. Broad page access and manual local-model setup keep it from being effortless.

What's good

It handles text inputs, text areas, content-editable regions, and textbox roles while skipping read-only controls, tiny verification fields, and fields that disable spellchecking. It respects input method composition, adapts icon placement to scrolling and field size, caches repeated corrections, highlights word changes, validates hosted-provider key formats, and rate-limits requests.

Tradeoffs

The extension requests access across all URLs plus storage, scripting, and tabs permissions. Hosted correction requires your own OpenRouter or Groq key. Ollama avoids that key requirement, but browser-origin access needs extra configuration and the documented shortcut allows every origin. Checks stop at 5,000 characters and ten requests per minute. Complex editors may offer copying instead of direct replacement.

How to use it well

Use it for short web writing when you want selectable model providers and can manage an API key or local Ollama service. Review the highlighted diff before applying corrections, especially with rich editors. The local route best suits privacy-sensitive workflows. It does not replace a document editor, collaboration suite, or broader writing workspace.

Technical notes+

wxt.config.ts defines a WXT extension with Svelte support, Chrome and Firefox configuration, broad host permissions, and extension-page CSP. src/entrypoints/content.ts installs editable-field, selection, composition, resize, and scroll listeners. src/entrypoints/background.ts owns provider requests, local storage access, model-list caching, sender validation, and a ten-request-per-minute in-memory limiter. src/lib/content/api-client.ts enforces the 5,000-character ceiling and caches corrections by model, prompt, and text. src/lib/content/diff-engine.ts computes a token-level dynamic-programming diff, while src/lib/content/dom-utils.ts handles editor detection, extraction, replacement, positioning, and HTML escaping. package.json exposes WXT development, build, zip, lint, formatting, and Svelte type-checking scripts.

Observed

License
Apache-2.0
Primary language
TypeScript, with Svelte 5 for extension interfaces
Interface
Browser extension with in-page controls, a settings popup, and onboarding UI
Browser support
Chrome and Firefox
AI providers
OpenRouter, Groq, and local Ollama
Build and packaging
Private ES module package built and zipped with WXT; Bun or Node.js 18+ is documented
Quality checks
Scripts provide ESLint, Prettier checks, and Svelte type checking

Read from README.md, package.json, src/entrypoints/content.ts, src/entrypoints/background.ts, src/lib/content/types.ts, src/lib/content/config.ts, src/lib/content/dom-utils.ts, src/entrypoints/popup/main.ts, src/lib/content/api-client.ts, src/lib/content/ui-manager.ts, src/lib/content/diff-engine.ts, src/lib/content/state-manager.ts, src/entrypoints/onboarding/main.ts, wxt-env.d.ts, wxt.config.ts.

What it can do

  • Check grammar and spelling while typing

    Text typed on keyboardGrammar and spelling corrections

  • Suggest writing improvements

    Written textStyle and clarity suggestions

  • Store typing data locally

    User's typed contentLocally stored data without external transmission

  • Provide real-time writing feedback

    Live typing inputInstant corrections and suggestions

  • Protect user privacy during text analysis

    Typed text contentPrivate analysis without data sharing

Tags

grammarwritingprivacykeyboard

Tech Stack

Node.jsTypeScript

Media

Safetyper

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.