Skip to content

Inworld Runtime Node.js Template App - language learning through real time conversation and flashcards

License

Notifications You must be signed in to change notification settings

inworld-ai/language-learning-node

Repository files navigation

Language Learning - Aprendemo

MIT License Powered by Inworld AI Documentation Model Providers

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.

App

Prerequisites

  • Node.js (v20 or higher)
  • An Inworld AI account and API key

Get Started

Step 1: Clone the Repository

git clone https://github.com/inworld-ai/language-learning-node
cd language-learning-node

Step 2: Install Dependencies

npm install

Step 3: Configure Environment Variables

Create a .env file in the root directory:

INWORLD_API_KEY=your_api_key_here

Get your Base64 API key from the Inworld Portal.

Step 4: Run the Application

For development:

npm run dev

For production:

npm run build
npm start

Repo Structure

language-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

Troubleshooting

Bug Reports: GitHub Issues

General Questions: For general inquiries and support, please email us at [email protected]

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Inworld Runtime Node.js Template App - language learning through real time conversation and flashcards

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7