Aintan is an AI-powered command-line language learning platform that generates personalized questions and validates answers using Google's Gemini AI. Learn any language with adaptive difficulty levels and track your progress with achievements.
- AI-Powered Questions: Dynamic question generation using Google Gemini AI
- Multi-Language Support: Learn any language from your native language
- Difficulty Levels: Choose from Easy, Normal, Hard, or Extra Hard
- Achievement System: Unlock achievements as you progress
- Progress Tracking: Track scores, games played, and learning statistics
- Personalized Learning: Adaptive questions based on your skill level
- Beautiful Tables: Clean CLI interface with formatted tables
- Go 1.19 or higher
- Google AI API key (Gemini)
-
Clone the repository
git clone https://github.com/pimatis/aintan.git cd aintan
-
Install dependencies
go mod tidy
-
Build the application (optional - for faster execution)
go build -o aintan
-
Get your Google AI API key
- Visit Google AI Studio
- Create a new API key
- Copy the key for the next step
-
Set up your API key
# Using built binary ./aintan -set-key YOUR_API_KEY_HERE # Or using go run go run main.go -set-key YOUR_API_KEY_HERE
-
Start learning!
# Using built binary ./aintan # Or using go run go run main.go
# Start interactive learning mode
./aintan # Using built binary
go run main.go # Using go run
# Show user profile and statistics
./aintan -profile # Using built binary
go run main.go -profile # Using go run
# View achievements and progress
./aintan -achievements # Using built binary
go run main.go -achievements # Using go run
# Change difficulty level
./aintan -difficulty hard # Using built binary
go run main.go -difficulty hard # Using go run
# Set or update API key
./aintan -set-key YOUR_NEW_API_KEY # Using built binary
go run main.go -set-key YOUR_NEW_API_KEY # Using go run
# Show help
./aintan -help # Using built binary
go run main.go -help # Using go run
Level | Description |
---|---|
easy |
Very simple vocabulary and basic phrases for absolute beginners |
normal |
Intermediate vocabulary and common expressions for regular learners |
hard |
Advanced vocabulary, complex grammar, and challenging expressions |
extra hard |
Expert-level vocabulary, complex sentence structures, and advanced linguistic concepts |
When you run Aintan for the first time, you'll be prompted to create a profile:
- Enter your name
- Specify your native language
- Choose the language you want to learn
- Select difficulty level
Unlock achievements as you progress:
- First Steps - Answer your first question correctly (1 point)
- Quick Learner - Reach 5 correct answers
- Persistent Scholar - Achieve 10 correct answers
- Language Enthusiast - Score 15 correct answers
- Dedicated Student - Reach 25 correct answers
- Academic Excellence - Achieve 50 correct answers
- Language Master - Score 75 correct answers
- Polyglot Prodigy - Reach 100 correct answers
- Linguistic Virtuoso - Achieve 150 correct answers
- Grand Scholar - Score 200 correct answers
User profiles are stored in config.json
with the following structure:
{
"name": "Your Name",
"native_language": "english",
"target_language": "spanish",
"difficulty": "normal",
"total_score": 25,
"best_score": 8,
"games_played": 5,
"last_played": "2024-01-15T10:30:00Z",
"created_at": "2024-01-10T09:00:00Z"
}
The Google AI API key is securely stored in key.txt
. You can update it anytime using:
./aintan -set-key NEW_API_KEY # Using built binary
go run main.go -set-key NEW_API_KEY # Using go run
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- 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.
Created by Pimatis Labs