Skip to main content

AI-powered text completion for any text field using Claude

Project description

SmartType

AI-powered text completion for anyone who needs to type less.

SmartType uses Claude AI to turn abbreviated, incomplete, or shorthand text into fully formed, grammatically correct sentences — in any text field, in any application.

Why SmartType exists

This software was written by an ALS patient, for ALS patients.

When you live with ALS, you rely on eye tracking and on-screen keyboards to communicate. Every single character costs effort and time. If you were once a fast touch typist, the difference is devastating. A message that used to take seconds now takes minutes. Conversations move on without you. The frustration builds up, especially in daily communication — messaging friends, writing emails, or using voice synthesis systems.

SmartType changes that. Instead of painstakingly typing out every word, you type just enough for the AI to understand what you mean:

ih mss mrgn zm arzt ghn
→ Ich muss morgen zum Arzt gehen.
cn yu pls hlp me wth ths
→ Can you please help me with this?
wnt we actly go swmmng
→ Do we actually want to go swimming?

Type less. Say more. Stay in the conversation.

Features

  • Works in any text field — Signal, Word, Element, browsers, email, voice synthesis software
  • Understands heavily abbreviated text — skip vowels, shorten words, leave out grammar
  • Multi-language — German and English, switchable with a hotkey
  • Two modes:
    • Full line mode (default): Completes everything from cursor backward
    • Marker mode: Place ... before the text you want completed
  • Audio & visual feedback — beep sounds and on-screen toast notifications
  • Zero setup — API key is asked on first run and saved automatically
  • Customizable — hotkeys, language, AI model, and prompts are all configurable

Installation

From PyPI

pip install smarttype-ai

From source

git clone https://github.com/twagner/smarttype.git
cd smarttype
pip install .

With Conda

conda env create -f environment.yml
conda activate smarttype
pip install .

Getting started

  1. Get a free Claude API key from console.anthropic.com
  2. Run SmartType:
smarttype

On first launch, it will ask for your API key and save it automatically.

You can also provide the key in a .env file:

CLAUDE_API_KEY=sk-ant-...

Usage

smarttype          # start SmartType
python -m smarttype  # alternative

Hotkeys

Hotkey Action
Ctrl+Shift+J Complete text at cursor
Ctrl+Shift+G Toggle language (DE/EN)
Ctrl+Shift+H Toggle marker mode on/off
Ctrl+C Exit SmartType

How it works

  1. Type your abbreviated text in any text field
  2. Place the cursor at the end
  3. Press Ctrl+Shift+J
  4. SmartType selects the text, sends it to Claude, and replaces it with the completed version

Examples

Abbreviated German:

ih hbe sps bei vln din abr bsors brtsple
→ Ich habe Spaß bei vielen Dingen, aber besonders bei Brettspielen.

Abbreviated English:

i hve fun mny thngs but espcly bord gmes
→ I have fun with many things, but especially with board games.

Minimal input, full output:

me feeling good. no pain
→ I'm feeling good. I have no pain.

Marker mode — when you only want part of a line completed:

Dear Dr. Smith, ...i wntd to ask abt my nxt appntmnt
→ Dear Dr. Smith, I wanted to ask about my next appointment.

Configuration

All settings via environment variables or .env file:

Variable Default Description
CLAUDE_API_KEY (required) Your Anthropic API key
SMARTTYPE_HOTKEY ctrl+shift+j Completion hotkey
SMARTTYPE_LANG_HOTKEY ctrl+shift+g Language toggle hotkey
SMARTTYPE_MARKER_HOTKEY ctrl+shift+h Marker mode toggle hotkey
SMARTTYPE_MODEL claude-sonnet-4-20250514 Claude model
SMARTTYPE_LANGUAGE de Starting language (de or en)

Custom prompts

Place a prompt_de.txt or prompt_en.txt in your working directory to override the built-in prompts. This lets you fine-tune how the AI interprets and completes your text.

Requirements

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smarttype_ai-1.0.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smarttype_ai-1.0.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file smarttype_ai-1.0.0.tar.gz.

File metadata

  • Download URL: smarttype_ai-1.0.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for smarttype_ai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 889c65f58e4fc2b370ee5eed59156c78432bdf93775281a7e0bcbbfd71b88481
MD5 e373df96c90b9db68c6b59f0513c2429
BLAKE2b-256 bd4e145ff5cf742b62adc7fda8e480222ae1e13beb1d55cb469633f828335a54

See more details on using hashes here.

File details

Details for the file smarttype_ai-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: smarttype_ai-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for smarttype_ai-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b87a8044b8bfad6798e310b812fc3f57cab52deb2b52baabe52e35fc76c8305
MD5 f65ad84e288e9b26522e1cf9d74e8d32
BLAKE2b-256 15b8a77c2288932e25f55fb764c2cb12e83b59ab3b63d44eab729b9de0d31f00

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page