To submit a blog post, you need to have a GitHub account and basic knowledge of Git and Markdown. You dont need to be expert or a developer, a copule of YouTube videos will be enough to get you started!
Start by forking the OpenVoiceOS blog repository to your GitHub account.
Clone your forked repository locally and create a new branch for your blog post:
git clone https://github.com/YOUR-USERNAME/ovos-blogs.git
cd ovos-blogs
git checkout -b blog/your-blog-post-name
Create a new Markdown file in the _posts
directory. You can download our template to get started. The filename should follow this format:
YYYY-MM-DD-title-of-your-post.md
For example: 2025-07-01-implementing-new-voice-features.md
Each blog post requires a YAML front matter section followed by your markdown content. Here's the required format:
---
title: "Your Blog Post Title"
excerpt: "A brief summary of your blog post (1-2 sentences)"
coverImage: "/assets/blog/common/cover.png"
date: "YYYY-MM-DDT00:00:00.000Z"
author:
name: "Your Name"
picture: "https://github.com/yourusername.png"
ogImage:
url: "/assets/blog/common/cover.png"
---
Your markdown content goes here...
Note: For the author picture, you can use your GitHub profile picture URL or another appropriate image URL.
When adding images to your blog post, follow these guidelines:
/public/assets/blog/BLOG_NAME/
BLOG_NAME
should match your blog post name (e.g., custom-wake-words
)diagram.png
, screenshot.jpg
)To include images in your blog post, use the following markdown syntax:

For example: 
wake-word-training-flow.png
)If your blog post has co-authors, you can include them like this:
coauthors:
- name: "Co-Author Name"
picture: "https://github.com/coauthorusername.png"
- name: "Another Co-Author"
picture: "https://github.com/anothercoauthor.png"
You can use standard Markdown syntax in your blog post:
# Heading 1
## Heading 2
**Bold Text**
*Italic Text*
`Code`
[Link](URL)

- Bullet point
1. Numbered item
```language\ncode\n```
Here's a complete example of a blog post with image references:
---
title: "Implementing Custom Wake Words in OpenVoiceOS"
excerpt: "Learn how to create and implement your own custom wake words in OpenVoiceOS for a personalized voice assistant experience."
coverImage: "/assets/blog/custom-wake-words/header-image.jpg"
date: "2025-07-01T00:00:00.000Z"
author:
name: "Jane Developer"
picture: "https://github.com/janedeveloper.png"
ogImage:
url: "/assets/blog/custom-wake-words/social-card.jpg"
---
# Implementing Custom Wake Words in OpenVoiceOS
Wake words are the phrases that activate your voice assistant, like "Hey Google" or "Alexa." With OpenVoiceOS, you can create your own custom wake words, allowing for a more personalized experience.

## Why Custom Wake Words Matter
Custom wake words provide several benefits:
- **Personalization**: Choose a name that feels natural to you
- **Privacy**: Use a unique phrase that won't be triggered accidentally
- **Branding**: For businesses, use your brand name as the wake word
## Getting Started
To implement a custom wake word in OpenVoiceOS, you'll need to follow these steps:
1. Collect audio samples
2. Train your wake word model
3. Integrate the model with OpenVoiceOS

Let's dive deeper into each of these steps.
### Collecting Audio Samples
The first step is to collect audio samples of your wake word. You'll need at least 100 recordings of different people saying your wake word in various environments.
```bash
# Example command to record wake word samples
ovos-record-wake-word --name "my-wake-word" --samples 100
```

### Training Your Wake Word Model
Once you have your audio samples, you can train your wake word model using the OpenVoiceOS training tools.
And so on...
After creating your blog post and adding any images, commit your changes and push to your forked repository:
# Add your blog post
git add _posts/YYYY-MM-DD-your-post-title.md
# Add any images you created
git add public/assets/blog/your-blog-name/*
git commit -m "Add blog post: Your Post Title"
git push origin blog/your-blog-post-name
Then, go to the original OpenVoiceOS blog repository and create a Pull Request from your branch.
After submitting your PR, the OpenVoiceOS team will review your blog post. They might suggest changes or improvements before merging your contribution.
Once approved and merged, your blog post will be published on the OpenVoiceOS blog!