Web Development

How We Increased Blog Engagement and Fixed a Broken Contact Form in Under 2 Hours

AI-assisted development to improve blog structure, UX, and lead capture—all in one session.

Nov 29, 2025
8 min
THE RESULT

2 Problems Fixed in Under 2 Hours

Better blog engagement + working lead capture

Project
Marketing Agency Site
Problems
Weak blog intro + broken form
Dev Time
~2 hours total
Outcome
Engaging blog + email alerts

What You'll Learn

How to structure blog openings that hook readers
Why "problem-first" intros lose readers
Debugging Netlify Functions for form submissions
Setting up Resend for instant lead notifications

This is a real development session from today. Two separate issues, one AI-assisted coding session, and a few lessons about content strategy and serverless functions along the way.

Part 1: The Blog That Nobody Wanted to Read

We had just published a detailed case study about building a smart availability picker. The content was solid—real bugs, real solutions, real code. But something was wrong.

Blog Opening Comparison
Before

"The Problem: Forms That Don't Capture Reality"

Starts with the problem. Reader doesn't know why they should care yet.

After

"2 Hours of AI Coding → Smart Booking Form"

Leads with outcome. Reader immediately sees the value.

The Problem: Starting with the Problem

The original blog opened with "The Problem: Forms That Don't Capture Reality." Sounds reasonable, right? Wrong. Readers don't care about your problem yet. They need to know why they should invest their time reading.

The Hook Principle

Readers decide in 3 seconds whether to keep reading. Lead with outcomes, not problems. Show them what they'll gain before explaining what you struggled with.

The Fix: Outcome-First Structure

We restructured the opening to lead with results:

New Blog Opening Structure
1
THE RESULT— Big, bold headline with the outcome
2
Context Grid— Client, Problem, Time, Outcome at a glance
3
What You'll Learn— Bullet points of value for the reader
4
See It Live CTA— Link to the actual result

The new structure gives readers immediate context: who the client was, what was built, how long it took, and what they'll learn. Now they have a reason to keep reading.

1

Identify the outcome

What did you actually achieve? Lead with that.

2

Add context cards

Client, problem, time, result—at a glance.

3

List what they'll learn

Give readers a roadmap of value.

4

Add a CTA

Link to the live result if possible.

The Cherry on Top: See It Live

We added a prominent call-to-action linking to the actual live form. Readers can try the availability picker themselves at the client's site. This builds credibility and lets the work speak for itself.

"

If you built something real, let people see it. A link to live work is worth a thousand screenshots.

JJM
Content Strategy Principle

Part 2: The Contact Form That Wasn't Contacting Anyone

While reviewing the site, we discovered the contact form was broken. Submissions were failing silently. Potential leads were hitting a wall.

Debug Timeline
Form Broken
Silent failures
Found Root Cause
Netlify Forms limitation
Direct Submission
Netlify Forms works

The Root Cause

The Netlify Function was trying to submit to Netlify Forms by POSTing to "/" from within the serverless function. This doesn't work—Netlify Forms expects submissions from the browser, not from server-side code.

Netlify Forms Gotcha

You can't submit to Netlify Forms from a Netlify Function using fetch('/'). The form detection only works for browser-based submissions. Submit directly from the browser instead.

The Solution: Submit Directly from Browser

The fix was simple: instead of routing through a Netlify Function, submit directly to Netlify Forms from the browser. Netlify Forms are free for 100 submissions/month and just work—no extra services needed.

100
Free submissions/month
0
External services needed
$0
Cost for most small sites

Implementation Details

The fix was straightforward: change the form to POST directly to "/" with the form data URL-encoded and a "form-name" field matching the hidden form in the HTML. Netlify handles the rest—submissions appear in the dashboard and you can set up email notifications there.

Before

  • Form silently fails
  • No lead capture
  • Routed through Netlify Function
  • Lost potential clients

After

  • Submissions in Netlify dashboard
  • Email notifications available
  • Direct browser submission
  • Never miss a lead

Key Takeaways

Key Takeaways

Blog Optimization

  • Lead with outcomes, not problems
  • Use context cards for quick scanning
  • Link to live work when possible

Contact Forms

  • Test forms regularly—they break silently
  • Use dedicated email APIs for reliability
  • Log submissions for debugging

The Bigger Picture

Both fixes took under 2 hours combined. The blog optimization was about understanding reader psychology—people want to know what's in it for them before investing time. The form fix was about understanding platform limitations and choosing the right tool for the job.

AI-assisted development made both faster. Not because AI wrote perfect code, but because it helped iterate quickly, debug efficiently, and implement solutions without context-switching to documentation.

"

The best development sessions solve real problems in real-time. Document them, and you've got content that actually helps people.

Share This Article

Spread the knowledge

Free Strategy Session

Stop Guessing.
Start Growing.

Get a custom strategy built around your goals, not generic advice. Real insights. Measurable results.

No obligation
30-min call
Custom strategy

Continue Your Learning Journey

Explore these related articles to deepen your understanding of web development

AI Dev Session: Building Social Carousel Cards & Admin Dashboard in 3 Hours

Building social carousel cards, admin dashboard, and fixing a sneaky TOC bug—in 3 hours.

8 min read
Read →

Volume 7: Branding Our Own Blog Series

The meta moment when we built custom branding for the Pink Slips NSW blog series - pink gradients, dual logos, and conditional styling in 2 hours.

6 min read
Read →

Building 500+ Location Pages with AI-Generated Content

Building 790 location pages with AI content, database schema, and SEO implementation.

20 min read
Read →