GoSpell is a terminal-based spelling practice application that uses text-to-speech to help users improve their spelling skills
GoSpell is an interactive CLI spelling practice tool that:
- Speaks words aloud using Google Cloud Text-to-Speech
- Provides word definitions to help with context
- Tracks your correct spelling streak
- Creates a satisfying practice environment with a clean TUI
I think it would be great for students, language learners, or anyone that wants to improve their spelling skills.
- Text-to-Speech Integration: Hear words spoken (mostly) clearly with Google Cloud TTS
- Word Definitions: See word definitions to hopefully understand context and meaning
- Progress Tracking: Keep track of your spelling streak
- Pretty good TUI: Clean terminal user interface using Bubble Tea
- Word Caching: Caches dictionary lookups between sessions to increase speed over time
- Go 1.17+
- Google Cloud Platform account with Text-to-Speech API enabled
- Google Cloud credentials JSON file (Make sure it is a key from a service account on Google Cloud)
# Clone the repository
git clone https://github.com/jharlan-hash/gospell.git
cd gospell
# Install dependencies
go mod download
# Build the application
go build -o gospell
# Run the application
./gospell --credentials=/path/to/your-credentials.json
# Basic usage
./gospell --credentials=/path/to/your-credentials.json
# Display multiple definitions
./gospell --credentials=/path/to/your-credentials.json --definitions=3
- Enter: Submit your spelling
- Ctrl+R: Repeat the current word
- Ctrl+H: Hear what you've typed so far
- Ctrl+C/Ctrl+D/Esc: Exit the application
GoSpell accepts the following command-line flags:
Flag | Short | Description |
---|---|---|
--credentials |
-c |
Path to Google Cloud credentials JSON file (required) |
--definitions |
-d |
Number of definitions to display (default: 1) |
--help |
-h |
Display help |
- Bubble Tea - goated TUI framework
- Lip Gloss - Style definitions for TUI apps
- Babble - Word generation
- Google Cloud Text-to-Speech - TTS API
- Beep - Audio playback
Feel free to contribute if you want - this is just a personal project.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Free Dictionary API for providing word definitions
- Google Cloud Text-to-Speech for TTS capabilities
Made with ❤️ by Jack Sovern