Build Your First Web App

The Non-Developer's Guide to Shipping Real Software in 2026

Git, Cloudflare, API Keys, and AI Tools - Everything Nobody Explained to You

Written from Real Experience:
  • ✓ Migrated legacy CMS sites to static hosting on GitHub + Cloudflare
  • ✓ Built functional web applications with Cloudflare Workers
  • ✓ Did it all using AI tools as a non-traditional developer
  • ✓ This guide comes from real shipping, not theory

The infrastructure guide that bridges AI tools and the developer ecosystem

Who This Guide Is For

You've seen the posts on Twitter/X. Someone shares a screenshot of a web application they built over the weekend. The comments are full of excitement. Then you read the words: "I just described what I wanted to Claude and it built the whole thing."

And you think: I could do that.

But then you try. And immediately hit a wall. The AI gives you code, but... where do you put it? The tutorial mentions "pushing to GitHub" - what does that mean? Someone says "just deploy it to Cloudflare Pages" as if that explains anything. You Google "how to deploy a website" and fall into a rabbit hole of conflicting advice, outdated tutorials, and assumed knowledge you don't have.

This guide is for you.

You're comfortable with technology. You use Canva, Mailchimp, maybe QuickBooks. You've probably written some basic HTML at some point. You're not afraid of computers. But you've never used Git, never deployed to a server, never touched an API key, and the developer ecosystem feels like a foreign country where everyone speaks a language you almost-but-don't-quite understand.

💡 You Might Be...
  • A small business owner who wants to build custom tools instead of paying monthly SaaS fees
  • A content creator who wants a unique website, not another Squarespace template
  • A solopreneur who sees "vibe coding" posts and wants to join in
  • An aspiring indie hacker with ideas but no traditional coding background
  • Anyone who's comfortable with AI chat tools and ready for the next level

What This Guide Is NOT

This is not a coding tutorial. This is not "Learn JavaScript in 30 Days." You won't write much code yourself - that's what AI is for.

This is the guide that explains the ecosystem. The accounts you need. The tools you install. The concepts you need to understand. How everything connects. It's the prerequisite knowledge that every vibe coding tutorial assumes you already have.

Think of it this way: AI can write the code, but you need to know where to put it, how to save it safely, and how to get it onto the internet. That's what this guide teaches.

🎯 The Promise

By the end of this guide, you'll be able to deploy a real web application that lives on the internet, for free, that you can update by having a conversation with AI. You'll understand the infrastructure underneath - not because you need to become an expert, but because understanding the plumbing means you can fix things when they break.

Chapter 1: The Moment We're In (And Why You're Reading This Now)

It's February 2026. Something unprecedented has happened, and most people haven't noticed yet.

For the first time in history, non-developers can build and deploy real, functional web applications. Not toy projects. Not limited prototypes. Actual software that does useful things, runs on the internet, and works reliably.

Three things converged to make this possible:

🤖
AI tools that can write production-quality code
☁️
Free infrastructure to host it
🖥️
Visual tools that remove the command line barrier

What "Vibe Coding" Actually Means

In early 2025, Andrej Karpathy - one of the original OpenAI researchers, former Tesla AI director, and generally one of the smartest people in the field - coined the term "vibe coding." He was describing his own experience: writing software not by typing code character by character, but by having conversations with AI, describing what he wanted, and letting the AI generate the implementation.

By January 2026, he posted an update that should make you sit up straight:

"I really am mostly programming in English now."

This isn't a random influencer making bold claims. This is someone who could hand-write neural networks from scratch choosing to describe what he wants in plain language instead. The tools have gotten that good.

Boris Cherny, an engineer at Anthropic itself, shared something even more striking: "Pretty much 100% of our code is written by Claude Code + Opus 4." The company building the AI is using the AI to build the company.

The Gap This Guide Fills

Here's the problem: AI tutorials assume you have developer knowledge. Developer tutorials assume you don't have AI. Both leave you stranded in the middle.

When someone on Twitter says "just have Claude write a contact form and deploy it to Cloudflare," they're assuming you know:

  • What files Claude should create
  • Where to save those files
  • What Git is and why you need it
  • How to get files from your computer to GitHub
  • What Cloudflare is and how deployment works
  • What an API key is if your form needs to send email
  • How to keep secrets out of public code

That's a lot of assumed knowledge. And if you don't have it, you can't even get started.

📝 Author's Note

I'm writing this guide because I was you recently. I figured this all out the hard way - weeks of confused Googling, frustrating dead ends, asking Claude "what do you mean by 'push to your repo'?" more times than I care to admit. I built and deployed multiple real websites using exactly this stack. This guide is everything I wish someone had told me upfront.

What You'll Be Able to Do

By the end of this guide, you'll understand the complete pipeline from "I have an idea" to "it's live on the internet." Specifically, you'll be able to:

  1. Describe what you want to build to an AI tool
  2. Save the generated code properly using Git
  3. Push your code to GitHub where it's stored safely
  4. Deploy automatically to Cloudflare so it's live on the internet
  5. Iterate by having more conversations with AI and repeating the cycle

The first time you push code to GitHub and see your site update automatically on Cloudflare... it never gets old. There's something magical about describing what you want in English, and then seeing it exist on the internet minutes later.

🏆 Vibe Coding Professional Standards: Start Right From Day One

Here's something important: the practices in this guide aren't "training wheels" you'll abandon later. They're professional standards from day one.

Many vibe coding tutorials treat Git, GitHub, and proper deployment as optional extras - things to add "when you're serious." This is backwards. These aren't advanced topics. They're the foundation that makes everything else work.

The Professional Stack (which you're learning):

  • Mandatory version control: Every change tracked, every mistake reversible
  • Automated deployment: Push to GitHub, live on the internet - no manual steps
  • Instant rollback: Something breaks? Revert to the last working version in seconds
  • Production-ready infrastructure: Cloudflare serves millions of requests. Your site runs on the same platform.

When you see someone's "vibe coded" project fall apart, it's usually because they skipped these foundations. They built something cool but couldn't maintain it, couldn't fix problems, couldn't collaborate. Don't be that person. The workflow in this guide scales from weekend projects to serious applications.

Chapter 2: The Map - Understanding How Web Applications Actually Work

Before we dive into specific tools, let's build a mental model of how web applications work. This chapter demystifies the full picture so that when something goes wrong (and it will), you'll know where to look.

What Happens When Someone Visits a Website

When you type a URL into your browser and press Enter, here's what happens in roughly one second:

The Journey of a Web Request
You type URL
DNS lookup
Server found
Files sent back
Browser renders
  1. DNS lookup: Your browser asks "what's the IP address for this domain?" Think of DNS as the internet's phone book - it translates human-readable names (like example.com) into computer-readable numbers (like 104.21.55.162).
  2. Connection: Your browser connects to the server at that IP address.
  3. Request: Your browser asks for specific files (usually starting with index.html).
  4. Response: The server sends back HTML, CSS, JavaScript, and images.
  5. Rendering: Your browser turns those files into the page you see.

This entire process happens in under a second for most websites. Understanding it helps you troubleshoot: if your site isn't loading, is it a DNS problem? A server problem? A file problem?

Three Types of Web Applications

Not all websites are built the same way. Understanding these categories helps you know what you're building:

Static Sites

Pre-built HTML files served directly. No processing on the server.

  • Portfolios, blogs, documentation
  • Fastest, most secure, cheapest to host
  • Content changes require re-deploying
Dynamic Applications

Server generates pages on-the-fly based on requests.

  • E-commerce, social media, dashboards
  • Can show different content to different users
  • More complex, requires server management

There's also a third category that's become increasingly important:

⚡ Serverless: The Best of Both Worlds

Serverless (sometimes called "edge functions" or "workers") lets you run code without managing a server. You write small functions that execute when needed, and a platform like Cloudflare handles all the infrastructure.

This is the magic that lets non-developers build dynamic functionality. You get the simplicity of static sites with the power of dynamic applications. Cloudflare Workers (which we'll cover in Chapter 6) is the tool that makes this accessible.

Front-End vs. Back-End

You'll hear these terms constantly. Here's the simplest explanation:

Front-End Back-End
What users see and interact with What runs on the server, invisible to users
HTML, CSS, JavaScript Databases, APIs, server logic
Runs in the browser Runs on a server (or serverless function)
"The restaurant dining room" "The kitchen"

For many projects, you might only need front-end code. A portfolio site, a landing page, a simple blog - these can be entirely front-end. But the moment you need to send emails, save data, or process payments, you need back-end logic. That's where serverless functions come in.

Where Your Code Lives

Understanding the journey of your code is crucial:

The Code Journey
Your Computer
GitHub
Cloudflare
The Internet
  1. Your Computer: Where you create and edit files (with AI's help)
  2. GitHub: Where your code is stored safely in the cloud, with full version history
  3. Cloudflare: Where your application actually runs and serves visitors
  4. The Internet: Where anyone with the URL can access your application

The beautiful part: once you set this up, the flow from GitHub to Cloudflare to the Internet is automatic. You push code to GitHub, and within minutes it's live. No manual deployment steps.

The Development Pipeline

Here's the workflow you'll use hundreds of times:

🔄 Write → Save → Push → Deploy → Live

  1. Write: Create or modify files (AI helps here)
  2. Save: Commit your changes in Git (creating a snapshot)
  3. Push: Send your commits to GitHub
  4. Deploy: Cloudflare automatically builds and deploys
  5. Live: Your changes are on the internet

This might seem like a lot of steps, but each one exists for a reason. And once you've done it a few times, it becomes muscle memory. The whole cycle can take less than a minute.

💡 Why This Matters

When something goes wrong - and it will - understanding this map helps you diagnose the problem. Site not loading? Check if the deploy succeeded on Cloudflare. Deploy failed? Check if the push succeeded on GitHub. Can't push? Check your local Git status. Each step in the pipeline is a checkpoint you can verify.

Chapter 3: Your Developer Toolkit - The Free Accounts You Need

Before you can build anything, you need to set up your toolkit. The good news: almost everything is free. Let's walk through each account and tool, explaining what it does and why you need it.

GitHub Free

🛠️ Tool Spotlight: GitHub

Website: github.com
Cost: Free for everything you need
What it is: Cloud storage for code with superpowers

Think of GitHub as Google Drive for code, but with three crucial additions:

  • Version history: Every change you've ever made is saved and reversible
  • Collaboration: Multiple people can work on the same code without conflicts
  • Deployment triggers: Other services (like Cloudflare) can automatically deploy when you push new code

Even if you're working alone, GitHub's version history is invaluable. When AI generates code that breaks something, you can roll back to a working version instantly.

📝 Setup Steps
  1. Go to github.com
  2. Click "Sign Up"
  3. Create an account with your email
  4. Verify your email address
  5. You're done - everything else can wait

Cloudflare Free

🛠️ Tool Spotlight: Cloudflare

Website: cloudflare.com
Cost: Free tier is absurdly generous
What it is: Your application's home on the internet

Cloudflare is where your website actually lives and runs. Their free tier includes:

  • Cloudflare Pages: Host unlimited static sites with unlimited bandwidth
  • Cloudflare Workers: Run serverless code (100,000 requests/day free)
  • Free SSL: Your site gets https:// automatically
  • Global CDN: Your site loads fast from anywhere in the world
  • Free subdomain: yourproject.pages.dev at no cost

We'll dive deep into Cloudflare in Chapter 6. For now, just create an account.

📝 Setup Steps
  1. Go to cloudflare.com
  2. Click "Sign Up"
  3. Create an account (use the same email as GitHub for simplicity)
  4. You don't need to add a domain yet - skip that for now

Claude Pro $20/month

🛠️ Tool Spotlight: Claude

Website: claude.ai
Cost: Free tier available, Pro at $20/month recommended
What it is: Your AI development partner

Claude is where you'll spend most of your time. The Pro subscription ($20/month) is the only paid tool I consider essential for this workflow. Here's what you get:

  • Claude.ai chat: For planning, writing code, debugging, understanding errors
  • Cowork: Works on local files in a sandboxed environment - perfect for non-developers (macOS only currently)
  • Claude Code access: Terminal-based coding agent for when you're ready to level up
  • Higher limits: Free tier runs out fast when you're actively building

If you're on a tight budget, start with the free tier to validate that this approach works for you. But expect to upgrade quickly once you start building.

VS Code Free

🛠️ Tool Spotlight: Visual Studio Code

Website: code.visualstudio.com
Cost: Free
What it is: The text editor where you view and edit code files

VS Code is a text editor designed for code. You mostly need it to:

  • View the files AI generates
  • Make small edits when needed
  • Understand the structure of your project

Don't let VS Code intimidate you. You don't need to master it. Think of it like how you use Microsoft Word - you can create documents without knowing every feature. Same principle.

💡 Pro Tip

When you first open VS Code, it might suggest installing extensions. You don't need any to get started. Just open your project folder (File → Open Folder) and explore the files. That's enough for now.

GitHub Desktop Free

🛠️ Tool Spotlight: GitHub Desktop

Website: desktop.github.com
Cost: Free
What it is: Visual interface for Git that makes it not terrifying

Git from the command line is confusing. GitHub Desktop gives you buttons and visual feedback instead. You'll use it to:

  • See what files you've changed
  • Commit your changes (save a snapshot)
  • Push to GitHub (upload to the cloud)
  • Pull updates (download if working on multiple computers)

This single tool removes about 80% of the frustration new developers face with Git.

Optional: Custom Domain $10-15/year

You don't need a custom domain to get started. Cloudflare gives you a free subdomain like yourproject.pages.dev. But if you want yourbusiness.com, you'll need to buy a domain.

Cloudflare sells domains at cost (no markup) and makes setup seamless. Namecheap is another good option. Budget $10-15/year.

Optional: ChatGPT Plus $20/month

OpenAI's ChatGPT is an alternative to Claude. Some people prefer it. Their Codex agent can work on multiple tasks in parallel and integrates with GitHub. It's not essential - Claude is enough - but good to know about.

Your Toolkit Summary

Tool Cost Purpose
GitHub Free Store your code in the cloud
Cloudflare Free Host your applications
Claude Pro $20/month Your AI partner for building
VS Code Free View and edit code files
GitHub Desktop Free Visual Git interface
Custom domain $10-15/year Optional: your own URL

Total to get started: $20/month (just Claude Pro - everything else is free)

Chapter 4: Git and GitHub - Version Control for Humans

This chapter might save you more confusion than any other. Git is the #1 barrier to entry for non-developers. It doesn't have to be.

What Git Actually Is

Git is a system that tracks every change you make to your files, so you can always go back. That's it. That's the core concept.

Think of it like "Save As" but smarter. Instead of having files named website_v1.html, website_v2.html, website_final.html, website_FINAL_FINAL.html... you have one file, and Git remembers every version automatically.

📝 Author's Note

Git was created by Linus Torvalds (who also created Linux) to manage the Linux kernel codebase. It's designed for thousands of developers working on millions of lines of code. The good news: you can ignore 95% of what Git can do. The bad news: most tutorials teach all of it. This chapter teaches only what you need.

Why Git Matters Even More With AI

When AI generates code, you need a safety net. Sometimes AI will:

  • Make a change that breaks something that was working
  • Overwrite code you actually wanted to keep
  • Generate something that doesn't work and needs to be undone

Git IS that safety net. Every commit is a checkpoint you can return to. When Claude generates code that breaks your site, you don't panic - you revert to the last working commit and try again.

The 6 Git Concepts You Actually Need

Ignore everything else. These six concepts cover 99% of what you'll do:

📁 1. Repository ("Repo")

A project folder that Git is tracking. When you "create a repository," you're telling Git "watch this folder and track all changes to files inside it."

Analogy: A repo is like declaring a folder as a "watched folder" in a backup system.

💾 2. Commit

A snapshot of your project at a specific moment. Each commit has a message describing what changed.

Analogy: Like saving a game. You can always load an earlier save if the current one goes wrong.

⬆️ 3. Push

Sending your saved commits from your computer to GitHub. Your computer → the cloud.

Analogy: Like syncing your phone photos to iCloud.

⬇️ 4. Pull

Getting the latest version from GitHub to your computer. The cloud → your computer.

Analogy: Like downloading the latest version of a shared Google Doc.

🌳 5. Branch

A separate copy of your project to experiment on without affecting the main version.

Analogy: Like making a copy of a document to try different edits, while keeping the original safe.

🤝 6. Merge

Combining changes from one branch back into another (usually merging your experiment into main).

Analogy: Taking the edits from your draft copy and applying them to the original.

That's it. Six concepts. You don't need to know about rebasing, cherry-picking, stashing, or any of the advanced Git features. Those exist for complex team scenarios.

GitHub Desktop Walkthrough

Let's create your first repository step by step:

📝 Creating Your First Repository
  1. Open GitHub Desktop - If this is your first time, sign in with your GitHub account
  2. File → New Repository - Click this in the menu bar
  3. Name it - Something like "my-first-project" (no spaces, use dashes)
  4. Choose a location - Pick a folder on your computer where project folders will live
  5. Initialize with README - Check this box (it creates a starting file)
  6. Create Repository - Click the button

🎉 You now have a Git repository on your computer!

📝 Making Your First Commit
  1. Add a file - Create a simple file in your project folder (or have AI create one for you)
  2. See the change - GitHub Desktop automatically shows new/modified files on the left
  3. Write a message - In the bottom left, write a short description like "Add homepage"
  4. Commit - Click the "Commit to main" button

🎉 You've saved a snapshot of your project!

📝 Pushing to GitHub
  1. Publish repository - First time only: click "Publish repository" in the top bar
  2. Keep it private? - Uncheck "Keep this code private" if you want it public
  3. Publish - Click the publish button
  4. Future pushes - After the first publish, just click "Push origin" to sync new commits

🎉 Your code now lives on GitHub!

The .gitignore File: Your First Security Practice

Some files should NEVER be uploaded to GitHub. API keys, passwords, secret configuration - these need to stay on your computer only. The .gitignore file tells Git to ignore certain files.

Every project should have a .gitignore file that includes at minimum:

# Environment variables (secrets!)
.env
.env.local
.env.production

# Operating system files
.DS_Store
Thumbs.db

# Editor folders
.vscode/
.idea/

# Dependencies (can be regenerated)
node_modules/
🚨 Critical Warning

If you accidentally commit an API key or secret to GitHub, consider it compromised - even if you delete it immediately. Git history preserves everything. You must revoke that key and generate a new one. We'll cover API key security more in Chapter 5.

What To Do When Something Goes Wrong

It will. Here are the most common scenarios:

"I made changes but broke everything"

  • In GitHub Desktop, right-click the changed file(s) and select "Discard Changes"
  • This restores them to the last committed version

"I committed something I shouldn't have"

  • If you haven't pushed yet: Right-click the commit in History → "Undo Commit"
  • If you already pushed: Ask Claude "how do I remove [file] from my Git history"

"It says I have a merge conflict"

  • This happens when the same part of a file was changed in two places
  • Don't panic. GitHub Desktop will show you the conflicts
  • You choose which version to keep (or combine them manually)
💡 Mental Model

Git is not a coding tool. It's a "save game" system for any collection of files. You could use Git to track versions of essays, designs, or any files you want history on. The fact that it's primarily used for code is incidental to what it actually does: track changes over time.

Chapter 5: API Keys - The Passwords to the Internet's Services

The moment you want your application to do something - send an email, save data, process payments, use AI - you'll encounter API keys. Understanding them is non-negotiable.

What an API Is

API stands for Application Programming Interface. It's how software talks to other software. That's literally it.

When you use a website's interface, you're clicking buttons and filling forms. When software uses an API, it's doing the same thing programmatically. Instead of you clicking "send email," your code sends a request to an email API that says "send this email to this person."

📋 Real Example

You want your contact form to send you an email when someone submits it. Your form can't actually send emails by itself - it's just HTML. So it talks to an email service (like Resend or SendGrid) through their API: "Hey, send this message to [email protected]."

What an API Key Is

An API key is your personal password that identifies YOU when your application talks to a service.

Why does the service need to know who's making requests?

  • Billing: Many APIs charge per use. They need to know who to charge.
  • Rate limits: Services limit how many requests you can make. They track this per key.
  • Security: If someone abuses the service, they can disable that specific key.
  • Access control: Different keys can have different permissions.

Where You'll Encounter API Keys

Service Type Example What You'd Build
AI services Anthropic, OpenAI App that uses AI to generate content
Email services Resend, SendGrid Contact form that emails you
Payment processing Stripe Checkout or subscription system
Storage Cloudflare R2, AWS S3 App that saves user uploads
Authentication Auth0, Clerk App with user accounts

The "Never Do This" Section

🚨 Critical: API Key Security Rules
  • NEVER put API keys in code files that go to GitHub. Public repos are PUBLIC. Bots scan GitHub constantly looking for exposed keys.
  • NEVER share API keys in screenshots, messages, or emails. Treat them like passwords.
  • NEVER commit a .env file to Git. This file holds your secrets and must stay local.
  • NEVER paste API keys directly in front-end JavaScript. Users can see your front-end code in their browser.

I cannot stress this enough. The #1 way people get their accounts compromised or run up huge bills is exposed API keys. Services like Anthropic and OpenAI will automatically disable keys they detect in public repositories, but you shouldn't rely on that safety net.

How to Handle API Keys Safely

Environment variables are the solution. They're like secret settings your app can read, but that don't appear in your code.

The pattern works like this:

  1. Create a .env file in your project (on your computer only)
  2. Put your keys there: ANTHROPIC_API_KEY=sk-ant-your-key-here
  3. Add .env to .gitignore so it never gets uploaded
  4. Your code reads from environment variables instead of having keys written directly in it
# .env file (NEVER commit this)
ANTHROPIC_API_KEY=sk-ant-api03-xxxxx
RESEND_API_KEY=re_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx

For deployed applications on Cloudflare Workers, you use Secrets instead of .env files. The Cloudflare dashboard has a section for encrypted environment variables that your Worker can access but that never appear in your code.

What To Do If You Accidentally Expose a Key

It happens to everyone. Here's the damage control process:

  1. Revoke immediately. Go to the service's dashboard and disable/delete that key.
  2. Generate a new one. Create a fresh key to replace the compromised one.
  3. Check for damage. Look at usage logs to see if the key was abused.
  4. Remove from Git history. If you committed the key, removing it from current files isn't enough - it's in the history. Ask Claude how to clean Git history.
  5. Update your application. Replace the old key with the new one in your environment variables.
⚠️ Cost Awareness

Most APIs have generous free tiers, but some charge per use. Before integrating any API, check their pricing page. The Anthropic API, for example, charges per token processed. A runaway script or exposed key could run up significant bills. Set up billing alerts where available.

Chapter 6: Cloudflare - Your Free Application Platform

If GitHub is where your code lives, Cloudflare is where your application lives. This is the secret weapon that makes the free + powerful combination possible.

Why Cloudflare Is the Answer for Non-Developers

  • Free tier is absurdly generous - Unlimited bandwidth, unlimited sites, 100K Worker requests/day
  • Easy deployment from GitHub - Connect once, auto-deploy forever
  • Global CDN included - Your site loads fast from anywhere
  • Free SSL/HTTPS - Security handled automatically
  • No server management - You never touch a Linux box

Compare this to traditional hosting where you'd pay $5-20/month minimum, configure servers, worry about security updates, and manually deploy changes. Cloudflare handles all of that at no cost for most use cases.

Cloudflare Pages: For Static Sites and Front-End Applications

🛠️ Tool Spotlight: Cloudflare Pages

What it is: Hosting for static websites with auto-deploy from GitHub
Free tier includes: Unlimited sites, unlimited bandwidth, 500 deploys/month
Perfect for: Portfolios, landing pages, documentation, blogs, front-end apps

Cloudflare Pages takes your code from GitHub and turns it into a live website. The magic: every time you push to GitHub, Cloudflare automatically rebuilds and redeploys your site. No manual steps.

📝 Deploy Your First Site (Under 10 Minutes)
  1. Go to Cloudflare dashboard - Log in at dash.cloudflare.com
  2. Click "Workers & Pages" - In the left sidebar
  3. Click "Create" - Then select "Pages"
  4. Connect to Git - Authorize Cloudflare to access your GitHub
  5. Select your repository - Choose the project you want to deploy
  6. Configure build settings - For simple HTML sites, you can leave defaults
  7. Deploy - Click the button and watch it build

Your site is now live at your-project.pages.dev!

Cloudflare Workers: The Serverless Magic

🛠️ Tool Spotlight: Cloudflare Workers

What it is: Run server-side code without managing a server
Free tier: 100,000 requests per day, 10ms CPU time per request
Perfect for: Contact forms, API endpoints, data processing, authentication

"Serverless" means your code runs on Cloudflare's computers, not yours. You don't rent a server, configure anything, or worry about it crashing. You write a function, deploy it, and Cloudflare runs it whenever someone calls it.

This is what lets you add dynamic functionality without becoming a systems administrator.

What can you build with Workers?

  • Contact form handlers that email you submissions
  • API proxies that hide your API keys from the front-end
  • Data processing that transforms information
  • Authentication systems that manage user sessions
  • Webhooks that respond to external events
📋 How Pages + Workers Work Together

Cloudflare Pages serves your front-end: the HTML, CSS, and JavaScript that users see in their browser.

Cloudflare Workers handle the back-end logic: sending emails, saving to databases, processing payments.

Your front-end makes requests to your Worker, which does the server-side work and sends back a response. All on the same platform, same dashboard, same account.

🔄 The 2026 Convergence: Pages and Workers Are Merging

Here's something important to understand: Cloudflare has been converging Pages and Workers into a more unified experience. Workers can now host and serve static assets directly, allowing a single deployment unit for both front-end and back-end logic.

What this means for you:

  • Use Pages for simple marketing sites, portfolios, and static content where you want dead-simple CI/CD from GitHub. Push code, site updates. Done.
  • Graduate to Workers when your application needs stateful logic, complex routing, database interactions, or dynamic server-side rendering. Workers give you full control.

For most projects in this guide, starting with Pages + a separate Worker is the clearest mental model. As you get more comfortable, you may consolidate into a Workers-first architecture.

Cloudflare's Full Ecosystem

Cloudflare offers additional services that work seamlessly together:

Service What It Does Free Tier
Workers KV Simple key-value storage (like a dictionary) 100K reads/day, 1K writes/day
D1 SQLite database for structured data 5GB storage, 5M rows read/day
R2 File/image storage 10GB storage, zero egress fees
Queues Background job processing 1M messages/month

The ecosystem advantage: everything works together. One dashboard, one account, consistent interfaces. When you outgrow the free tier (which takes significant traffic), the paid tier is $5/month for Workers Paid - still remarkably affordable.

When You Need Workers Paid ($5/month)

The free tier handles most small business use cases. You might need paid when:

  • You exceed 100K requests/day (that's substantial traffic)
  • You need more than 10ms CPU time per request (complex processing)
  • You want better debugging and analytics
  • You need scheduled tasks (cron triggers)
📝 Author's Note

I use Cloudflare Pages for all my static sites - they're fast, reliable, and cost nothing. For sites that need dynamic functionality, I add Workers. The auto-deploy from GitHub means I can update my sites by pushing code, without ever touching a server. It's the closest thing to magic I've found in web development.

Chapter 7: Your AI Development Team - Choosing the Right Tool

The AI landscape for building applications is evolving rapidly. Here's what you need to know as of February 2026.

Claude (Anthropic)

🛠️ Tool Spotlight: Claude Ecosystem

Claude.ai chat: Planning, writing code, debugging, understanding errors
Cowork: Operational product for business users - friendly UI, local file access, no terminal needed
Claude Code: Agentic tool for developers - terminal-based, maximum power, full system access
Cost: Pro $20/month, Max $100/month (higher limits)

Claude is my primary recommendation for this workflow. The key distinction to understand: Cowork is the operational product designed for business users, while Claude Code is the agentic tool for those comfortable in the terminal.

Claude.ai chat is where you'll do most of your planning and prototyping. Describe what you want, get code back, iterate through conversation. Great for understanding code, debugging errors, and learning concepts.

Cowork (launched January 2026, expanded to Pro users January 16) is specifically designed to lower the adoption barrier for non-technical users. It provides a friendly graphical interface for working with files on your computer - no terminal, no command line, no scary black screen. Point it at a folder, describe what you want in plain English, and it creates files for you. Both Cowork and Claude Code can plan and execute complex multi-step workflows, but Cowork does it through a visual interface that feels familiar to anyone who uses desktop applications. This is the tool most readers of this guide should start with.

Claude Code is the power tool for those ready to graduate to the terminal. It runs as a command-line application and can execute shell commands, run tests, manage Git operations, and interact with your full development environment directly. Over $1B in annualized revenue by late 2025 - it's what professional developers are using. But it requires comfort with terminal basics. If you're not there yet, Cowork gets you 80% of the capability with 20% of the learning curve.

💡 Which Should You Use?

New to all this? Start with Cowork. Its visual interface removes friction and lets you focus on what you're building, not how to use developer tools.

Comfortable with command line? Claude Code gives you more power and flexibility, especially for complex projects with testing, deployment scripts, and multi-file refactoring.

Not sure? Try Cowork first. You can always graduate to Claude Code later - the skills transfer.

ChatGPT/Codex (OpenAI)

🛠️ Tool Spotlight: ChatGPT Ecosystem

ChatGPT: Conversation-based coding, good for brainstorming and planning
Codex: Cloud-based agent that works on multiple tasks in parallel, GitHub integration
Cost: Plus $20/month, Pro $200/month

OpenAI's Codex is interesting because it runs in the cloud (not on your computer) and can work on multiple tasks simultaneously. It integrates directly with GitHub, which some people find convenient. The CLI version is open source.

When to Use What

Task Best Tool Why
Planning architecture Claude.ai or ChatGPT Conversation is perfect for exploration
Creating files/projects Cowork No terminal, works on local files
Building and deploying Claude Code or Codex More powerful, can run commands
Debugging errors Claude.ai chat Paste error, get explanation and fix
Quick prototypes Any Personal preference

The Conversational Development Workflow

Here's how the actual process works:

🔄 The Vibe Coding Loop

  1. Describe - Tell AI what you want in plain English ("I need a contact form that sends me an email")
  2. Generate - AI writes the code
  3. Review - Look at what was created, ask questions if confused
  4. Iterate - "Make the button blue," "Add error handling," "That's not quite right, try..."
  5. Save - Commit to Git when you have something working
  6. Push - Send to GitHub
  7. Deploy - Cloudflare auto-deploys
  8. Repeat - Keep building, keep improving

The key insight: you're having a conversation, not writing specifications. You can be vague. You can change your mind. You can say "actually, let's try something different." The AI adapts.

The Consensus Rule: Your Virtual Development Team

Here's a technique that dramatically improves code quality: don't rely on a single AI. Use multiple models to cross-check each other's work.

The Multi-Model Verification Workflow
Claude writes code
ChatGPT reviews
Gemini verifies
Consensus = Ship

You're not just chatting with AI - you're managing a virtual development team.

💡 Pro Tip: The Consensus Rule

After Claude generates code for your project, paste it into ChatGPT or Gemini for review. Each AI model has different strengths and blind spots. When all three agree the code looks good, you can ship with much higher confidence. When they disagree, you've found something worth investigating.

This isn't paranoia - it's the same principle as code review in professional teams. You're just using AI reviewers instead of human colleagues.

📋 Copy-Paste: The Consensus Review Prompt

Use this exact prompt when sending code to your second (or third) AI for review:

I am using [Claude/ChatGPT/Gemini] to build a [describe your project]
on Cloudflare. Here is the code it just generated:

[Paste Code Here]

As an expert Security and Performance Auditor, please:
1. Identify any logic errors or bugs.
2. Flag security vulnerabilities (e.g., non-parameterized queries,
   exposed secrets, missing input validation).
3. Suggest performance optimizations for the Cloudflare environment.
4. If the code is production-ready, simply state "CONSENSUS REACHED."

When you see "CONSENSUS REACHED" from multiple models, you're ready to ship. When you get specific feedback instead, you've caught something before it became a problem in production.

⚠️ Watch Your Usage Limits

Agentic tools like Cowork and Claude Code can consume tokens quickly - sometimes feeding tokens into a woodchipper when working on complex tasks. A few hours of active building can use your entire daily allocation.

Protect yourself:

  • Monitor your usage in the Claude dashboard (claude.ai → Settings → Usage)
  • Know your plan limits: Pro gives generous daily limits, Max gives 5x or 20x more
  • Don't start a major build session at 11 PM if your limits reset at midnight
  • If you hit limits frequently, consider upgrading or spacing work across days

Nothing is more frustrating than hitting your limit mid-build. Plan accordingly.

Other Tools Worth Knowing About

  • Cursor: AI-native code editor (like VS Code but with AI built in)
  • Replit: Browser-based development environment, good for beginners
  • Lovable: Frontend-focused, great for UI components
  • Windsurf: Another AI-powered editor with strong agent features

You don't need any of these to get started. Claude + the basic toolkit from Chapter 3 is enough. But know they exist if you want to explore.

💡 Pro Tip

When working with AI, be specific about context. Instead of "make a website," try "make a landing page for a dog walking business with a contact form, testimonials section, and pricing table. Use a clean, modern design with blue and white colors." The more context you provide, the better the output.

Chapter 8: Your First Web Application - A Complete Build-Along

This is the centerpiece chapter. We're going to build a real, working web application together: a contact form that emails you submissions, saves them to a database, and has a simple dashboard. This demonstrates the full stack: Pages + Workers + D1.

What We're Building

A contact form system with three components:

  1. Front-end: A beautiful form users can fill out
  2. Back-end (Worker): Processes submissions, sends you email, saves to database
  3. Dashboard: Simple page to view all submissions

This is genuinely useful - you could use this on a real business website.

Pre-Flight Checklist

Before we start, confirm you have:

  • ✅ GitHub account (and GitHub Desktop installed)
  • ✅ Cloudflare account
  • ✅ Claude Pro subscription (or free tier for this exercise)
  • ✅ VS Code installed
  • ✅ A folder on your computer for projects

Phase 1: Planning with AI

Open Claude.ai and start a conversation:

💬 Example Prompt

"I want to build a contact form for my business website. It should collect name, email, and message. When someone submits, it should email me the details and save the submission to a database. I'm deploying to Cloudflare Pages with a Worker for the backend. Can you help me plan the project structure and explain what files I'll need?"

Claude will explain what files you need and what each does. Ask follow-up questions until you understand the structure. You don't need to understand every line of code, but you should know what role each file plays.

Typical structure for this project:

my-contact-form/
├── index.html          # The form page users see
├── style.css           # Styling for the form
├── script.js           # Front-end JavaScript (form handling)
├── dashboard.html      # Page to view submissions
├── worker/
│   └── index.js        # Cloudflare Worker code
├── wrangler.toml       # Worker configuration
└── .gitignore          # Files to exclude from Git

Phase 2: Creating the Front-End

Ask Claude to generate the HTML and CSS:

💬 Example Prompt

"Create a clean, modern contact form with fields for name, email, and message. Use CSS that looks professional - maybe a card-style form with subtle shadows, a blue submit button, and good typography. Include form validation and a loading state when submitting."

Save the generated files to your project folder. Open index.html in your browser (just double-click it) to see how it looks. Iterate with Claude: "Make the button bigger," "Add more padding," "Change the color to match my brand."

💡 Pro Tip

Test your front-end locally by opening the HTML file in a browser. You can make changes, save the file, and refresh the browser to see updates immediately. This tight feedback loop helps you iterate quickly.

Phase 3: Setting Up Git and GitHub

Now let's save your work properly:

📝 Git Setup Steps
  1. Open GitHub Desktop
  2. File → Add Local Repository
  3. Navigate to your project folder
  4. If asked to create a repository, click "Create Repository"
  5. You'll see your files listed as "changes"
  6. Write a commit message: "Initial contact form front-end"
  7. Click "Commit to main"
  8. Click "Publish repository" to push to GitHub

Your code is now safely stored on GitHub with version history.

Phase 4: Deploying to Cloudflare Pages

📝 Deployment Steps
  1. Go to the Cloudflare dashboard
  2. Click "Workers & Pages" in the sidebar
  3. Click "Create" then "Pages"
  4. Connect your GitHub account if not already connected
  5. Select your contact form repository
  6. Leave build settings at defaults (or blank for simple HTML)
  7. Click "Save and Deploy"
  8. Wait for the build to complete (usually under a minute)

🎉 Your form is now live on the internet! Visit the URL Cloudflare gives you (something like your-project.pages.dev).

The form displays but doesn't actually send anything yet - that's what the Worker is for.

Phase 5: Adding Back-End Functionality with Workers

Now for the dynamic part. Ask Claude:

💬 Example Prompt

"I need a Cloudflare Worker that handles form submissions. It should: (1) receive POST requests with name, email, and message, (2) validate the data, (3) save to a D1 database, (4) send me an email via Resend API, (5) return success/error responses. Include the wrangler.toml configuration."

Claude will generate Worker code and configuration. For the email functionality, you'll need a Resend account (free tier available at resend.com) and API key.

⚠️ Important: Environment Variables

Your Worker needs API keys (for Resend) but those can't go in your code. In the Cloudflare dashboard, go to your Worker's settings and add "Secrets" for sensitive values like RESEND_API_KEY. Your code references them but the actual values stay secure.

Deploy your Worker through the Cloudflare dashboard or using the Wrangler CLI (Claude can walk you through either approach).

Update your front-end JavaScript to submit to your Worker's URL instead of nowhere. Push the changes to GitHub. Cloudflare auto-deploys.

Phase 6: Testing and Iteration

Test the complete flow:

  1. Fill out the form on your live site
  2. Click submit
  3. Check that you received an email
  4. Check the Cloudflare D1 dashboard to see the saved submission

Something not working? This is normal. Check error messages. Paste them to Claude. Iterate.

"You WILL break something. I break things regularly. That's what Git is for."

The beauty of this workflow: making changes is a conversation. "The error message says CORS - what does that mean?" "Add a success message after submission." "Make the dashboard show submissions in a table." Claude helps you iterate until it's right.

🎉 Congratulations!

You just built and deployed a full-stack web application. It has a front-end, a back-end, a database, and email integration. It's live on the internet. You did this by having conversations with AI. Welcome to the future of building.

Chapter 9: When Things Go Wrong - The Troubleshooting Survival Guide

Things will break. That's not a failure - it's a normal part of building software. This chapter covers every common error a beginner hits.

Reading Error Messages

The single most important troubleshooting skill: actually read the error message. It's usually telling you exactly what's wrong. Most beginners see red text, panic, and miss the useful information.

Error messages typically contain:

  • What went wrong: "Cannot read property 'x' of undefined"
  • Where it happened: "at line 42 in script.js"
  • Sometimes why: "Expected '}' but found 'EOF'"

When you see an error: read it, copy it, paste it to Claude with "What does this mean and how do I fix it?"

Common Errors Explained

"Permission denied"

You're trying to do something you don't have access to. Common causes: wrong file permissions, trying to write to a protected location, or authentication issues with a service.

"Merge conflict"

Git detected two different changes to the same part of a file. This happens if you edit on multiple computers or branches. GitHub Desktop shows you the conflicts - you decide which version to keep.

"Build failed"

Cloudflare couldn't build your project. Check the build logs in the Cloudflare dashboard - they show exactly what went wrong. Often it's a syntax error in your code or a missing file.

"404 Not Found"

The file or page doesn't exist where expected. Check that: (1) the file exists, (2) the name matches exactly (case-sensitive!), (3) it's in the right folder.

"CORS error"

Your front-end and back-end aren't configured to talk to each other. CORS (Cross-Origin Resource Sharing) is a security feature. Your Worker needs to return the right headers. Ask Claude to help add CORS headers to your Worker.

"Rate limited"

You've made too many requests to a service. Wait and try again. If it's happening in production, you might need to upgrade to a paid tier or optimize your code to make fewer requests.

"API key invalid" or "Unauthorized"

Your API key is wrong, expired, or missing. Check: (1) the key is correct, (2) it's in the right environment variable, (3) the service hasn't revoked it.

When to Ask AI for Help

Claude is excellent at debugging. The format that works best:

💬 Debugging Prompt Template

"I'm trying to [what you're doing]. I got this error: [paste full error message]. Here's the relevant code: [paste code]. What's wrong and how do I fix it?"

The more context you provide, the better the answer. Include:

  • The full error message
  • What you were trying to do
  • The relevant code
  • What you've already tried

When to Ask a Human

Know your limits. If you've been stuck for over an hour and Claude isn't helping, consider:

  • Cloudflare Discord: Active community, official support
  • GitHub Discussions: Good for open source project issues
  • Stack Overflow: Search first - your problem is probably already answered
  • Hire help: Sometimes 30 minutes with an experienced developer saves days. Upwork, Fiverr, or asking in communities.
💡 Debugging Mindset

Debugging is detective work. You have a mystery (something isn't working) and clues (error messages, logs, behavior). Approach it systematically: isolate the problem, form a hypothesis, test it. The more you debug, the better you get at it.

Chapter 10: What to Build Next - Project Ideas by Skill Level

You've deployed your first application. What now? Here are project ideas organized by complexity.

Beginner (You Just Finished This Guide)

Project Time Estimate What You'll Learn
Personal portfolio site 1-2 hours HTML/CSS basics, deployment workflow
Business landing page 2-4 hours Responsive design, contact form integration
Simple blog with markdown 3-5 hours Static site generators, content management
Event countdown page 1-2 hours JavaScript basics, date handling

Intermediate (You're Comfortable With the Workflow)

Project Time Estimate What You'll Learn
Customer feedback tool 4-8 hours D1 database, data display, basic CRUD
Simple e-commerce with Stripe 8-16 hours Payment integration, order management
Email newsletter signup 3-5 hours Email API integration, welcome sequences
Internal business dashboard 8-16 hours Data visualization, multiple pages, state

Advanced (You're Ready to Push Boundaries)

Project Time Estimate What You'll Learn
Web app with user authentication 16-40 hours Auth flows, sessions, protected routes
AI-powered tool (using Claude/OpenAI API) 8-24 hours AI API integration, prompt engineering
Multi-page application with database 24-80 hours Full-stack architecture, data modeling
SaaS product 80+ hours Subscriptions, user management, scale
📝 Author's Note

Yes, people are building real SaaS products with this approach. I've seen indie hackers ship subscription businesses entirely through AI-assisted development on Cloudflare. It takes longer than if you were a senior developer, but it's absolutely possible. Start with the beginner projects, build your skills, and gradually tackle more ambitious work.

Chapter 11: The Cost of Free - Understanding What You're Actually Paying

Let's be completely transparent about costs.

Complete Cost Breakdown

Tool Cost What You Get
GitHub Free Unlimited public and private repos
Cloudflare Pages Free Unlimited sites, unlimited bandwidth, 500 deploys/month
Cloudflare Workers Free 100K requests/day, KV storage included
VS Code Free Full-featured code editor
GitHub Desktop Free Visual Git interface
Claude Pro $20/month Your AI development partner
Domain (optional) $10-15/year Your own URL

Total to get started: $20/month (just Claude Pro)

Total for a production app: $25-35/month (AI + domain + possibly Workers Paid)

Compare to Traditional Development

Option Cost Notes
Hiring a developer $50-200+/hour Single feature can cost hundreds
Traditional hosting $20-100+/month AWS, Heroku, DigitalOcean
No-code platforms $25-100+/month Bubble, Webflow - with limitations
This approach $20-35/month Full flexibility, no platform lock-in

Where Costs Can Grow

  • API usage: Using Claude or OpenAI APIs in your app costs per token
  • Storage: Free tiers have limits; heavy usage needs paid
  • Workers compute: Complex processing may exceed free tier
  • Premium AI: Claude Max ($100/month) for heavier building

When Free Isn't Enough

Signs you need to upgrade:

  • Hitting rate limits on Cloudflare Workers
  • Running out of Claude messages during active building
  • Need more database storage or queries
  • Want better analytics and debugging tools

The good news: even paid tiers are remarkably affordable. Workers Paid is $5/month. Database upgrades are similar. You can run serious applications for under $50/month total.

Chapter 12: Security, Privacy, and Responsibility

You're building things that live on the internet now. That comes with responsibility.

The Big Three Security Rules

🚨 Rule 1: Never Expose API Keys or Secrets in Code

We covered this in Chapter 5, but it bears repeating. Use environment variables. Use Cloudflare Secrets. Never commit .env files. Consider every commit to GitHub as potentially public, even in private repos.

🚨 Rule 2: Treat Every Input as Hostile

Users (and bots) will submit garbage, malicious code, and attacks through your forms. The mindset shift: don't just validate input - treat every input as hostile by default.

This principle has specific implementations:

Use Allow-Lists, Not Block-Lists

A block-list tries to catch "bad" input (block these specific characters, block these patterns). An allow-list only accepts "good" input (only these values are valid). Allow-lists are more secure because attackers constantly find new ways around block-lists.

// WRONG: Block-list approach (trying to catch bad input)
if (input.includes("<script>") || input.includes("DROP TABLE")) {
  reject();
}

// RIGHT: Allow-list approach (only accept known good values)
const validCountries = ["US", "CA", "UK", "AU"];
if (!validCountries.includes(input)) {
  reject();
}

Use Parameterized Queries for Databases

Never build SQL queries by concatenating user input. This is how SQL injection attacks work - attackers put SQL code in form fields. Parameterized queries (also called prepared statements) prevent this by separating the query structure from the data.

// WRONG: String concatenation (vulnerable to injection)
const query = `SELECT * FROM users WHERE email = '${userEmail}'`;

// RIGHT: Parameterized query (safe)
const query = db.prepare("SELECT * FROM users WHERE email = ?").bind(userEmail);

AI-generated code often uses the wrong (concatenation) approach because it's simpler to write. When you see database queries in generated code, specifically ask: "Is this query parameterized? Can you rewrite it to prevent SQL injection?"

🚨 Rule 3: Always Use HTTPS

Good news: Cloudflare handles this automatically. All Pages and Workers sites get HTTPS for free. But if you ever move to different hosting, make sure SSL is configured. HTTP is not acceptable for any site that handles user data.

Privacy Basics

If you collect any user data (emails, names, messages), you have obligations:

  • Privacy policy: Required if you collect emails. Templates available online.
  • Data storage: Know where data lives and who has access.
  • Retention: Don't keep data longer than needed.
  • GDPR/CCPA: If serving EU or California users, additional rules apply.

For a simple contact form, a basic privacy policy stating what you collect and why is usually sufficient. Consult a lawyer if you're building anything handling sensitive data.

AI-Generated Code and Security

AI can generate code with security issues. It's not malicious - it's just that AI optimizes for "works" not "secure by default." Common issues:

  • Missing input validation
  • SQL injection vulnerabilities
  • Hardcoded credentials in examples
  • Overly permissive CORS settings

After AI generates code, ask: "Are there any security concerns with this code? How would you make it more secure?" Claude is good at reviewing its own output for security issues when explicitly asked.

"Good Enough" vs. Professional Security

For a personal blog or business landing page, basic security practices are sufficient. For anything handling payments, sensitive personal data, or health information, consider professional security review.

The line is roughly: if a breach would cause financial harm or serious privacy violation, get expert help.

Glossary: Technical Terms in Plain English

API (Application Programming Interface)

How software talks to other software. Like a waiter taking your order to the kitchen - you don't go to the kitchen yourself, you use the waiter as an interface.

API Key

Your personal password for a service's API. Identifies your requests so they know who to charge and what limits apply.

CDN (Content Delivery Network)

A network of servers worldwide that caches your content. When someone in Tokyo visits your site, they get files from a Tokyo server, not your original server far away. Cloudflare provides this automatically.

CLI (Command Line Interface)

A text-based way to interact with your computer by typing commands. The "terminal" or "command prompt." Powerful but intimidating for newcomers - that's why we use GitHub Desktop instead.

Commit

A saved snapshot of your project in Git. Like a save point in a video game.

CORS (Cross-Origin Resource Sharing)

A security feature that controls which websites can talk to your API. If your front-end and Worker are on different domains, you need CORS headers.

Deploy

The process of making your code live on the internet. "Deploy to production" means making it available to real users.

DNS (Domain Name System)

The internet's phone book. Translates human-readable domain names (google.com) into computer-readable IP addresses (142.250.80.46).

Edge Computing

Running code close to users instead of in a central data center. Cloudflare Workers run "at the edge" - on servers near your visitors worldwide.

Environment Variable

A setting stored outside your code that your application can read. Used for secrets like API keys so they don't appear in your code files.

Front-End

The part of a web application users see and interact with. HTML, CSS, JavaScript running in the browser.

Back-End

The part of a web application that runs on servers, invisible to users. Databases, API logic, server-side processing.

Git

A version control system that tracks changes to files. Created by Linus Torvalds (Linux creator). The most widely used version control in the world.

GitHub

A platform for storing Git repositories in the cloud. Adds collaboration features, deployment integrations, and more on top of basic Git.

HTML (HyperText Markup Language)

The language that structures web content. Defines what's on the page: headings, paragraphs, buttons, links, images.

CSS (Cascading Style Sheets)

The language that styles web content. Defines how things look: colors, fonts, spacing, layout.

JavaScript

The programming language of the web. Makes pages interactive: form validation, animations, dynamic updates without refreshing.

JSON (JavaScript Object Notation)

A common format for storing and transmitting data. Human-readable, looks like: {"name": "John", "email": "[email protected]"}

KV (Key-Value)

A simple type of data storage where you save items with a key (name) and retrieve them by that key. Like a dictionary or phone book.

Merge

In Git, combining changes from one branch into another. Taking your experimental work and adding it to the main version.

npm (Node Package Manager)

A tool for installing JavaScript packages (pre-written code libraries). If you see "npm install" in instructions, it's adding dependencies to a project.

Repository (Repo)

A project folder tracked by Git. Contains all your code files plus the complete history of every change.

REST (Representational State Transfer)

A common style for designing APIs. Uses standard HTTP methods (GET, POST, PUT, DELETE) to manipulate resources.

SDK (Software Development Kit)

Pre-written code that makes it easier to use a service. Instead of manually writing API calls, you use the SDK's simpler functions.

Serverless

Running code without managing servers. You write functions, a platform (like Cloudflare) runs them. No server configuration, scaling, or maintenance required.

SSL/TLS

Encryption that secures web traffic. The "S" in HTTPS. Makes sure data between browser and server can't be intercepted. Cloudflare provides this free.

Static Site

A website made of pre-built files served directly. No server-side processing. Fast, secure, cheap to host.

Token (AI context)

The unit AI models use to measure text. Roughly 3/4 of a word. "Hello world" is about 2 tokens. API pricing is often per-token.

Webhook

An automated message sent from one system to another when something happens. "When someone pays, send a message to my server."

Worker

In Cloudflare context, a serverless function that runs on their network. Handles dynamic requests, API logic, data processing.

Frequently Asked Questions

Do I need to learn to code?

No, but you should learn to read code. You don't need to write it from scratch - AI does that. But understanding what the code does helps you debug issues, make small changes, and communicate better with AI about what you want.

What if AI generates bad code?

That's what testing and Git are for. Always test before deploying. If AI generates something that breaks, you can revert to a previous commit. Ask AI to review its own code for bugs. Iterate until it works.

Can I really build something useful?

Absolutely. People are shipping real products, running businesses, and solving genuine problems using this approach. Start small, build your skills, tackle progressively ambitious projects. The only limit is how much you're willing to learn and iterate.

What about mobile apps?

Focus on web apps first. They work on mobile browsers anyway. Native mobile apps (iOS/Android) have additional complexity. Web-first is the right starting point. If you need a native app later, you can explore React Native or similar tools.

How do I get help when I'm stuck?

First: Claude. Paste your error message and context, get help immediately. Second: communities (Cloudflare Discord, GitHub discussions, relevant subreddits). Third: if you're consistently stuck, consider a few hours with a professional developer for guidance.

Is this "real" programming?

Define "real." You're building functional software that runs on the internet and solves problems. Whether you typed every character yourself or had AI assistance doesn't change the end result. The most productive developers in 2026 are using AI tools too.

Will this still work next year?

The fundamentals will. Git, GitHub, HTTP, APIs, deployment - these concepts have been stable for decades. Specific tools evolve, but the mental models transfer. What you learn here will remain relevant even as AI tools improve.

What if Cloudflare changes their pricing?

It's a risk with any platform. Cloudflare has historically been developer-friendly with generous free tiers. Even if they change, the skills transfer - the concepts work with any hosting provider. You're not locked in.

Resources

Official Documentation

  • Cloudflare: developers.cloudflare.com - Excellent documentation, tutorials, and examples
  • GitHub: docs.github.com - Git and GitHub guides for all skill levels
  • Claude: docs.anthropic.com - API documentation and prompt engineering guides

Communities

  • Cloudflare Discord: discord.cloudflare.com - Active community, official support
  • GitHub Discussions: Available on most open-source repos for questions
  • r/webdev, r/learnprogramming: Reddit communities for web development

Learning Resources

  • freeCodeCamp: freecodecamp.org - Free interactive coding curriculum
  • MDN Web Docs: developer.mozilla.org - Comprehensive web technology reference
  • Cloudflare TV: cloudflare.tv - Video tutorials and talks

Related Guides

  • The Small Business CTO's AI Guide - Using AI for business operations
  • From Legacy CMS to Lightning-Fast Static - Migration guide for existing websites

About the Author

John Derrick is a small business owner who built this stack for real businesses. He migrated legacy CMS sites to static hosting on GitHub + Cloudflare Pages, built functional web applications with Cloudflare Workers, and did it all using AI tools as a non-traditional developer.

This guide comes from real shipping, not theory. Every recommendation has been tested in production. Every frustration you might encounter has probably already been experienced and solved.

The philosophy: the future is here, but it's not evenly distributed. The tools exist for non-developers to build real software. The knowledge gap is the only barrier. This guide exists to close that gap.

For more resources, guides, and updates: johncderrick.com

The Future Is Here

You now have everything you need to build and deploy real web applications.
The AI tools are ready. The infrastructure is free. The only missing piece was the knowledge in this guide.

Start small. Ship something. Iterate.
The first time you describe what you want in English and see it live on the internet minutes later...
that feeling never gets old.

For more resources and guides:

johncderrick.com