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
- Get a free Claude API key from console.anthropic.com
- 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
- Type your abbreviated text in any text field
- Place the cursor at the end
- Press
Ctrl+Shift+J - 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-5-20250929 |
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
- Windows 10/11
- Python 3.10+
- Claude API key (get one here)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smarttype_ai-1.1.0.tar.gz.
File metadata
- Download URL: smarttype_ai-1.1.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1091a8909e4d2a5699b8ad963c9968d303af2be384b20b95d690d5b90283d9d2
|
|
| MD5 |
a919340393022307098d1d4e969a6075
|
|
| BLAKE2b-256 |
7d9b47a6648e8b4d764605b201e4b81133143c9d95d7fe48132c3c917a3e2fbe
|
File details
Details for the file smarttype_ai-1.1.0-py3-none-any.whl.
File metadata
- Download URL: smarttype_ai-1.1.0-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f091bbbac4e299a64bd2458a4ed8cbc27ac7f133c3d3a973520d74449107f144
|
|
| MD5 |
571ae6a01e3b2fb1abc5606db2559024
|
|
| BLAKE2b-256 |
a65aba4c5e8e7b40ee7291ab646159aebee6e6e673c9df630ce5aabbb71f5580
|