---
title: "How I use AI · Ihab Khattab"
description: "Why and how I use AI to write the posts on this site, and how I check the facts in them."
url: "https://ihabkhattab.com/ai/"
---

# How I use AI

Updated November 2026

Hi, I’m Ihab. I’m a frontend developer, and my first language is Arabic.

I want to share what I know. Some of it comes from my years of work. Some of it comes from long sessions with AI, where I ask about things I don’t know, and find things I didn’t even know I didn’t know.

I always wanted to write, but I kept putting it off. Writing in English means rephrasing every sentence many times. I’m also afraid of sharing wrong information. That one is a nightmare for me.

To show you how long I put it off: I wrote [Part 1 of my HTTP/2 series](https://ihabkhattab.com/blog/everything-i-didnt-know-about-http2-part-1/) six years ago. Once I got over my fear of using AI to write, I started writing much faster, and I’m happy about that. I’m not sure how you’ll feel about it, but to me these posts are mine, and AI is a tool I write them with, like my keyboard.

I never publish a post until I’ve read it and I’m sure I understand it. In some parts I’m a reader too: when I want to go deeper, I ask AI and learn along the way. AI also helps me build the demos and diagrams that make the posts easier to follow.

Claude rewrote this introduction from my draft to make the English clearer. You can read my draft below. Claude wrote the rest of this page from what I told it about how I work, and I read it before publishing.

Read my draft

Hi, I’m Ihab my mother tongue is Arabic. I’m frontend and I want to communicate the knowledge I have some of them comes from my years of experience and others are coming from long sessions with my AI agent/chat asking to learn more about things I don’t know and thing I even don’t knw I don’t know

I always wanted to write but I’m too lazy since I know I’d need to rephrase many times as I told you English is not my mother tongue, also I’m always afraid to communicate fals info this is a nightmare for me

to show you how lazy I’m I wirte first part 6 years ago and when I overcome the fair of using AI to write article my writing speed is increased now and I’m happy about this, I’m still not sure what do you think about this but I consider myslef is I own this and AI helped me in this, same as keyboard

I’d never let it publish without I read it and I’m sure I understand it well because in some parts I consider myself a reader as well, AI help me to go deeper in article when I asked

also it helps me make demos and diagrams that makes reading experience better

## How a post gets written

This covers my blog posts and my short TIL notes. It depends on when I wrote them, and the end of each one says which of these it was.

- **For my recent posts and TILs, Claude writes the first draft.** I give it my outline, notes, examples and code. Then I read the draft, change what doesn't say what I mean, and ask Claude to go deeper where I want to understand more.
- **A few posts I first published on Medium and LinkedIn earlier in 2026.** I wrote those with AI help too, before I moved them here.
- **One post I wrote in 2020, before I used AI tools.** When I moved it here, Claude reviewed it and fixed some parts.
- **Many TILs started as my tweets.** When I moved them here, Claude turned each one into a short note.

Either way, I pick the topics and the ideas, and I decide what every example, demo and diagram should show, even when Claude helps me build it. I read every sentence before I publish it, and I don't publish anything I don't understand.

## How I check facts

I don't want to teach you something wrong, so I use AI to check facts more than for anything else. For my interview series, [The Follow-Up](https://ihabkhattab.com/blog/deployed-but-users-see-the-old-version/), the rule is strict: every technical claim needs a source or a test before the post goes out.

- **A source** is a spec, MDN, caniuse or a vendor's own docs. AI helps me find it, but I read it myself. "The AI said so" doesn't count as a source.
- **A test** means I run the code in a browser and look at the result.

While I write, I mark any claim that has neither. The post stays a draft until none are left. I'm working toward the same rule for every post.

## What it takes

Using AI doesn't make a post quick. Here is what went into [What peerDependencies Actually Protect You From](https://ihabkhattab.com/blog/what-peerdependencies-actually-protect-you-from/), counted from my git history and my Claude sessions:

- **5 days** from my first question about the topic to publishing.
- **13 sessions** with Claude, and **157 messages** from me.
- **22 revisions**, each one a commit that changed only this post.
- **4,692 words written**, code included, for a post that kept 3,152.

Posts with a complete record show these numbers at the end. Older posts don't, because my session logs from before late October 2026 are gone, and a partial count would make them look like less work than they were.

## If you find a mistake

I still make mistakes, and so does AI. If you find one, [tell me on X](https://x.com/HO_BA) and I'll fix it and note the change in the post.

For example, a day after I published my AbortController post, a reader pointed out that [Question 7](https://ihabkhattab.com/blog/abortcontroller-is-not-just-for-fetch/#question-7-make-your-own-function-cancellable) was wrong: checking the signal inside a long loop can't stop it, because the Cancel click can't run until the loop ends. I tested it, fixed the section, and thanked them at the end of it.
