Write any SQL query from plain English with Crade
Crade reads your database schema on screen and gives you the exact SQL for what you actually want, in PostgreSQL, MySQL, BigQuery, or whatever you are running.
| id | signup_date | |
|---|---|---|
| 18293 | [email protected] | 2026-05-28 |
| 18287 | [email protected] | 2026-05-26 |
| 18271 | [email protected] | 2026-05-24 |
| 18259 | [email protected] | 2026-05-22 |
| 18241 | [email protected] | 2026-05-19 |
| 18222 | [email protected] | 2026-05-15 |
Find users who signed up in May 2026 but have not placed an order in the last 30 days.
SELECT u.id, u.email, u.signup_date FROM users u LEFT JOIN orders o ON o.user_id = u.id AND o.created_at > NOW() - INTERVAL '30 days' WHERE u.signup_date >= '2026-05-01' AND u.signup_date < '2026-06-01' AND o.id IS NULL ORDER BY u.signup_date DESC; 47 rows. Good candidates for a re-engagement email.





SQL is the second-most-Googled language after JavaScript, mostly because every database has its own dialect, every table has different column names, and the syntax for anything beyond SELECT * is just enough out-of-reach that you go look it up. Crade reads the schema on your screen and writes the query that fits your specific tables.
What you put on your screen
- Your SQL client (DBeaver, TablePlus, pgAdmin, BigQuery console) with the relevant tables visible
- A schema diagram if you have one
- Sample rows from the tables you are querying (Crade reads them to understand the data)
What you say to Crade
Crade reads your schema and gives you the query with the right table and column names.
Step-by-step
Open your SQL client
Connect to the database. Open the tables you will query so Crade can see the column names and types.
Click the Crade icon
Expand Crade. Floats over your client.
Describe the query in plain English
Say what you want, not how. "Total revenue per customer in Q2, sorted by amount." Crade picks the joins and aggregations.
Get the query
Paste into your SQL client, run it.
Debug if it errors
Paste the error back to Crade. Most errors are a misnamed column or missing join key. Crade fixes it in one turn.
Iterate
"Add a filter for the EU region only." "Show me the running total." "Convert this to BigQuery syntax." Crade adjusts.
What Crade picks up automatically
- Your dialect (PostgreSQL, MySQL, SQLite, BigQuery, Snowflake) based on visible context
- Table relationships from your schema (foreign keys visible in the diagram or naming convention)
- Column types (Crade knows VARCHAR + INT, casts appropriately)
- Whether to use window functions, CTEs, or subqueries based on complexity
Tips for accurate queries
- Show the schema, not just one table. Joins go wrong when Crade does not know the foreign keys.
- Mention the dialect explicitly if it is not obvious. PostgreSQL syntax for JSON differs from MySQL.
- For complex queries, ask Crade to walk through the logic in plain English first: "Explain the steps before you write the SQL." Catches misunderstandings.
- If a query runs slow, paste the EXPLAIN ANALYZE output. Crade reads it and suggests indexes or query restructure.
- For destructive queries (UPDATE, DELETE), always ask Crade for a SELECT version first to verify the WHERE clause matches what you expect.
Frequently asked questions
Can Crade run the query for me?
No, by design. Crade writes the SQL; you paste and run in your client. Running database queries (especially against production) is where mistakes have real consequences, so the human-in-the-loop boundary is intentional.
What about query performance?
Crade writes correct queries first. For performance, share the EXPLAIN ANALYZE output and ask Crade to suggest indexes or optimisations. It is good at common patterns but not a replacement for a senior DBA on critical production tuning.
Does Crade understand my data?
Crade reads the schema visible on screen. For semantic understanding (what users.tier really means), share a few example rows or a column comment. The more context visible, the better the query.
Can I use this with NoSQL (MongoDB, DynamoDB)?
Yes. Crade handles MongoDB find/aggregate, DynamoDB query/scan, Firestore, and most query languages. Specify the database type in the prompt.
What if my schema is huge?
Show Crade only the tables you are querying. For a 200-table schema, scrolling all of it into view is impractical. Focus on the subset and Crade writes the query for that.
The whole loop in one sentence
Schema on screen, plain English description, working SQL back. No more guessing the LEFT JOIN direction or remembering window function syntax.
A brief lands in your Notes app. Thirty seconds later, the landing page is open in your browser. Here is what to put in front of Crade, what to say, and the exact step-by-step from brief to live preview.
Build red. Stack trace. Module not found. Type mismatch. Crade reads your editor, terminal, and error output on screen and tells you exactly what is wrong and how to fix it.
Crade reads the code on your screen and flags bugs, security issues, performance problems, and style nits. Use it before you push, or as a second pair of eyes on a PR.