I get asked regularly about what AI tools I use. Rather than vague talk about “leveraging AI,” here’s exactly what’s in my toolkit and how each piece fits.
Cursor
My primary development environment. Cursor is built on VS Code with deep AI integration — it’s not just autocomplete, it’s a full conversation layer about your code.
What I actually use it for:
Tab completion with context. Better than GitHub Copilot’s tab completion because it understands more of your codebase. It completes whole functions, not just lines.
Inline editing with natural language. Select a function, describe what it should do differently. Cursor rewrites it. I review, modify if needed, accept.
Chat with codebase context. “What does this method return when the user is admin?” — Cursor can answer this about your actual codebase, not generically.
Generating files with context. “Create a test file for this controller following the same patterns as the existing tests.” It looks at your actual test files and follows the patterns.
The learning curve is about two weeks to develop effective habits. After that, I don’t want to go back to a regular IDE.
Claude (Anthropic)
Claude is my go-to for extended conversations about complex problems. A few specific use cases:
Architecture discussions. “I need to add multi-tenancy to this application. Here’s the current database structure and the requirements. What are my options?” Claude walks through trade-offs in a way that helps me think, not just code.
Code review. Paste a significant code change and ask “what could go wrong with this?” It finds things I missed, and more importantly, it makes me articulate why I disagree when I do.
Documentation writing. Technical specifications, API documentation, README files. I draft in bullet points and ask Claude to write prose.
Debugging help. Describing a bug in detail and asking for hypotheses about causes. Sometimes this works immediately; sometimes it just helps me organize my thinking.
I use the Claude API for some of this through integrations, and Claude.ai directly for conversational use.
GitHub Copilot
Still in my toolkit for specific use cases even though Cursor has overlapping functionality. Copilot is useful in contexts where I’m not in Cursor — editing files through the GitHub web interface, quick work in other editors.
The inline suggestion model is good for code that’s following an obvious pattern where I just need the words filled in. Less useful than Cursor for anything requiring understanding the full codebase.
n8n with AI Nodes
For client work that involves workflow automation, n8n is my primary tool. n8n has native AI integration — you can run OpenAI or Anthropic models as part of automation workflows.
Use cases I’ve built:
- Email parsing with AI to extract structured data from unstructured messages
- Invoice processing: OCR the document, AI extracts fields, structured data flows into accounting
- Support ticket classification and routing
- Content summarization pipelines
n8n’s visual workflow builder makes AI integration accessible to clients who want to modify their automations over time without developer involvement.
OpenAI API
For custom integrations that go into client applications. When I’m building a Rails application that needs AI capabilities, I typically use the OpenAI API directly (or Anthropic’s API) with a service object that abstracts the provider:
class AiService
def self.classify_document(text)
# Implementation behind abstraction layer
# Makes it easy to switch providers
end
end
The abstraction is important — AI providers and their capabilities are changing fast. Locking directly to one provider’s API surface makes switching expensive.
What’s Not in My Toolkit (and Why)
AI-generated images for client work. Not because the tools aren’t capable, but because design decisions should be made deliberately. AI-generated assets are fine for drafts and exploration, but production design needs human intent behind it.
AI for database migrations. I draft these carefully myself. A database migration that’s wrong can destroy data. Not a place for AI to take the lead.
AI for security configuration. Authentication setup, authorization rules, secret management — I do this by the book, with AI as a reference assistant at most.
Autonomous AI agents for production tasks. Not yet. The reliability isn’t there for unsupervised code deployment or database operations. AI helps me work; it doesn’t work independently on my clients’ production systems.
The Pattern Across All of These
Every tool in my AI toolkit is used by me, not instead of me. I’m the senior developer on every project. AI assists me in being faster and catching more things. The judgment, the responsibility, and the accountability remain human.
That’s not a limitation — it’s the right model for production software that businesses depend on.
Have questions about how AI-assisted development fits your project? Let’s talk.