🎤Saydle - A Wordle clone that uses your voice to play!
Tags: hackwithdg, deepgram, programming, wordle
Published: 2022-04-11 11:16:00

Hey everyone👋, I am new to writing blogs and this one is going to be my first one on dev.to. Thanks to Deepgram and Dev.to for motivating me to start. This project is targeted for the "Build" challenge!

### Overview of My Submission

#### What is [Saydle](https://saydle.rishabh510.repl.co) 🔠
I am obsessed with [Wordle](https://www.nytimes.com/games/wordle/index.html) these days, which also is the inspiration for this project. Saydle is a fun project which I built to give a twist to normal Wordle. We normally use our keyboard to type the letters and guess the word, right? In this game, we can't type. In fact, there is no keyboard. Instead, you have to use your voice to speak the words rather than typing.

#### Tools and Technologies ⚙️
- HTML/CSS/Javascript
- Hasura (GraphQL)
- Sawo (Authentication)
- Heroku Postgres (Database)
- Deepgram (AI speech-to-text)
- Replit (deploy)

#### Features 🤩
- No keyboard means that you can't see which characters you have already used on the on-screen keyboard. Though, you can see the grid to make out the unused letters.
- Also, there is no Enter or Delete key concept in this game. That means, as soon as you speak a 5 letter word, it is automatically submitted 😈.
- Moreover, how are you gonna tackle homophones (same sound but different spelling)? (_Continue reading to get a hint_)
- It uses passwordless authentication to authenticate users and maintain a history of the number of matches played and the number of matches won against each user.

#### Challenges I faced 😤
- I have kept the code simple and intuitive with beginner-level technologies to make it easier for anyone to understand the codebase.
- This was also the first time I was working with Deepgram and thanks to the exemplar projects, I was able to integrate it in my code.
- It is difficult to tackle homophones (same sound different spelling and meaning) when playing. But using Deepgram, we can say sentences where the target word is the first word in sentence. For example: 
  - (1) **There** is a house. // picks up the word **THERE**.
  - (2) **Their** family. // picks up the word **THEIR**
- Since I am new to blogging, it might not be up to the mark. Suggestions to improve & constructive criticism are welcome!

#### Future Scope 🔮
- This is a static web project and does not ensure the security of your API keys. I would be migrating this project to ReactJs with better management of secrets.
- Wordle has a very minimal UI and I wanted to retain the same. However, I would be making a better UX by adding themes, animations, transitions, etc.
- Adding features like a leaderboard, difficulty level, word length, time limit etc would make it even more fun.
- Just wondering what if on winning a match, your voice recording is minted as an NFT!? Would love to hear your opinions and suggestions, especially on this feature


### Submission Category: 
Wacky Wildcards


### Link to Code on GitHub
[https://github.com/Rishabh510/Saydle](https://github.com/Rishabh510/Saydle)


### Additional Resources / Info
- [Deployed App](https://saydle.rishabh510.repl.co)
- [Github Repo](https://github.com/Rishabh510/Saydle)
- Screenshots 🖼️
![Login Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dzlpuu4fbt1fenl63h5z.png)
![Home Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/336jedew5zonvjzwfeta.png)

### Conclusion
I got to learn a lot of new things by building this project! Would love to see your thoughts about the project Saydle!