35 ChatGPT Prompts for Coding & Programming
35 ChatGPT Prompts for Coding & Programming
Whether you’re debugging a production issue at 2 AM or planning the architecture for a new feature, ChatGPT can be a surprisingly capable coding assistant — if you know how to talk to it. The difference between getting usable code and getting garbage comes down to how you structure your prompts.
This guide covers 35 prompts organized by the tasks developers actually deal with: debugging, code review, architecture decisions, algorithm design, writing documentation, testing, and refactoring. Each prompt is designed to produce output you can work with, not just generic boilerplate.
A few ground rules before we start: always review AI-generated code before shipping it. Test everything. And never paste proprietary code or secrets into any AI tool without your company’s approval.
How to Write Better Coding Prompts
Provide full context, not fragments. Including the language, framework version, surrounding code, and error messages gives ChatGPT enough to work with. A bare “fix this bug” produces bare results.
State your constraints. Performance requirements, coding standards, compatibility needs, and file structure matter. “Write a function” and “Write a function that processes 10M records with O(n) time complexity using Python 3.12 and follows PEP 8″ are wildly different requests.
Ask for explanations, not just code. When you understand why the solution works, you can modify it, debug it, and learn from it. Blind copy-paste is a fast road to technical debt.
Iterate naturally. Your first prompt rarely produces perfect output. Follow up with “That’s close, but also handle the edge case where…” or “Can you refactor this using the strategy pattern instead?” Treat it like working with a colleague, not placing an order.
Debugging Prompts (1-7)
1. Error Diagnosis
I'm getting this error in my [language/framework] application:
Error message:
[paste the full error message and stack trace]
Here's the relevant code:
[paste the code — include enough context, not just one line]
What I expected to happen: [describe expected behavior]
What actually happens: [describe actual behavior]
Diagnose the root cause. Explain:
Why this error occurs
The fix, with corrected code
How to prevent this type of error in the future
Any related issues in the code I should check for
2. Logic Bug Finder
This [language] function should [describe expected behavior] but it's producing
incorrect results for certain inputs.
[paste the function]
Test cases that fail:
- Input: [input] → Expected: [expected] → Got: [actual result]
- Input: [input] → Expected: [expected] → Got: [actual result]
Test cases that pass:
- Input: [input] → Expected: [expected] → Got: [expected] (correct)
Walk me through the logic step by step for a failing test case.
Identify where the logic breaks down and provide a corrected version.
3. Performance Debugging
This [language] code runs too slowly. It processes [describe data volume]
and currently takes [time]. Target is [time].
[paste the code]
Profile this code conceptually:
Identify the performance bottlenecks (which operations are expensive and why)
Analyze the time and space complexity of the current approach
Suggest optimized alternatives with their complexity analysis
Provide the refactored code with comments explaining each optimization
Estimate the expected improvement
Environment: [language version, runtime, any relevant hardware constraints].
Data characteristics: [describe — sorted, random, sparse, etc.].
4. Memory Leak Investigation
I suspect a memory leak in my [language/framework] application.
Symptoms: [describe — growing memory usage, OOM crashes, degraded performance over time]
Here's the relevant code section:
[paste code]
Help me investigate:
Common memory leak patterns in [language/framework] — which apply here?
Identify specific lines or patterns in my code that could cause leaks
Suggest diagnostic steps (profiling tools, monitoring approaches)
Provide fixes for the identified issues
Best practices to prevent memory leaks in this type of application
5. Concurrency Bug Helper
I have a concurrency issue in my [language] application.
The bug manifests as: [describe — race condition, deadlock, data corruption, etc.]
It happens intermittently, roughly [frequency].
Here's the code:
[paste the concurrent/async code]
Analyze this for concurrency problems:
Identify potential race conditions, deadlocks, or thread-safety issues
Explain the specific sequence of events that causes the bug
Provide a thread-safe version of the code
Explain the synchronization mechanism you chose and why
Suggest how to write a test that reproduces this type of bug
6. API Integration Debugging
I'm integrating with [API name] and getting unexpected responses.
My request:
[paste the request — method, URL, headers, body]
Expected response: [describe or paste]
Actual response: [paste the actual response]
API documentation says: [paste relevant docs snippet]
Help me figure out:
What's wrong with my request
Common mistakes developers make with this API
The corrected request with proper formatting
How to add error handling for common failure modes
A retry strategy for transient failures
7. Environment and Configuration Debugging
My [language/framework] project works in [environment A — e.g., local development]
but fails in [environment B — e.g., production, Docker, CI/CD].
Error: [paste error]
My configuration:
[paste relevant config files — docker-compose, env files (redact secrets), package.json, etc.]
Differences between environments that I know of:
[list known differences — OS, versions, network, etc.]
Help me identify:
What environment-specific factors could cause this
How to diagnose the difference (specific commands to run)
The likely fix
How to prevent environment-specific bugs (best practices)
Code Review Prompts (8-13)
8. Comprehensive Code Review
Review this [language] code as a senior developer. Be thorough but constructive.
[paste the code]
Evaluate these aspects:
Correctness: Does the logic handle all cases? Any bugs?
Readability: Is it clear? Would a new team member understand it?
Performance: Any unnecessary operations or scalability concerns?
Security: Any vulnerabilities (injection, XSS, auth issues, etc.)?
Error handling: Are errors handled gracefully?
Naming: Are variables, functions, and classes named clearly?
Design patterns: Is the overall structure sound? Better approaches?
Test coverage: What tests should exist for this code?
For each issue found:
- Severity: critical / major / minor / nit
- Line reference
- Explanation of the problem
- Suggested fix with code
9. Security-Focused Review
Perform a security review of this [language/framework] code.
This code handles [describe — user auth, payment processing, file upload, API endpoints, etc.].
[paste the code]
Check for:
Injection vulnerabilities (SQL, NoSQL, command, XSS)
Authentication and authorization flaws
Sensitive data exposure (logging, error messages, responses)
Input validation gaps
CSRF/CORS issues
Insecure dependencies or configurations
Rate limiting and abuse prevention
Cryptographic weaknesses
For each finding:
- Severity (critical/high/medium/low)
- Attack scenario (how an attacker would exploit this)
- Fix with code sample
- Reference to relevant security standard (OWASP, CWE)
10. Pull Request Review Simulation
I'm about to submit this code as a pull request. Review it as if you were
my team's most thorough reviewer.
PR title: [title]
PR description: [describe what this change does and why]
Files changed:
[paste the diff or new code]
Related context:
- This is part of [feature/project]
- It needs to work with [existing code/system]
- Performance requirement: [if any]
Give me:
Overall assessment (approve, request changes, or needs discussion)
Blocking issues (must fix before merging)
Non-blocking suggestions (improvements for future)
Questions you'd ask the author
Anything missing (error handling, tests, docs, edge cases)
11. Code Style and Consistency Check
Review this [language] code for style and consistency issues.
Our team follows [style guide — e.g., Airbnb JavaScript, PEP 8, Google Java].
[paste the code]
Check for:
Naming convention violations
Inconsistent formatting or indentation
Function/method length (flag any over [X] lines)
Complexity issues (deeply nested logic, long parameter lists)
Comment quality (missing, outdated, or unnecessary comments)
Import organization
Dead code or unused variables
Provide the cleaned-up version with changes annotated.
12. API Design Review
Review the design of this REST API (or GraphQL schema):
[paste your API endpoints, request/response formats, or schema]
Evaluate:
RESTful conventions: Are resources and methods used correctly?
Naming: Are endpoints/fields clear and consistent?
Versioning strategy
Error response format and consistency
Pagination approach for list endpoints
Authentication and authorization model
Rate limiting and throttling
Documentation completeness
Suggest improvements for:
- Developer experience (easy to understand and use)
- Forward compatibility (won't break when we add features)
- Performance (any N+1 queries, over-fetching, etc.)
13. Database Schema Review
Review this database schema for a [type of application]:
[paste the schema — tables, columns, types, constraints, indexes]
Evaluate:
Normalization: Is it appropriately normalized (or denormalized if justified)?
Data types: Are they appropriate and efficient?
Indexes: Are they sufficient for expected query patterns?
Constraints: Are there proper foreign keys, unique constraints, NOT NULL where needed?
Naming conventions: Are they consistent and clear?
Scaling considerations: Will this perform well at [expected scale]?
Missing tables or relationships
Expected query patterns: [describe the most common reads and writes].
Expected data volume: [describe growth expectations].
Architecture & Design Prompts (14-19)
14. System Architecture Design
I need to design the architecture for [system description].
Requirements:
- Functional: [list what it needs to do]
- Non-functional: [performance, scalability, availability, security requirements]
- Users: [expected number and type of users]
- Scale: [expected traffic/data volume]
- Budget: [infrastructure budget constraints]
Existing tech stack: [list current technologies]
Provide:
High-level architecture diagram description (components and their relationships)
Technology recommendations for each component with justification
Data flow: How information moves through the system
API design: Key endpoints/interfaces between components
Database strategy: SQL vs NoSQL, schema approach, caching layer
Deployment architecture: Cloud services, containers, serverless considerations
Trade-offs: What we're optimizing for and what we're sacrificing
15. Microservices vs. Monolith Decision
Help me decide whether to build [project description] as a monolith or microservices.
Context:
- Team size: [number of developers]
- Team experience: [skill levels and experience with distributed systems]
- Complexity: [describe the domain complexity]
- Scale requirements: [expected load and growth]
- Deployment frequency: [how often we need to ship]
- Timeline: [when it needs to be production-ready]
Analyze both approaches against our context:
Development speed and complexity
Operational overhead
Scaling characteristics
Team autonomy and productivity
Risk and failure modes
Migration path (can we start one way and evolve?)
Give a clear recommendation with reasoning, not just "it depends."
16. Database Design Decision
I'm designing the data layer for [application description].
Data characteristics:
- Types of data: [describe — structured, semi-structured, time-series, graph, etc.]
- Read vs write ratio: [estimate]
- Consistency requirements: [strong consistency, eventual consistency, or mixed]
- Query patterns: [describe the most common queries]
- Expected data volume: [initial and 12-month projection]
- Relationships: [describe key data relationships]
Help me choose:
Database type(s) with justification (SQL, NoSQL document, key-value, graph, time-series)
Specific database recommendations and why
Schema design approach
Indexing strategy
Caching strategy (when and what to cache)
Backup and disaster recovery approach
Migration strategy if we outgrow the initial choice
17. API Architecture Design
Design the API architecture for [application/feature].
Requirements:
- Clients: [web app, mobile app, third-party integrations, etc.]
- Authentication: [describe auth requirements]
- Key operations: [list the main things the API needs to do]
- Performance: [latency and throughput requirements]
- Team: [number of teams consuming/building the API]
Design:
REST vs GraphQL vs gRPC: Recommendation with justification
Resource/endpoint design: Key endpoints with methods and response shapes
Authentication and authorization flow
Error handling strategy (error codes, messages, format)
Pagination strategy
Rate limiting approach
Versioning strategy
Documentation approach
Provide example request/response for 3 key endpoints.
18. Event-Driven Architecture Design
Help me design an event-driven architecture for [use case].
Events that need to be handled:
[list the events — e.g., "user signs up," "order placed," "payment processed"]
For each event:
Event schema (what data the event carries)
Producers: What creates this event
Consumers: What reacts to this event and what they do
Delivery guarantees needed: at-most-once, at-least-once, exactly-once
Also design:
- Message broker selection: [Kafka, RabbitMQ, SQS, etc.] with justification
- Event schema evolution strategy
- Error handling: Dead letter queues, retry policies
- Monitoring: How to track event flow and detect problems
- Testing strategy for event-driven flows
Current infrastructure: [describe].
19. Technical Debt Assessment
Help me assess and prioritize technical debt in our [language/framework] codebase.
Here are the known technical debt items:
[list items — e.g., outdated dependencies, legacy code, missing tests, etc.]
For each item, evaluate:
Risk level: What could go wrong if we don't address it? (security, reliability, productivity)
Cost of delay: Does it get worse over time?
Effort to fix: T-shirt size (S/M/L/XL) with explanation
Dependencies: Does this block other work?
Business impact: How does it affect customers, velocity, or hiring?
Then:
- Create a prioritized roadmap (what to tackle first, second, third)
- Suggest a framework for managing ongoing technical debt
- Recommend how much engineering time to allocate to debt reduction
- Identify items that could be addressed opportunistically alongside feature work
Algorithm & Data Structure Prompts (20-24)
20. Algorithm Design
I need to solve this problem:
[describe the problem clearly — input, expected output, constraints]
Constraints:
- Time complexity target: [specify]
- Space complexity target: [specify]
- Input size: [expected range]
- Edge cases to handle: [list any]
- Language: [specify]
Provide:
Approach analysis: What algorithm or technique fits here? (and why)
Step-by-step algorithm walkthrough with a small example
Time and space complexity analysis
Clean implementation in [language]
Edge case handling
3 test cases with expected outputs
Alternative approaches and when you'd choose them instead
21. Data Structure Selection
I need to choose a data structure for the following use case:
Operations I need to perform (with frequency):
- [operation 1]: [frequent/occasional/rare]
- [operation 2]: [frequent/occasional/rare]
- [operation 3]: [frequent/occasional/rare]
Data characteristics:
- Expected size: [number of elements]
- Data type: [describe what's being stored]
- Ordering requirements: [sorted, insertion order, none]
- Duplicate handling: [allowed, not allowed]
Compare the top 3 candidate data structures:
Time complexity for each operation
Space overhead
Implementation complexity
Real-world performance considerations (cache behavior, constant factors)
When each is the right choice
Recommend one and provide a clean implementation in [language].
22. Algorithm Optimization
I have this working algorithm, but it's too slow for my use case:
[paste the current code]
Current complexity: [what you think it is]
Performance: [current execution time on typical input]
Target: [needed execution time or complexity]
Input size: [typical and maximum]
Walk me through:
Confirm the current time and space complexity
Identify the specific bottleneck
What algorithmic technique could improve this? (dynamic programming, binary search,
two pointers, sliding window, memoization, etc.)
Provide the optimized solution with explanation
Show the complexity improvement
Any trade-offs in the optimized version (readability, space usage)
23. Coding Interview Problem Guide
I'm preparing for coding interviews and need to practice this problem:
[paste or describe the problem]
Don't give me the solution right away. Instead:
Help me understand the problem: What are the key inputs, outputs, and constraints?
Guide me to the right approach: Ask me questions that lead me toward the solution
After I attempt a solution, review it for correctness, efficiency, and edge cases
If I'm stuck, give progressively more specific hints:
- Hint 1: Category of approach (e.g., "Think about sliding window")
- Hint 2: Key insight
- Hint 3: Pseudocode outline
After we solve it, show me the optimal solution and explain variations
interviewers might ask about
I'm preparing for [company type] interviews. My strongest language is [language].
24. Complexity Analysis Teacher
Help me analyze the time and space complexity of this code:
[paste the code]
Walk me through the analysis like a textbook:
Identify each operation and its cost
Analyze loops: How many iterations? What changes between iterations?
Analyze recursive calls: What's the recurrence relation?
Handle any tricky parts (amortized operations, hidden costs in library functions)
Derive the final Big O for time and space
Explain best case, worst case, and average case if they differ
What input would trigger the worst case?
I want to understand the methodology, not just the answer.
Documentation Prompts (25-28)
25. README Generator
Generate a README.md for my [type of project] repository.
Project name: [name]
What it does: [describe in 2-3 sentences]
Language/framework: [specify]
Key features: [list 4-6 features]
Include these sections:
Project title and brief description
Features (with brief explanations)
Prerequisites and installation steps
Quick start guide (get running in 5 minutes)
Configuration options
Usage examples (3 common use cases with code)
API reference (if applicable — key endpoints/methods)
Contributing guidelines
License
Troubleshooting (common issues and fixes)
Write it for an audience of [beginner/intermediate/senior] developers.
26. Code Documentation Writer
Add comprehensive documentation to this [language] code:
[paste the code]
For each function/method:
- Docstring explaining purpose, parameters, return values, and exceptions
- Inline comments only where the logic is non-obvious (don't over-comment)
- Usage example showing typical invocation
For each class:
- Class-level docstring explaining its purpose and when to use it
- Document relationships with other classes
- Provide a usage example
Follow [documentation standard — e.g., JSDoc, Google Python docstring, Javadoc].
Don't change the code logic — only add documentation.
27. API Documentation
Write API documentation for these endpoints:
[paste endpoint definitions — routes, parameters, request/response bodies]
For each endpoint, document:
HTTP method and URL
Description: What it does and when to use it
Authentication requirements
Request parameters (path, query, body) with types and required/optional
Request example (curl and one programming language)
Response format with field descriptions
Response examples (success and error cases)
Rate limits
Error codes specific to this endpoint
Format as clean Markdown suitable for a developer portal.
Include a quick start section showing a common workflow using multiple endpoints.
28. Architecture Decision Record (ADR)
Write an Architecture Decision Record for this decision:
Decision: [describe what we're choosing — e.g., "Use PostgreSQL instead of MongoDB
for the user service"]
Context: [describe the situation and requirements that led to this decision]
Write the ADR with these sections:
Title: A short noun phrase
Status: [Proposed/Accepted/Deprecated/Superseded]
Context: Business and technical context driving this decision
Decision: What we decided and key details
Alternatives Considered: Other options we evaluated (at least 2) with pros and cons
Consequences: What changes as a result (positive and negative)
Compliance: How this aligns with our architecture principles
Keep it concise — ADRs should be scannable. Target length: 1 page.
Testing Prompts (29-32)
29. Unit Test Generator
Write unit tests for this [language] code using [testing framework]:
[paste the code to test]
Requirements:
Cover all public methods/functions
Test happy paths with normal inputs
Test edge cases:
- Empty/null/undefined inputs
- Boundary values
- Large inputs
- Invalid inputs
Test error handling paths
Group tests logically with descriptive names
Use [AAA pattern / Given-When-Then] structure
For each test, add a brief comment explaining what it verifies and why.
Aim for [X]% code coverage. Note any parts that are hard to test and suggest
how to refactor for better testability.
30. Integration Test Design
Design integration tests for [feature/system] that involves:
- Components: [list the components that interact]
- External services: [APIs, databases, message queues, etc.]
- Key workflows: [describe the end-to-end flows]
For each test:
Test name and description
Preconditions and setup (test data, service state)
Steps to execute
Assertions (what to check at each step)
Cleanup after test
Mock vs real services: What should be mocked and what should use real services?
Also provide:
- Test environment setup requirements
- How to handle flaky tests in this integration
- Recommended CI/CD pipeline integration
31. Test-Driven Development Starter
I'm building [feature description] using TDD in [language] with [testing framework].
Requirements:
[list the requirements for the feature]
Walk me through the TDD process:
Start with the simplest test case (Red phase — the test should fail)
Write the minimum code to make it pass (Green phase)
Refactor if needed
Move to the next test case
Do this for the first 5 test cases, showing how the implementation
evolves incrementally. At each step, explain your reasoning for
which test to write next.
Show the full test file and implementation file after all 5 iterations.
32. Test Data Generator
Generate test data for my [type of application] that covers these scenarios:
Data model:
[describe the entities and their relationships]
Generate:
Happy path data: [X] records representing normal, valid data
Edge case data: Records that test boundaries (max/min values, special characters,
unicode, very long strings)
Invalid data: Records that should fail validation (with notes on which validation)
Relationship testing: Data that tests referential integrity
Performance testing: A script/factory to generate [large number] records
Format: [JSON, SQL INSERT statements, factory functions, CSV, etc.]
Language/framework: [specify if factory functions needed].
Refactoring Prompts (33-35)
33. Code Smell Detector and Fixer
Analyze this [language] code for code smells and refactor it:
[paste the code]
Identify and fix:
Long methods (break into smaller, focused functions)
Duplicated code (extract shared logic)
Large classes (split responsibilities)
Complex conditionals (simplify with guard clauses, polymorphism, or strategy pattern)
Magic numbers/strings (extract to constants)
Deep nesting (flatten with early returns)
Feature envy (methods that use another class's data excessively)
Dead code (identify and remove unused code)
For each refactoring:
- What the smell is and why it's a problem
- The specific change you made
- Before and after comparison for complex changes
Keep the refactored code functionally identical. Include tests if the refactoring is non-trivial.
34. Design Pattern Application
I have this [language] code that works but has structural problems:
[paste the code]
The problems I'm seeing: [describe — e.g., hard to extend, lots of if/else,
duplicated logic, tight coupling, etc.]
Suggest a design pattern that would improve this. Then:
Explain why this pattern fits the problem
Show the refactored code using the pattern
Explain how it's better (specifically, what's easier now)
Show a concrete example of extending the code in a way that would have
been hard before the refactoring
Mention any trade-offs (added complexity, more files, etc.)
When this pattern would be overkill (so I know when NOT to use it)
35. Legacy Code Modernization
Help me modernize this legacy [language/framework] code:
[paste the code]
Current state:
- Written for [old version/framework]
- Known issues: [list problems — deprecated APIs, security vulnerabilities, poor performance]
- This code is in production and serving [describe usage]
Modernize it:
Update to [target version/framework] idioms and best practices
Replace deprecated APIs with current alternatives
Improve error handling (the legacy code probably swallows errors)
Add type safety where applicable
Improve performance using modern language features
Make it testable (if it isn't currently)
Provide a migration plan:
- Changes that can be made safely in isolation
- Changes that require coordinated deployment
- How to verify nothing breaks (testing strategy)
- Rollback plan if issues arise
Good vs. Bad Prompt Examples
Example 1: Debugging
Bad prompt:
My code doesn't work. Fix it.
[pastes 200 lines of code]
Why it fails: No error message, no description of expected vs. actual behavior, no indication of what was tried.
Good prompt:
My Python Flask endpoint returns a 500 error when processing POST requests
with JSON bodies larger than 1MB. It works fine for smaller payloads.
Error: "MemoryError" at line 47 in process_upload.py
Here's the relevant code:
[paste the specific function and its caller]
I'm running Flask 3.0 on Python 3.12 with a 512MB memory limit in Docker.
I've already tried increasing the memory limit to 1GB but it only delays the issue.
Example 2: Code Review
Bad prompt:
Is this code good?
[pastes code]
Good prompt:
Review this Python function that handles user authentication for our API.
It's called on every request (approximately 10,000 requests/minute).
Focus on security vulnerabilities and performance issues. We follow
PEP 8 and use type hints. Flag anything that wouldn't pass a security audit.
[paste the function with its imports and dependencies]
Example 3: Architecture
Bad prompt:
How should I build a chat app?
Good prompt:
I'm designing a real-time chat application for internal company use.
Requirements: 500 concurrent users, message persistence, read receipts,
file sharing up to 50MB, and integration with our existing SSO (Okta).
Tech stack: React frontend, Node.js backend, currently on AWS.
Team: 3 backend developers, 2 frontend developers, 4-month timeline.
Compare WebSocket vs. Server-Sent Events for the real-time component,
and recommend a message storage strategy that handles full-text search.
Frequently Asked Questions
Should I trust code that ChatGPT generates?
Never deploy AI-generated code without review and testing. ChatGPT produces code that compiles and often works correctly for common patterns, but it can introduce subtle bugs, use deprecated APIs, or miss edge cases. Treat it like code from a junior developer — the structure and approach may be sound, but verify the details. Always run tests and have a human review before merging.
Which programming languages does ChatGPT handle best?
ChatGPT performs strongest with popular languages that have large amounts of training data: Python, JavaScript/TypeScript, Java, C#, Go, Rust, and SQL. It handles frameworks like React, Django, Spring, and Express well. For niche languages or very new frameworks, the quality drops. When working with less common tools, provide more context and examples in your prompts.
Can ChatGPT help me learn programming from scratch?
ChatGPT is a good supplementary learning tool but shouldn’t be your only resource. It excels at explaining concepts, providing examples, and helping you debug code while you learn. However, it can’t replace structured curriculum, hands-on projects, and the struggle of solving problems yourself. Use it to get unstuck, not to avoid getting stuck in the first place.
How does ChatGPT compare to GitHub Copilot for coding?
They serve different purposes. Copilot integrates directly into your editor and excels at autocomplete-style suggestions as you type — it’s best for accelerating code you already know how to write. ChatGPT is better for longer conversations: debugging complex issues, discussing architecture, explaining concepts, and generating larger code blocks with context. Many developers use both.
Is it safe to paste my company’s code into ChatGPT?
Check your company’s AI usage policy first. Code entered into ChatGPT’s free and Plus tiers may be used for model training unless you opt out. Enterprise plans (ChatGPT Enterprise, API with data controls) offer stronger privacy guarantees. Never paste API keys, secrets, credentials, or highly proprietary algorithms regardless of the plan. When in doubt, anonymize the code or use your company’s approved AI tools.
Ready to get started?
Try ChatGPT Free →Find the Perfect AI Tool for Your Needs
Compare pricing, features, and reviews of 50+ AI tools
Browse All AI Tools →Get Weekly AI Tool Updates
Join 1,000+ professionals. Free AI tools cheatsheet included.