A minimalistic menubar app designed for people who obviously don't know all the words yet
Project description
[!CAUTION] AI-created/vibe coded
AI-model: ChatGPT 5.2
AI-participation degree: 80%
I Know Words
What is this?
I Know Words is a lightweight macOS menubar application for ambient vocabulary exposure.
It sits quietly in your system tray and surfaces words from your own dictionaries at a steady pace — no sessions, no pressure, no gamification. Where traditional tools demand attention, I Know Words works in the background. Just enough to feel productive without actually trying too hard.
How It Compares
| Tool | UX Model | Friction | Customization | Passive Mode | Notes |
|---|---|---|---|---|---|
| I Know Words | Menubar, always-on | ⭐ Very low | ⭐ High (YAML + JSON) | ✅ Yes | Background exposure, no sessions |
| WordBar | Menubar | Low | Low | ✅ Yes | Minimal, less configurable |
| Vocable | Full app | Medium | Medium | ❌ No | Session-based learning |
| Anki | Full app (SRS) | High | High | ❌ No | Powerful but requires discipline |
| Memrise | App/Web | Medium | Low | ❌ No | Gamified, content-driven |
Key Differences
vs Anki / Vocable
- No sessions
- No “review queue”
- No cognitive overhead
👉 You don’t study words — you just keep seeing them.
vs WordBar
- Configurable menu structure
- Multiple dictionaries
- Frequency-based word selection
👉 More control, same simplicity.
vs Memrise
- No gamification
- No streaks
- No dopamine loops
👉 Just words. Quietly appearing.
Philosophy
- No popups
- No notifications
- No streaks
- No guilt
Just words. Appearing. Like you planned it.
Why?
Because opening Anki is a commitment.
This is not.
When to Use It
- While working
- While coding
- While pretending to be productive
What It’s Not
- Not a full learning system
- Not a replacement for Anki
- Not trying to make you fluent overnight
Features
- 🧠 Random word rotation with frequency-based weighting (common words appear more often)
- ⏱ Configurable update interval
- 🌍 Multiple dictionaries with instant switching
- 📌 Menubar-first UX (no windows, no distractions)
- 🔗 Clickable links (Wiktionary, Google Translate, etc.)
- 📋 One-click copy for any field
- 🕘 History of recently shown words
- 🎛 Configurable menu structure via YAML
How it works
- Words are loaded from JSON dictionaries
- Selection is weighted using logarithmic ranking (if available)
- The UI is rendered dynamically from config
- The app lives entirely in your system tray
Installation
pip install i-know-words
i-know-words
i-know-words --help
i-know-words --config_path=config.yaml
Configuration
All behavior is controlled via config.yaml.
Example:
interval: 10
dictionaries:
TR → EN: dictionaries/tr_en.json
EN → TR: dictionaries/en_tr.json
default: TR → EN
display:
tr_en:
show_translation_in_bar: false
ranking:
enabled: true
key: rank
menu_items:
word: english
translation: turkish
wiktionary: wiktionary
gtranslate: "google translate"
rank: rank
Dictionary Format
Each dictionary is a JSON array of objects:
[
{
"english": "ephemeral",
"turkish": "geçici",
"rank": 1234,
"wiktionary": "https://...",
"google translate": "https://..."
}
]
- Keys are flexible — just reference them in config
- URL values become clickable links in the menu
Disclaimer
This app will not make you fluent.
But it will make you feel like you're doing something about it — which is arguably more important.
Known Issues
- dictionaries are not ready yet
- no hotkeys implemented
- no timer-reset on
Next-button use
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 i_know_words-2026.4.23.tar.gz.
File metadata
- Download URL: i_know_words-2026.4.23.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12d1edd68cb274b66b357fcdad583caf1d10dc0557b15d5e87b81936a2b7ee70
|
|
| MD5 |
cc9b08b88d99ceb33b43047b04bdfc12
|
|
| BLAKE2b-256 |
48c7e6183802aa31f4c8e01fc9ddc88d83eed1b6fd27a55ea65f681c6ff9d98a
|
Provenance
The following attestation bundles were made for i_know_words-2026.4.23.tar.gz:
Publisher:
python-publish.yml on smirnovkirilll/i_know_words
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
i_know_words-2026.4.23.tar.gz -
Subject digest:
12d1edd68cb274b66b357fcdad583caf1d10dc0557b15d5e87b81936a2b7ee70 - Sigstore transparency entry: 1363863977
- Sigstore integration time:
-
Permalink:
smirnovkirilll/i_know_words@685cc1be4fa259ee0026758ac1eb017e55f0a286 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/smirnovkirilll
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@685cc1be4fa259ee0026758ac1eb017e55f0a286 -
Trigger Event:
push
-
Statement type:
File details
Details for the file i_know_words-2026.4.23-py3-none-any.whl.
File metadata
- Download URL: i_know_words-2026.4.23-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd6ee00681e5d320174bae863a020e8e91f23e86500b0cb13689d63e81c763d4
|
|
| MD5 |
4439df93ca1926881609a3eab4518e32
|
|
| BLAKE2b-256 |
4c03436f9d8f91cc91662bd888e9d80908a6619e8d4334fa94dd8f5d65628e2f
|
Provenance
The following attestation bundles were made for i_know_words-2026.4.23-py3-none-any.whl:
Publisher:
python-publish.yml on smirnovkirilll/i_know_words
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
i_know_words-2026.4.23-py3-none-any.whl -
Subject digest:
dd6ee00681e5d320174bae863a020e8e91f23e86500b0cb13689d63e81c763d4 - Sigstore transparency entry: 1363864000
- Sigstore integration time:
-
Permalink:
smirnovkirilll/i_know_words@685cc1be4fa259ee0026758ac1eb017e55f0a286 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/smirnovkirilll
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@685cc1be4fa259ee0026758ac1eb017e55f0a286 -
Trigger Event:
push
-
Statement type: