Dictate Button

Make your text fields listen. As easy as Google Analytics.

Visit Website
September 25, 2025 Dictate Button social channels

Since IndieHacker guys kind of abandoned free profiles, I'm not really sure if this blog actually makes sense for the project, so to get future updates, please subscribe to our main social channels:

- X: https://x.com/DictateButton
- Newsletter: https://vibes.dictate-button.io/
- Github: https://github.com/dictate-button

Comment

September 12, 2025 How about Dictate Button for WordPress?

Excited to announce that I've recently submitted my new WordPress plugin for review. The plugin adds the Dictate Button to selected forms on WP sites, as you might have guessed.

Why WordPress?

This CMS still rules the Internet, like it or not, so it makes a lot of sense to let a huge WordPress community enjoy the Dictate Button and improve user experience with voice input.

Wanna try the plugin?

Although the plugin is not yet available from the official WordPress Plugin Directory, you can download it from Github.

Your feedback fuels my work, so don't forget to share your impressions.

By the way, if you're not yet subscribed to Dictate Button Vibes, it's perfect timing for that.

Comment

September 1, 2025 Allowed signups from any emails

Some good news...

Thanks to the local JS community and Claude Code, I’ve made the Dictate Button component accessible and fixed a bug with setting its default language.

What's more important in this update is that you can now signup to the Dashboard and start your journey with any email (Gmail, Proton or any other). I have replaced email-based access restriction with a domain verification via DNS, so everyone's welcome now!

I appreciate any feedback or advice from you, so don’t hesitate to reach out to me anytime.

- Kos @ dictate-button.io

Comment

August 27, 2025 Are you using your product yourself?

Yes, indeed. I'm a developer, so I write about my experience and share insights on my blog, and I receive contact requests from readers and potential clients. That's why a reliable contact form with voice input is a must for me. And here Dictate Button comes in handy.

Happy to announce that my personal site contact form now has a Dictate Button for voice input https://komelin.com/#get-in-touch

Comment

August 25, 2025 Language switcher, cloud transcription, and fixes

Here are a few recent updates to the Dictate Button service...

  1. Squashed a few bugs in the dictate-button component. It’s getting more solid with each release.

  2. Added a language switcher on dictate-button.io so you can transcribe in the language you prefer.

  3. The site now remembers your chosen theme and language, no need to set them every visit.

  4. Big one: I experimentally moved transcription from my self-hosted LLM (was a bit sluggish) to a cloud service. The difference in speed and accuracy is huge. You’ll notice it right away.

Wishing you a great wrap-up to summer,
Kos

Comment

August 21, 2025 Dictated text now inserts with correct surrounding spacing

Let's imaging you have some text in the dictate-button powered text filed already, for example "I have some text" and you put cursor after "text". If you'd run dictation, the transcription would be put right after "text" without separation "I have some textdictated".

Good news is from now on the default integration scripts intelligently determine the need for blank spaces around the transcription, so your final text now would be "I have some text dictated".

Try demo to see how better the insertion is now https://dictate-button.io/

And the updated docs are here https://www.npmjs.com/package/dictate-button

2 Comments

  1. 2

    Nice improvement. Does the spacing logic also handle punctuation and sentence case, for example inserting after a comma or at the start of a sentence? How does it behave with selected text and with languages that have different spacing rules? Is this check in the client library or available through an API as well?

    1. 1

      Thanks! Those are great question.

      Current version of the frontend code handles start and end of the string. It treats punctuation signs as any other non-whitespace symbols. It doesn't take into account languages with other spacing rules. Could you provide an example of such a language?

      The selection is replaced with the transcription.

      The API takes care of the transcription itself, and the integration including insertion rules are implemented through frontend (dictate-button web component and two inject scripts).

      If curious to see the insertion code, check out one of the inject scripts https://github.com/kkomelin/dictate-button/blob/main/src/inject-exclusive.js#L86

August 19, 2025 Builders build even while touching grass 🌴

Meet the updated version of dictate-button.io with ready-to-use default styles, refined icons, a voice level indicator, and other improvements.

Big thanks to the community for the constructive feedback!

Comment

August 10, 2025 Releasing a dashboard

I have recently written about my experiments with AI generation, and now I'm happy to share the results. Meet dash.dictate-button.io, a dashboard for the Dictate Button service.

Of course, it's still far from ideal but launching it right now will help me collect feedback and evolve.

Please give it a shot and share your feedback, and in the meanwhile I'm going to keep building...

Comment

August 7, 2025 Generated project dashboard with AI

I tried 4 AI platforms to generate a dashboard for dictate-button.io and here is what I ended up with...

Following my buddy's advice, I first went to Gemini and asked it to create a proper prompt for the job:
"Create a prompt for AI to develop a dashboard and user accounts for generating api keys for an api. The database should be Firebase Firestore. The login should be with Firebase Auth. The stack TypeScript, Next.js, Tailwind 4 and shadcn components. The design should resemble https://dictate-button.io/"

Gemini created a nice detailed one-pager prompt with all the requirements, which I first sent to Google AI Studio but it produced not what I asked for - mocked Firebase logic and skipped Next.js requirement. The worst thing - it didn't save the project in its history.

I also tried Firebase Studio hoping that it would handle Firebase logic better. Firebase Studio mocked Firebase Auth logic, skipped creating auth forms and app layout, added unnecessary Genkit AI code and finalized it all with "I'm sorry, but I can't help you with this."

Next I tried v0. It handled the job well enough, though I needed a few extra iterations to fix the Firebase connection logic which it generated. Screenshot: https://www.dropbox.com/scl/fi/cfijs34zg7f2lkl6nopom/v0.jpeg?rlkey=48sg3je9su6yiq5h7594dvq3s&st=68pkab6p&dl=0

Finally, I gave Bolt a try and it generated a solid foundation, which after fixing Firebase Firestore access rules started to work fine. Screenshot: https://www.dropbox.com/scl/fi/cs3h6fyauco8my69hjsad/bolt.jpeg?rlkey=gjq0q0eklj07p1go2ro0vhdmv&st=3ovexbvh&dl=0

Even though v0 and Bolt solutions were both good enough, I chose Bolt's one because for some reason its cold start performance was better.

Now I'm finishing the dashboard with Claude Code. Funny enough, I have already switched from Firebase to Supabase.

Anyway, I will soon be able to show you the final version, so stay posted!

Comment

July 29, 2025 Released 0.2.0 of the Dictate Button frontend

In this version, I'm introducing exclusive and inclusive auto-inject modes. More info in the docs. Nothing breaks for the users with previous version.

Also played with the performance of API a little bit. Noticed that the amount of memory didn't affect it at all, however the number of cores affected it directly, so that adding one more virtual core gave 2x performance boost.

Will keep building...

Comment

About

Voice input is replacing text input completely already. Separate audio note-taking apps are very popular among busy people. I believe we can improve UX by integrating dictation capabilities directly into site text fields