Voice to Text for JetBrains IDEs
You're deep in a coding session in IntelliJ, PyCharm, or WebStorm. Your hands are flying across the keyboard. Then you need to write a commit message, explain a complex algorithm in a comment, or document that API endpoint. Switching from code-brain to writing-brain is exhausting. Blurt lets you speak your documentation directly into any JetBrains IDE. Hold a button, say what you need, release. Text appears at your cursor. Works across the entire JetBrains family — IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, CLion, RubyMine, PhpStorm, DataGrip. Anywhere you can type, you can dictate.
The Typing Problem
Commit messages that never explain the why
You just refactored authentication across three services. Git is waiting for a commit message. You could explain the security implications, the architectural decisions, the breaking changes to watch for. Instead, you type 'refactor auth' because switching from code mode to writing mode takes too much mental energy. The commit history becomes a graveyard of cryptic one-liners.
TODO comments that stay forever
You hit a tricky edge case that needs handling later. You type 'TODO: fix this' and move on. Six months later, that TODO is still there. Nobody knows what 'this' referred to. A proper TODO would explain the issue, the proposed solution, maybe link to a ticket. But typing all that mid-flow? Your brain rejects the context switch. So TODOs stay vague and useless.
Code review comments you don't have time to write
You're reviewing a pull request in your JetBrains IDE. There's a subtle issue with the approach. You could explain the problem, suggest alternatives, share context about past bugs. But you're on a deadline. You leave a terse 'needs refactor' and approve. The author learns nothing. The same pattern repeats next sprint.
Javadoc and docstrings you keep postponing
That public API method needs documentation. You know exactly what to write — parameters, return values, exceptions, usage examples. You could explain it verbally in 30 seconds. But typing it out with the formatting? That's 10 minutes of tedium. The IDE warns you about missing documentation. You ignore it. The API ships undocumented.
Inline comments for the next developer
You just wrote a workaround for a third-party library bug. Future maintainers will be confused. They'll try to 'fix' your 'broken' code and reintroduce the bug. You should explain it. A comment would take 30 seconds to speak. Typing it means breaking your flow. So you move on. The tribal knowledge stays in your head until you leave the company.
How It Works
Blurt works in every JetBrains IDE — IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider, CLion, RubyMine, PhpStorm, and DataGrip. Any text field, any context.
Hold your hotkey
Press your chosen shortcut anywhere in your JetBrains IDE. A small indicator confirms Blurt is listening.
Speak your thoughts
Dictate your commit message, code comment, or documentation. Blurt handles punctuation and formatting automatically.
Release and continue
Text appears at your cursor. No clicking, no confirmations. Your hands stay on the keyboard. Keep coding.
Real Scenarios
Detailed commit messages in IntelliJ
You've spent two hours refactoring the payment processing module. The commit dialog opens. Hold your hotkey and speak: 'Refactor payment processor to use strategy pattern. Enables adding new payment providers without modifying core logic. Moves Stripe-specific code to dedicated handler. Adds integration tests for PayPal flow. Breaking change: PaymentProcessor constructor now requires provider registry.' A comprehensive commit message in 15 seconds. Future you will understand exactly what happened and why.
Explaining complex algorithms in comments
You just implemented a custom caching algorithm with specific eviction rules. The code is dense. Position your cursor above the class, hold button: 'This cache uses a modified LRU strategy with frequency weighting. Items accessed more than five times in the last hour get priority retention. We use this instead of standard LRU because our access patterns show hot items stay hot for extended periods. See performance analysis in docs slash caching dot md.' The next developer will thank you.
Code review comments in PyCharm
You're reviewing a data processing script. There's a potential memory issue with large datasets. Hold button on the problematic line: 'This loads the entire dataset into memory before processing. Works for our current data sizes, but will fail when we scale to production volumes. Consider using pandas chunked reading with chunksize parameter. I can help refactor if needed.' Constructive feedback that teaches, not just critiques.
TODO comments with actual context
You've found an edge case that needs handling but isn't blocking the current feature. Hold button: 'TODO: Handle timezone conversion for users with no explicit timezone set. Currently defaults to UTC which causes incorrect notification times for about 3 percent of users. See Jira ticket NOTIFY dash 234. Proposed fix is to infer timezone from browser locale.' A TODO that's actually useful when someone revisits it.
Javadoc while the method is fresh
You just finished a service method in your Spring application. The @param and @return tags need filling. Hold button: 'Processes a batch of user notifications and returns a result object containing success count and any failures. Takes a list of notification requests, each containing user ID, message content, and priority level. Throws IllegalArgumentException if the batch exceeds 1000 items. Returns immediately and processes asynchronously.' Documentation done before you forget the details.
Documenting WebStorm component props
You've created a complex React component with several props. Hold button above the interface: 'DataGrid component for displaying paginated table data. The data prop accepts an array of objects with any shape. The columns prop defines which fields to display and their formatting. OnRowClick fires when a user clicks any row, receiving the row data as argument. Set loading to true to show skeleton placeholders while fetching.' TypeScript documentation without the typing tedium.
Explaining GoLand error handling
You've implemented custom error handling with specific retry logic. The next maintainer needs context. Hold button: 'We retry database connections up to three times with exponential backoff because our cloud provider occasionally drops connections during scaling events. The wrapped error preserves the original stack trace for debugging. Log at warn level, not error, because this is expected behavior during deployments.' Context that prevents future debugging sessions.
Why JetBrains developers choose Blurt over built-in dictation
| Blurt | macOS Dictation | |
|---|---|---|
| Activation | Single customizable hotkey | Double-tap Fn key |
| Speed | Text appears in under 500ms | 2-3 second delay typical |
| Technical terms | Handles programming vocabulary well | Struggles with camelCase and jargon |
| IDE integration | Works in all JetBrains contexts | Inconsistent in dialogs and popups |
| Price | $10/month or $99/year | Free (included with macOS) |
| Free tier | First 1,000 words free | Unlimited but unreliable |
Frequently Asked Questions
Start Typing Faster Today
Free to try — no credit card required
Download Blurt