Voice to Text for DataGrip
You're deep in DataGrip, optimizing a complex SQL query that joins six tables. The query works, but it's impenetrable. You should document why you used that subquery, what the business logic is, why that index hint matters. But typing comments while your brain is in SQL mode feels like switching languages mid-sentence. Blurt lets you speak your documentation directly into DataGrip. Hold a button, explain the query logic, release. Your words appear as SQL comments instantly. No context switching. No lost train of thought. Just talk through your database work like you're explaining it to a colleague.
The Typing Problem
Complex queries that nobody can understand later
That 200-line SQL query took you three hours to optimize. It joins six tables, uses window functions, and has a clever CTE that avoids a full table scan. In two months, someone will need to modify it. They'll spend four hours reverse-engineering your logic. You could prevent this with comments explaining the approach. But after wrestling with query optimization, typing documentation feels like a chore. The query ships undocumented.
Migration scripts with no context
You're writing a migration that adds a column and backfills data. The backfill logic handles edge cases from a decade-old bug. Future developers will see the complex CASE statement and wonder why. They might 'simplify' it and reintroduce the bug. A comment explaining the edge cases would take 30 seconds to speak. Typing it out? That's five minutes of context switching. The migration runs without explanation.
Stored procedures that become tribal knowledge
The stored procedure that calculates commission has grown to 500 lines over eight years. It handles regional tax rules, currency conversion, and special cases for enterprise clients. You understand it now. But you won't remember the details in six months. Documentation would help. Typing it means stopping your analysis. So the knowledge stays in your head, leaving when you do.
Database schema decisions lost to time
You're adding a nullable column that should logically be NOT NULL. There's a reason for the nullable constraint involving legacy data and a third-party integration. This context matters for future schema changes. But adding a comment explaining the decision requires switching from database thinking to writing mode. You skip it. The next developer will try to add a NOT NULL constraint and break production.
Query optimization notes that never get written
You just improved query performance from 30 seconds to 200 milliseconds. The optimization involved a covering index, query restructuring, and avoiding an implicit type conversion. This knowledge should be captured. But you're already moving to the next performance issue. The optimization techniques stay in your head, not in the codebase where they'd help the team.
How It Works
Blurt works everywhere in DataGrip where you can type. Query console, SQL files, console output annotations, table comments, anywhere you need text.
Hold your hotkey
Press your chosen shortcut anywhere in DataGrip. A small indicator confirms Blurt is listening.
Explain naturally
Describe your query logic, explain the business rules, document the edge cases. Speak as if you're explaining to a colleague.
Release and continue
Text appears at your cursor as SQL comments or documentation. No dialogs, no confirmations. Keep working.
Real Scenarios
Documenting complex SQL query logic
You've written a query with multiple CTEs that calculate customer lifetime value across product categories. Hold your hotkey and speak: 'This query first calculates monthly purchase totals per customer, then applies the recency weighting formula from the marketing team. The final CTE excludes trial accounts which have negative IDs in the legacy system. Performance is optimized for the customer ID index.' Comprehensive documentation in 20 seconds, not 5 minutes of typing.
Explaining stored procedure business logic
Your stored procedure handles order fulfillment with complex routing rules. Position cursor above the procedure, hold button: 'Routes orders to the nearest warehouse with available inventory. Falls back to regional hubs if primary warehouse stock is below safety threshold. Enterprise accounts always route to the dedicated fulfillment center regardless of location.' Business logic preserved for the next developer.
Annotating database schema decisions
You're adding a comment to explain why a column allows NULL values. Hold button: 'This column is nullable because the third-party inventory system sends records before all fields are populated. The nightly sync job backfills missing values. Do not add a NOT NULL constraint without coordinating with the integration team.' Context that prevents future breaking changes.
Writing migration documentation
Your migration script renames a column with complex data transformation. Hold button at the top of the file: 'Renames user status from integer codes to enum strings. The CASE statement handles legacy codes 99 and 100 which were used for beta testers in 2019 and no longer exist in the user interface. These map to inactive status.' Migration context preserved for rollback scenarios.
Explaining query performance optimizations
You've optimized a slow query by restructuring joins. Add a comment explaining why. Hold button: 'Restructured from nested subqueries to CTEs for the query planner. The previous version caused a full table scan on the orders table. This version uses the composite index on customer ID and order date. Reduces execution time from 45 seconds to 300 milliseconds.' Optimization knowledge captured for future reference.
Documenting data quality rules
Your query filters out bad data with specific conditions. Hold button: 'Excludes records where created date is before 2015 due to a data import bug that set dates to Unix epoch. Also filters accounts with email domain test dot com which are QA accounts that should not appear in production reports.' Data quality tribal knowledge made explicit.
Adding inline comments to complex WHERE clauses
Your WHERE clause has multiple conditions that aren't obvious. Hold button before each section: 'The status check excludes pending and draft because those can change without audit trail. The date range uses created at instead of modified at because modifications don't trigger the compliance workflow.' Each condition explained for future maintainers.
Why DataGrip users choose Blurt over macOS 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 SQL and database vocabulary | Struggles with SELECT, JOIN, INDEX |
| IDE integration | Works in all DataGrip contexts | Inconsistent in query consoles |
| 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