freeCodeCamp

How to Diagnose Production Bugs When You Can't Reproduce Them Locally

Manish Shivanandhan |
Every developer eventually encounters the same frustrating problem. A customer reports that your application is failing in production. You try the exact same workflow on your development machine, but... read more

How to Build a Browser-Based PDF Blur Tool Using JavaScript

Bhavin Sheth |
Many PDF documents contain information that shouldn't be shared publicly. Personal details, financial figures, signatures, addresses, account numbers, employee information, or confidential business da... read more

How to Use Prompt Engineering and Context Engineering for AI Agents

Darsh Shah |
In this tutorial, I’ll show you how prompt engineering and context engineering can improve an AI agent's performance. We’ll build a simple local agent, start with a baseline input, then improve it wit... read more

What to Do if You've Outgrown Your Cron Job Scheduler

Rob Walters |
Most developers begin their automation journey similarly. They create a script that performs a helpful task, such as pulling data from an API, resizing a batch of images, or emailing a report, and the... read more

How to Build an AI Agent with Function Calling in Node.js Using Google Gemini

Zia Ullah |
Last year, a client asked me to add a conversational interface to their internal reporting tool. Staff would type a question, and the system would pull a live answer from the database. I had the first... read more

The New Agency Stack: How Dev Shops Use Claude, Cursor, and Copilot in Production

Manish Shivanandhan |
Two years ago, AI coding tools were a curiosity. Agencies let junior devs experiment with them on internal tools and side projects, the kind of work where nothing broke if the code was bad. Client wor... read more

Firestore Data Modeling Guide: Embedded Documents vs Referencing (with a Blog Case Study)

Caleb Mintoumba |
When developers transition from the relational world (MySQL, PostgreSQL) to Firestore, Firebase's NoSQL document database, they often bring their old habits with them. They try to replicate tables, fo... read more

Build Bulletproof APIs using TypeScript in Express

Beau Carnes |
If you've ever loved the speed of building backend servers with Express.js, but wished you didn't have to guess at types or debug silly runtime errors, we just posted the perfect tutorial for you. Our... read more

How Clients and Servers Communicate: Full Handbook on HTTP/1.1, HTTP/2, REST, WebSockets, GraphQL, gRPC, and Protocol Buffers

Oluwaseyi Fatunmole |
You've built and consumed APIs. You know what a GET request is, what a JSON response looks like, and how to add an Authorization header. You've used REST, maybe tried GraphQL, and perhaps heard of gRP... read more

Product Experiment Counterfactual Methods for Estimating the Effects of AI Prompt Engineering

Rudrendu Paul |
Imagine your team deployed Prompt A globally two weeks ago. Tight deadlines and high confidence meant the rollout hit 100 percent of users without any A/B testing, shadow traffic, or holdout groups. W... read more