A Node.js app where you can learn Spanish through conversation and flashcard studying, powered by Inworld AI Runtime. "Aprendemo" combines "Aprender" (Spanish for "to learn") with "demo" - it's both a language learning tool and a demonstration of the Inworld Runtime Node.js SDK.
- Node.js (v20 or higher)
- An Inworld AI account and API key
git clone https://github.com/inworld-ai/language-learning-node
cd language-learning-nodenpm installCreate a .env file in the root directory:
INWORLD_API_KEY=your_api_key_hereGet your Base64 API key from the Inworld Portal.
For development:
npm run devFor production:
npm run build
npm startlanguage-learning-node/
├── backend/
│ ├── graphs/ # Graph definitions
│ │ ├── conversation-graph.ts
│ │ ├── flashcard-graph.ts
│ │ └── introduction-state-graph.ts
│ ├── helpers/ # Helper utilities
│ │ ├── anki-exporter.ts
│ │ ├── audio-buffer.ts
│ │ ├── audio-processor.ts
│ │ ├── flashcard-processor.ts
│ │ ├── introduction-state-processor.ts
│ │ ├── prompt-templates.ts
│ │ └── silero-vad.ts
│ ├── models/ # AI models
│ │ └── silero_vad.onnx
│ └── server.ts # Backend server
├── frontend/ # Frontend application
│ ├── js/
│ ├── styles/
│ └── index.html
├── flashcard-graph.json # Flashcard configuration
├── package.json # Dependencies
└── LICENSE # MIT License
Bug Reports: GitHub Issues
General Questions: For general inquiries and support, please email us at [email protected]
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.
This project is licensed under the MIT License - see the LICENSE file for details.
