Beginner guides.
No background assumed. What a database, a domain or an environment variable actually is, and how to get an app you built with AI online and keep it there.
276 posts · page 6 of 12
Git Stash Explained: Save Unfinished Work Without Committing
git stash puts your uncommitted changes aside so you can switch branches or pull, then brings them back later. How stash, pop, apply and list work, stashing untracked files, naming stashes, recovering a dropped stash, and when a quick commit is better.
How to Get Your Website on Google: A Beginner's Step-by-Step Guide
Your new site doesn't show up on Google. How to check whether it's indexed, set up Google Search Console, verify your domain, submit a sitemap, request indexing, fix the common blockers, and what to realistically expect in the first weeks.
Error Monitoring for Beginners: Find Out About Bugs Before Your Users Tell You
Error monitoring tools catch crashes in your app — frontend and backend — and alert you with the stack trace and context. What error tracking is, how tools like Sentry work, what to set up first, source maps, privacy, and avoiding alert fatigue.
ERR_TOO_MANY_REDIRECTS: What Causes It and How to Fix It (Including Cloudflare)
"This page isn't working — redirected you too many times." The usual causes of a redirect loop — Cloudflare's Flexible SSL mode, conflicting www rules, an app that doesn't know it's behind a proxy, and login loops — and how to find and fix each.
Encryption at Rest vs in Transit: What's the Difference?
Encryption in transit protects data moving across a network; encryption at rest protects data stored on disk. What each one protects against, what it doesn't, how HTTPS, disk encryption and field-level encryption fit together, and what a small app actually needs.
Do You Need Kubernetes? (Probably Not Yet — Here's How to Tell)
Kubernetes runs containers across many machines and is everywhere in job ads. What it actually does, what it costs to operate, the signs you might need it, and the simpler options that serve almost every small app and startup better.
DNS Propagation Explained: Why Domain Changes Take Time (and How to Speed Them Up)
You changed a DNS record and your site still points to the old place. What "DNS propagation" really is (caching, not spreading), how TTL controls the wait, why nameserver changes take longest, how to check from different places, and how to flush your own cache.
Database Seeding Explained: Test Data That Makes Development Easier
Seeding fills your database with starter data so the app is usable the moment you run it. What seed data is, the difference between reference data and sample data, how to write an idempotent seed script, using Faker, and how to keep seeds away from production.
How to Add Dark Mode to Your Website (CSS, Tailwind, and a Toggle)
Add dark mode the right way: follow the system setting with prefers-color-scheme, organise colours with CSS variables, use Tailwind's dark: variant, add a toggle that remembers the choice, and avoid the white flash on page load.
Cron Expressions Explained: What "*/5 * * * *" Means (With Examples)
A beginner's guide to cron syntax: the five fields, special characters, a cheat sheet of common schedules (every 5 minutes, daily at 9am, weekdays), the time zone and overlap gotchas, and where cron expressions show up — crontab, GitHub Actions, and app schedulers.
Core Web Vitals Explained: LCP, INP, and CLS for Beginners
Google's Core Web Vitals measure how fast, responsive and stable your pages feel. What LCP, INP and CLS mean, the thresholds for "good", how to check your scores, the difference between lab and field data, and the usual fixes.
How to Add a Contact Form to Your Website (With or Without a Backend)
Four ways to make a contact form actually deliver messages — form services, your host's built-in forms, Google Forms, and your own backend route — plus how to stop spam and why you should never put an email API key in frontend code.
Claude Code on the Web, Desktop, or Terminal: Which One Should You Use?
Claude Code runs in a terminal, a desktop app, VS Code, and in the cloud at claude.ai/code. Where each version runs, what happens when you close your laptop, how --cloud and --teleport move work between them, and the limits of cloud sessions.
Claude Code in VS Code: Extension vs Terminal, Explained
Claude Code has a VS Code extension with a chat panel, inline diffs and @-mentions, and a terminal CLI with every command. How to install the extension, what each one can do, the PATH gotcha, and when to use which.
Claude Code vs GitHub Copilot: What's the Difference?
GitHub Copilot started as autocomplete and grew into agents; Claude Code started as an agent. How they compare on workflow, models, GitHub integration and pricing — and why Copilot can even run Claude for you.
Claude Code vs Cursor: Which Should You Use in 2026?
Cursor is an AI code editor; Claude Code is an AI agent that runs in your terminal, IDE, desktop app or browser. How they differ in workflow, models, pricing and where they run — and why plenty of people use both.
Claude Code vs OpenAI Codex: An Honest Comparison
Claude Code and OpenAI's Codex are the two big terminal-first coding agents. How they compare on where they run, which plans include them, models, cloud tasks and day-to-day workflow — without picking a winner for you.
Claude Code Tutorial for Beginners: Build Your First App, Step by Step
A start-to-finish Claude Code tutorial for complete beginners: set up a project folder, write a CLAUDE.md, plan before building, review changes, run the app, fix errors, commit with git, and avoid the mistakes most first-timers make.
How to Change the Model in Claude Code (and Which One to Pick)
Switch models in Claude Code with /model, the --model flag, an environment variable or settings.json. What the aliases mean — opus, sonnet, haiku, fable, opusplan, [1m] — which is the default, and how to choose for cost and quality.
"Cannot Read Properties of Undefined": What It Means and How to Fix It
The most common JavaScript error, explained for beginners: what "TypeError: Cannot read properties of undefined (reading 'map')" means, the five usual causes, how to find the exact line, and the right fixes — not just sprinkling ?. everywhere.
Async/Await in JavaScript, Explained Simply (With the Mistakes AI Code Makes)
Why some JavaScript code has to wait, what a Promise is, how async and await work, how to handle errors, how to run things in parallel, and the common async bugs — like the missing await — that show up in AI-generated code.
How to Add a Favicon to Your Website (HTML, Next.js, and Vite)
The small set of favicon files a modern site actually needs, the HTML tags to add, the Next.js and Vite shortcuts, the sizes Google and iPhones use, and why your new favicon still isn't showing.
How to Add a CAPTCHA to Your Forms (Cloudflare Turnstile, reCAPTCHA, hCaptcha)
Stop bots spamming your signup, login and contact forms. How modern CAPTCHAs work, Turnstile vs reCAPTCHA vs hCaptcha, a working Cloudflare Turnstile example with the server-side check most tutorials forget, and when a CAPTCHA isn't the right tool.
How to Add an AI Chatbot to Your App (Without Leaking Your API Key)
A beginner-friendly guide to adding an AI chat feature: the safe architecture, a working Next.js backend route that streams Claude's replies, the frontend code to display them, and the limits, costs and abuse protection you need before launch.