Project 4H

Creative Lab

ChatGPT Pro image prompts, generated assets, and approval tracking. Jarrad approval still gates anything marked live.

0 shown / 0 assets tracked

Draft

0

Review

0

Approved

0

Live

0

Creative source of truth

Generated creative is the source of truth

For finished creative, 4H uses the image-gen artifact as the asset. The app stores, displays, tracks, approves, crops, and downloads it; it does not rebuild the visual with a separate coded layout.

Blocked pattern: Half image-gen, half coded recreation for a finished asset.

Asset cataloging, prompt packets, upload, review status, approval gates, source links, UTMs, dimensions, lineage, crops, downloads, and performance tracking.

Rule 1

Use ChatGPT Pro image generation for the complete creative whenever the asset is visual: ad images, proof sheets, business-card boards, creator frames, and campaign mockups.

Rule 2

Do not split finished creative into an AI background plus deterministic app typography unless Jarrad explicitly asks for a production-template export.

Rule 3

If exact text, QR codes, or print separations are required, generate/revise until the whole image is acceptable, then store that raster as the approved artifact.

Rule 4

Code-rendered SVG/HTML mockups are allowed only as wireframes, metadata previews, crop helpers, or legacy print-export utilities, and must be labeled as such.

Rule 5

Approval decisions should point at the generated asset URL or uploaded file, not at a reconstructed approximation.

Q-01 image pack

0 / 20 generated, 20 remaining

Copy a packet, generate the image here with ChatGPT Pro, upload it on the same card, then send it to review.

Next: image pack generated

Q-26 founder video tracker

10 clips still need capture, 0 ready for review

Founder-shot proof clips for the five beachhead domains. These packets are local planning assets only; they do not publish videos, upload to ad platforms, send outreach, create webhooks, launch campaigns, or spend money.

Next clip to capture

pipe.city - demo proof

Call pipe.city and show the AI capturing the job while the owner is busy.

10

Total clips

5

Needed

5

Scripted

0

Filmed/edited

0

Approved

pipe.city

Plumbing - selfie - missed call

Scripted

A plumbing owner under a sink cannot answer the emergency call fast enough.

Founder says the missed call is not a lead problem; it is an answer-speed problem.

Meta/Reels cold opencreator founder insertlaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

pipe.city

Plumbing - demo-call - demo proof

Needed

Call pipe.city and show the AI capturing the job while the owner is busy.

The AI turns a call into a clear plumbing job summary.

YouTube shortLinkedIn proof cliplanding handoff

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

saw.city

Concrete cutting - selfie - missed call

Scripted

A saw-cutting owner cannot hear the phone while the saw is running.

Founder frames missed calls as a job-site noise and availability problem.

Meta/Reels cold opencreator founder insertlaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

saw.city

Concrete cutting - screen-record - demo proof

Needed

Show a concrete cutting estimate request becoming an owner-ready job summary.

The clip proves saw.city captures concrete cutting context instead of generic scheduling.

YouTube proofLinkedIn prooflaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

mow.city

Lawn care - selfie - missed call

Scripted

A lawn owner on a mower misses estimate calls during the exact hours buyers call.

Founder ties missed mowing calls to lost weekly route density.

creator insertFacebook owner hookInstagram reel

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

mow.city

Lawn care - demo-call - demo proof

Needed

Call mow.city and show a lawn estimate request captured cleanly.

The demo makes mow.city feel like a route-building assistant, not a generic chatbot.

YouTube shortcreator reactionlaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

rinse.city

Pressure washing - selfie - missed call

Scripted

Pressure washing estimate calls arrive while the owner is wet, loud, and working.

Founder links answer speed to booked estimate volume.

Meta estimate hookcreator insertretargeting clip

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

rinse.city

Pressure washing - screen-record - demo proof

Needed

Show the AI qualifying a pressure washing estimate without making the caller repeat themselves.

The clip proves rinse.city captures estimate details before the lead goes cold.

YouTube prooflanding handofflaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

lockout.city

Locksmith - selfie - missed call

Scripted

A lockout caller almost never waits for a callback.

Founder frames answer speed as the difference between winning and losing an emergency job.

Facebook urgency hookInstagram reelcreator founder insert

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

lockout.city

Locksmith - demo-call - demo proof

Needed

Call lockout.city and show an emergency lockout request captured.

The demo proves lockout.city captures urgent context before the caller gives up.

YouTube proofLinkedIn prooflaunch bundle proof

Jarrad approval required before a clip can be used in ads, creator packets, or launch bundles.

Q-28 creative fatigue + lineage

0 variant families tracked, 0 need replacement

Groups image assets by prompt/variant family and reads creative-asset attribution to catch high-view, low-signal fatigue before more traffic is added. This is planning state only and cannot pause, launch, upload, or spend.

Next variant bet

Wait for creative-asset view signal before replacing variants.

0

Families

0

Needs variant

0

Watch

0

Healthy

0

Waiting

No creative families are tracked yet.

No marketing events are logged yet; fatigue tracking is waiting for real asset views and downstream events.

Create chatgpt-image-latest prompt brief

Save a trade-specific prompt for generation here with the Pro plan. The app does not call the OpenAI API or publish anything externally.

Seed the full beachhead set once: 5 trades x 4 angles for the selected platform. Existing prompt briefs are skipped.

Add generated image asset

Generate the image in this chat with the Pro plan, then upload it here with the model, prompt, and review notes.

Use a real model or tool name so review history stays attributable.

Live is only valid after approved. The app stores images and lineage; generation happens here in the Pro workflow.
Loading creative assets...