# Kindred: A Private AI English Practice Partner Built for a Friend

> Source: <https://dev.to/arm210402/kindred-a-private-ai-english-practice-partner-built-for-a-friend-4n6l>
> Published: 2026-10-05 06:01:21+00:00

*This is a submission for the [Hacktoberfest Weekend Challenge: Build for a Friend](https://dev.to/challenges/hacktoberfest-weekend-2026-10-01).*

## 
  
  
  What I Built

I built **Kindred**, a private English practice partner, for my friend to help her practice English for job interviews.

The goal is to give her a space to rehearse answers, learn from corrections, and try again at her own pace.

Kindred supports three practice scenarios:

- Job interviews
- Everyday English conversations
- Presentations

The learner selects a scenario and types an answer. A local language model is prompted to respond with one positive observation, a gentle correction when useful, and a follow-up question.

The app does not assign scores. Its coaching prompt focuses on encouragement and practical feedback.

Learners can clear the conversation or download it as a text file to review later. Kindred currently supports typed practice; it does not provide voice input or evaluate pronunciation.

There is also a clearly labeled scripted sample so visitors can explore the interface before installing a local model.

## 
  
  
  What I Built

I built **Kindred**, a private English practice partner, for my friend to help her practice English for job interviews.

The goal is to give her a space to rehearse answers, learn from corrections, and try again at her own pace.

Kindred supports three practice scenarios:

- Job interviews
- Everyday English conversations
- Presentations

The learner selects a scenario and types an answer. A local language model is prompted to respond with one positive observation, a gentle correction when useful, and a follow-up question.

The app does not assign scores. Its coaching prompt focuses on encouragement and practical feedback.

Learners can clear the conversation or download it as a text file to review later. Kindred currently supports typed practice; it does not provide voice input or evaluate pronunciation.

There is also a clearly labeled scripted sample so visitors can explore the interface before installing a local model.

## 
  
  
  Demo

[Watch Kindred in action](https://drive.google.com/file/d/11m28lsD_e2w4z1BG00_pCQ8AAxzUkOPC/view?usp=drive_link)

To run the project yourself, follow the setup instructions in the repository README. Live AI practice requires Ollama and a locally installed model.

The **Try sample** option uses scripted responses. The **Start practicing** option uses the local AI model.

## 
  
  
  Code

[View Kindred’s source code on GitHub](https://github.com/arm21-afk/kindred)

The application source is MIT licensed.

## 
  
  
  How I Built It

The frontend uses **HTML, CSS, and JavaScript**. A **Node.js** server serves the interface and forwards validated conversation history to Ollama’s local chat API.

The application has no third-party npm dependencies.

For live feedback, Kindred uses **Ollama** with the **Qwen3 4B open-weight model**. The model runs on the same computer as the application.

The coaching prompt asks the model to:

- Notice one specific thing the learner did well.
- Offer one gentle correction and an improved sentence when useful.
- Ask one short follow-up question.
- Use plain English and avoid scores or shaming.

Model responses are displayed as plain text. The app also limits message size and conversation length and reports connection errors when local inference is unavailable.

Conversation history stays in memory. Reloading or clearing the session removes it from the app, while downloading lets the learner keep a copy.

The repository includes automated server tests covering input validation, app serving, cross-origin rejection, and model failures using mocked responses. Those tests do not evaluate the quality of the model’s English coaching.

## 
  
  
  Why Does Open Innovation Matter?

English interview practice can involve personal answers. Running an open-weight model locally allows the learner to practice without sending those answers to a hosted inference API.

After Ollama and the model have been downloaded, the application can run without a cloud connection. It does not require a hosted AI account.

Open technology also makes the coaching experience adjustable. The coaching prompt is visible in the source, and the model can be changed through configuration. This gives me a way to adapt the app’s tone and try different models for the learner’s needs and available hardware.

Local inference still depends on the computer’s resources, and AI corrections can be imperfect. The benefit is control over the model, the coaching instructions, and where the conversation is processed.

For Kindred, open innovation makes a private and customizable practice partner possible.

## 
  
  
  What Comes Next

The next step is to use my friend’s feedback to improve the practice experience, especially the interview questions and the clarity of corrections.

I would also like to explore more specific interview scenarios while keeping the interface simple and the core practice experience local.

To run the project yourself, follow the setup instructions in the repository README. Live AI practice requires Ollama and a locally installed model.

The **Try sample** option uses scripted responses. The **Start practicing** option uses the local AI model.

## 
  
  
  Code

[View Kindred’s source code on GitHub](https://github.com/arm21-afk/kindred)

The application source is MIT licensed.

## 
  
  
  How I Built It

The frontend uses **HTML, CSS, and JavaScript**. A **Node.js** server serves the interface and forwards validated conversation history to Ollama’s local chat API.

The application has no third-party npm dependencies.

For live feedback, Kindred uses **Ollama** with the **Qwen3 4B open-weight model**. The model runs on the same computer as the application.

The coaching prompt asks the model to:

- Notice one specific thing the learner did well.
- Offer one gentle correction and an improved sentence when useful.
- Ask one short follow-up question.
- Use plain English and avoid scores or shaming.

Model responses are displayed as plain text. The app also limits message size and conversation length and reports connection errors when local inference is unavailable.

Conversation history stays in memory. Reloading or clearing the session removes it from the app, while downloading lets the learner keep a copy.

The repository includes automated server tests covering input validation, app serving, cross-origin rejection, and model failures using mocked responses. Those tests do not evaluate the quality of the model’s English coaching.

## 
  
  
  Why Does Open Innovation Matter?

English interview practice can involve personal answers. Running an open-weight model locally allows the learner to practice without sending those answers to a hosted inference API.

After Ollama and the model have been downloaded, the application can run without a cloud connection. It does not require a hosted AI account.

Open technology also makes the coaching experience adjustable. The coaching prompt is visible in the source, and the model can be changed through configuration. This gives me a way to adapt the app’s tone and try different models for the learner’s needs and available hardware.

Local inference still depends on the computer’s resources, and AI corrections can be imperfect. The benefit is control over the model, the coaching instructions, and where the conversation is processed.

For Kindred, open innovation makes a private and customizable practice partner possible.

## 
  
  
  What Comes Next

The next step is to use my friend’s feedback to improve the practice experience, especially the interview questions and the clarity of corrections.

I would also like to explore more specific interview scenarios while keeping the interface simple and the core practice experience local.
