Skip to content
Nickkk66Public

About

Open-source auto typer for Google Docs, Word Online and any text field — types at a human pace, no account, no server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Doccy

An open-source auto typer for Google Docs, Word Online and anything else with a caret.

Types your text at a believable human pace — with rhythm, typos, corrections and breaks. No account, no server, no tracking.

Website · Install · How it works · Tests


What it is

Doccy is a Manifest V3 browser extension. You paste a draft into the popup, pick how fast and how sloppy the typing should be, click into your document, and press Start Typing. Doccy presses the keys for you, one at a time.

  • Nine profiles, from a 15 wpm beginner to a 92 wpm expert — or set the five knobs yourself.
  • Realistic mistakes: neighbouring keys, doubled letters, transposed pairs, dropped characters. Each one is noticed a beat late, backspaced and fixed.
  • Pause and stop at any point. The text already typed stays where it is.
  • Runs offline. There is no backend, no telemetry and no network code anywhere in the extension. Your draft lives in chrome.storage.local and nowhere else.
  • A plain-language pass ("Humanize") that strips chatbot padding from a draft, locally.

Where it stops

Doccy simulates typing — useful for screencasts and demos, accessibility setups, kiosks and editors where pasting is blocked, load-testing an editor, and moving a long draft into a browser-only document. It is deliberately not built to defeat anything: there is no AI-detector bypass and no "undetectable" mode, and the humanizer is a readability pass that reports every change it makes. If your school, journal or employer has rules about how work is produced, those rules still apply.

Install

Doccy is not on the Chrome Web Store — you load it from source, so you can read everything you are running.

git clone https://github.com/Nickkk66/doccy.git
  1. Open chrome://extensions in Chrome, Edge, Brave or any Chromium browser.
  2. Turn on Developer mode (top right).
  3. Click Load unpacked and choose the extension/ folder from the clone.
  4. Pin Doccy to the toolbar.

Firefox is not supported yet; the manifest is Chromium MV3.

Using it

  1. Open the document you are writing in and click where the text should go.
  2. Click the Doccy icon (or the Open Doccy button that appears on supported pages).
  3. Paste your text, pick a config, press Start Typing.
  4. Leave the tab in front. Pause or Stop whenever you like.

On Google Docs and Word Online, Doccy also injects a small launcher in the bottom-right corner so you can keep the panel open while it types.

The five knobs

Open the gear icon to edit the Custom profile.

Setting Range What it does
Words per minute 15–150 Target speed, five characters to a word. Each keystroke is jittered around it.
Accuracy 0–100% How often a key lands correctly. Everything below 100% produces real slips and real corrections.
Correction speed 0.1–10s How long the typist takes to notice a mistake before fixing it.
Break frequency 0–100% How often typing stops between words.
Break durations 0.1–10s The range a break lasts.

Saving the custom config switches the dropdown to Custom and stores it locally.

How it works

extension/
  manifest.json      MV3 manifest, Docs/Word content script, on-demand injection elsewhere
  popup.html/.css/.js  the UI — used twice: as the toolbar popup and as the in-page panel
  content.js         owns the typing session, hosts the in-page launcher and panel
  background.js      seeds defaults on install
  lib/presets.js     the nine profiles, the custom profile, clamping
  lib/typer.js       the engine: cadence, typos, corrections, breaks, pause/stop
  lib/injectors.js   editor adapters (Google Docs, contenteditable, input/textarea)
  lib/humanize.js    the local plain-language pass
website/             the static site (GitHub Pages)
tools/               icon generator, site build, tests

Three pieces worth knowing about:

The engine never touches the DOM. lib/typer.js drives an injector — an object with insertText, backspace and newline. That is why the same engine runs the site's demo and the test suite with no browser at all.

Google Docs needs its own adapter. Docs paints the document on a canvas; real keystrokes land in a hidden contenteditable inside iframe.docs-texteventtarget-iframe. Doccy talks to that element, dispatching a full key sequence plus execCommand('insertText'). Google changes Docs often — if this breaks, please open an issue.

The session lives in the page, not the popup. Closing the popup does not stop a run; the popup reconnects to whatever the tab is doing when you reopen it.

Development

node tools/test-engine.js     # 28 checks: fidelity, pause/stop, profiles, humanizer
./tools/build-site.sh _site   # assemble the website with the engine libs
python3 tools/make_icons.py   # regenerate the PNG icons

The test suite collapses setTimeout so a full typing run finishes instantly, then asserts the property that matters: whatever slips the engine makes, the buffer must end up exactly equal to the source text.

There are no dependencies, no build step for the extension, and no package.json — the folder you clone is the folder you load.

Privacy

Doccy makes no network requests. It stores one key, doccy.state (your draft, chosen profile and custom settings), in local extension storage. Uninstalling removes it. Permissions are storage, activeTab and scripting, plus host access to Google Docs and Word Online so the typing panel can appear there without a click.

Licence

MIT — see LICENSE.

About

Open-source auto typer for Google Docs, Word Online and any text field — types at a human pace, no account, no server.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages