# DevAIper > Practical AI for software engineers: courses, tutorials and blog posts on prompt engineering, the Claude API, MCP, evals and local LLMs. Hand-drawn, hype-free, with practical TypeScript examples. DevAIper is a YouTube channel (https://www.youtube.com/@devaiper) and this website. It teaches software engineers and tech leads how to use AI well: Claude Code, MCP, the Claude API, prompt and context engineering, RAG, agents, evals and local LLMs. - Every page is also available as plain Markdown: add `.md` to its URL. - Code examples are TypeScript unless stated otherwise. Each post opens with a short answer and ends with an FAQ. - Courses are free and released as YouTube playlists; the written lessons appear here as each video is published. - Please cite the page URL when you use this content. ## Start here - [AI agents vs workflows: what is the difference?](https://devaiper.com/blog/ai-agents-vs-workflows.md): A workflow follows steps you wrote. An agent decides its own steps in a loop. How to choose between them, with patterns, trade-offs and a simple decision checklist. - [Claude Code tutorial: what it is, install and first steps](https://devaiper.com/blog/what-is-claude-code.md): A Claude Code tutorial for beginners: what it is, how to install it, the agent loop it runs and five things to try first. One command to install, no API key needed. - [Claude Code vs Cursor vs GitHub Copilot: which to use?](https://devaiper.com/blog/claude-code-vs-cursor-vs-copilot.md): Claude Code, Cursor and GitHub Copilot compared by how you work, not by hype: terminal agent, AI-native editor or inline assistant, and how to choose or combine them. - [How to run an LLM locally: step by step with Ollama](https://devaiper.com/blog/how-to-run-llm-locally.md): Run an LLM on your own computer: check your RAM, install Ollama, pull a model, chat in the terminal and call it from code with a local API. No cloud, no API key. - [RAG vs fine-tuning vs MCP: which one do you need?](https://devaiper.com/blog/rag-vs-fine-tuning-vs-mcp.md): RAG adds knowledge, fine-tuning changes behavior, MCP connects tools and live data. A decision guide with a flowchart, a comparison table and the combinations that work. - [What is MCP? Model Context Protocol explained simply](https://devaiper.com/blog/what-is-mcp.md): MCP (Model Context Protocol) is an open standard that lets AI apps connect to tools and data. What it is, how it works, what servers offer and why developers care. ## Courses - [AI Fluency for developers: the 4D framework](https://devaiper.com/courses/ai-fluency.md): A practical course on working with AI effectively, efficiently, ethically and safely, built around the 4D framework: Delegation, Description, Discernment and Diligence. - [Building with the Claude API: a hands-on course](https://devaiper.com/courses/claude-api.md): Learn the Claude API from your first call to tools, RAG, caching, extended thinking, MCP and agents. Fifteen parts, each with a concept video and a hands-on build. - [MCP in Depth: build MCP servers in TypeScript](https://devaiper.com/courses/mcp-in-depth.md): A hands-on course on the Model Context Protocol. Build RepoPilot, an MCP server for git repositories, from your first tool to testing, securing and shipping it. - [What is MCP? Model Context Protocol explained](https://devaiper.com/courses/mcp-in-depth/what-is-mcp.md): What the Model Context Protocol is, how hosts, clients and servers fit together, and how to build and test a hello-world MCP server in TypeScript. - [LLM evals and observability: test AI features properly](https://devaiper.com/courses/llm-evals.md): Learn to build evals for LLM features: datasets, code and model graders, RAG and agent evals, CI, tracing and production monitoring, using a support-ticket triage bot. - [Local LLMs, hands-on: run models on your own machine](https://devaiper.com/courses/local-llms.md): Run LLMs locally with Ollama, llama.cpp and LM Studio. Hardware and memory math, quantization, using local models in code, local RAG and hybrid setups. ## Blog: Claude Code - [Claude Code skills vs hooks vs subagents vs MCP](https://devaiper.com/blog/claude-code-skills-hooks-subagents.md): CLAUDE.md, skills, subagents, hooks, MCP and plugins all extend Claude Code. What each one is for, how it loads into context and which to reach for first. - [Claude Code tips: 10 habits that get better results](https://devaiper.com/blog/claude-code-tips.md): Ten practical Claude Code habits: explore before editing, give it a way to verify, keep context clean, use permission modes and hooks, and write a short CLAUDE.md. - [Claude Code tutorial: what it is, install and first steps](https://devaiper.com/blog/what-is-claude-code.md): A Claude Code tutorial for beginners: what it is, how to install it, the agent loop it runs and five things to try first. One command to install, no API key needed. - [Claude Code vs Cursor vs GitHub Copilot: which to use?](https://devaiper.com/blog/claude-code-vs-cursor-vs-copilot.md): Claude Code, Cursor and GitHub Copilot compared by how you work, not by hype: terminal agent, AI-native editor or inline assistant, and how to choose or combine them. - [CLAUDE.md: how to write one that actually works](https://devaiper.com/blog/claude-md-guide.md): What CLAUDE.md is, where it goes, how /init and imports work, and a template of rules a coding agent follows. Includes what to leave out and how AGENTS.md fits in. - [How to add MCP servers to Claude Code (step by step)](https://devaiper.com/blog/claude-code-mcp-servers.md): Add MCP servers to Claude Code with claude mcp add: stdio and HTTP examples, local vs project vs user scope, .mcp.json, authentication, /mcp and safety tips. ## Blog: MCP - [Best MCP servers for developers: what to install first](https://devaiper.com/blog/best-mcp-servers.md): A practical shortlist of MCP servers developers use: GitHub, browser automation, docs lookup and filesystem access, plus how to vet any server before installing it. - [MCP security: the real risks and how to reduce them](https://devaiper.com/blog/mcp-security-risks.md): MCP servers run code on your behalf. The main risks are prompt injection, tool poisoning, excessive permissions and exposed HTTP endpoints, with concrete fixes for each. - [MCP vs API: what is the difference?](https://devaiper.com/blog/mcp-vs-api.md): An API is how your code talks to one service. MCP is a shared protocol that lets any AI app discover and call tools from many servers. Here is when to use each. - [What is MCP? Model Context Protocol explained simply](https://devaiper.com/blog/what-is-mcp.md): MCP (Model Context Protocol) is an open standard that lets AI apps connect to tools and data. What it is, how it works, what servers offer and why developers care. ## Blog: Claude API - [Claude API tutorial: your first call in TypeScript](https://devaiper.com/blog/claude-api-first-call-typescript.md): Make your first Claude API call in TypeScript: install the SDK, send a message, add a system prompt, keep a conversation, stream the reply and read token usage. - [How to get reliable JSON from an LLM (structured output)](https://devaiper.com/blog/how-to-get-json-from-an-llm.md): Four ways to get JSON from an LLM, from asking nicely to schema-enforced structured outputs, with a TypeScript and Zod example and what to do when parsing still fails. - [Prompt caching explained: cut your LLM costs](https://devaiper.com/blog/prompt-caching-explained.md): Prompt caching reuses a repeated prompt prefix at a fraction of the cost. How it works, where to put cache_control, what silently breaks it and how to verify hits. - [Tool use (function calling) in LLMs, explained with code](https://devaiper.com/blog/tool-use-function-calling-explained.md): How LLM tool use works: the model asks to call your function, your code runs it and returns the result. A TypeScript loop for the Claude API and the mistakes to avoid. ## Blog: Agents - [AI agents vs workflows: what is the difference?](https://devaiper.com/blog/ai-agents-vs-workflows.md): A workflow follows steps you wrote. An agent decides its own steps in a loop. How to choose between them, with patterns, trade-offs and a simple decision checklist. ## Blog: RAG - [RAG vs fine-tuning vs MCP: which one do you need?](https://devaiper.com/blog/rag-vs-fine-tuning-vs-mcp.md): RAG adds knowledge, fine-tuning changes behavior, MCP connects tools and live data. A decision guide with a flowchart, a comparison table and the combinations that work. - [What is RAG? Retrieval-augmented generation explained](https://devaiper.com/blog/what-is-rag.md): RAG gives an LLM your own documents at answer time: split, embed, search, then prompt. How the pipeline works, where it fails and how to make it accurate. ## Blog: Prompting - [Prompt engineering for developers: 8 techniques that work](https://devaiper.com/blog/prompt-engineering-techniques.md): Eight prompt engineering techniques that reliably improve LLM output: be specific, show examples, separate data with XML tags, define the format and test your prompts. - [What is context engineering? vs prompt engineering](https://devaiper.com/blog/what-is-context-engineering.md): Context engineering is deciding what goes into an LLM's context window: instructions, data, tools and history. How it differs from prompt engineering, with examples. ## Blog: Evals - [LLM evals explained: how to test AI features properly](https://devaiper.com/blog/llm-evals-explained.md): LLM evals are repeatable tests for AI features: a dataset, a grader and a score. How to build your first eval with code graders and an LLM judge, in TypeScript. ## Blog: Local LLMs - [How much RAM do you need to run an LLM locally?](https://devaiper.com/blog/how-much-ram-to-run-an-llm-locally.md): Estimate the memory a local LLM needs: parameters times bits per weight, plus context and overhead. Includes a size table for 7B to 70B models and GPU vs CPU notes. - [How to run an LLM locally: step by step with Ollama](https://devaiper.com/blog/how-to-run-llm-locally.md): Run an LLM on your own computer: check your RAM, install Ollama, pull a model, chat in the terminal and call it from code with a local API. No cloud, no API key. - [Ollama vs LM Studio vs llama.cpp: which should you use?](https://devaiper.com/blog/ollama-vs-lm-studio-vs-llama-cpp.md): Compare Ollama, LM Studio and llama.cpp for running LLMs locally: setup, interface, API, performance and who each is best for, with a clear recommendation. - [What is LLM quantization? Q4 vs Q8 explained](https://devaiper.com/blog/what-is-llm-quantization.md): Quantization stores a model's weights in fewer bits so it fits in less memory and runs faster. What Q4, Q8 and GGUF mean and how much quality you give up. ## Blog: Fundamentals - [How to catch AI hallucinations in your code](https://devaiper.com/blog/how-to-catch-ai-hallucinations-in-code.md): AI invents functions, flags and packages that do not exist. Seven checks that catch hallucinated code before it reaches production, plus how to prompt to reduce them. - [The 4D framework: how to stop prompting like a beginner](https://devaiper.com/blog/4d-framework-ai-fluency.md): Delegation, Description, Discernment, Diligence: four habits that explain why some developers get great results from AI and others just pull the lever and pray. - [Vibe coding vs AI-assisted engineering: when to use each](https://devaiper.com/blog/vibe-coding-vs-ai-assisted-engineering.md): Vibe coding means accepting AI code without reading it. AI-assisted engineering means you own the design, the review and the tests. Where each fits and where it breaks. ## About the site - [About DevAIper: AI for software engineers](https://devaiper.com/about.md): DevAIper is a YouTube channel and website by Belgacem Aloui that teaches developers to use AI well: Claude Code, MCP, the Claude API, evals and local LLMs. - [Contact Belgacem Aloui](https://devaiper.com/contact.md): How to contact Belgacem Aloui at DevAIper: email for questions, corrections, collaboration and privacy requests, plus the YouTube channel for comments. - [Privacy Policy](https://devaiper.com/privacy.md): How DevAIper handles your data: server logs, cookies, Google AdSense advertising and your choices, including consent for visitors in the EEA and UK. - [Terms of Use](https://devaiper.com/terms.md): The terms for using devaiper.com: content and code usage, no-warranty disclaimer for tutorials, third-party links, advertising and how to contact us. ## Optional - [Full content in one file](https://devaiper.com/llms-full.txt): every course and post in a single Markdown document - [Sitemap](https://devaiper.com/sitemap.xml): all canonical URLs with last-modified dates - [RSS feed](https://devaiper.com/rss.xml): new posts with full text