Skip to content

Creative work and evidence · Creative evaluation and brand evidence

Turning creative judgments into an inspectable scorecard

Source-reviewed technical draft. Diagrams and walkthroughs use abstract or invented inputs. Implementation, reported use and measured outcomes remain separate.

I built a Creative Audit implementation around a practical review problem: a creative can look polished while its offer, call to action or brand treatment remains unclear. A useful review needs to name the rule, show the observation and suggest a change. A number alone gives the designer little to work with.

My original contribution contains the wizard, brand profiles, rule configuration, scoring engine, session persistence and model-backed API routes. There is an attribution wrinkle: the final comparison for the authored change changes one page. The original authored commit changes 36 files. I use that commit to support the implementation claim, rather than treating the PR description as proof.

The model makes observations; code does the arithmetic

The inspected run route loads a session through its owner context and checks Creative Audit permissions. It then retrieves an accessible brand profile, builds channel-specific prompts for eight LIFT rules, downloads the uploaded assets and asks Gemini for PASS, WARN or FAIL observations with evidence and suggestions.

I kept the scoring calculation separate from those calls.

The engine converts PASS to two points, WARN to one and FAIL to zero. It applies configured rule weights, normalizes the weighted total to a score out of 100 and assigns a grade. Missing rule extractions receive a failing placeholder with an explanation. The aggregate averages asset scores and identifies assets at least ten points below that average.

That arithmetic is deterministic for a given input. The observations are still model judgments. The score is a rubric result, not a measured probability that an ad will perform well.

Inspect the system diagram
Simplified inspected run route: owner-scoped session and channel rules feed model observations; deterministic scoring precedes recommendations and a final save. Asset or recommendation failure prevents completed-session save. Model correctness, schema completeness and adoption are unmeasured.
Creative Audit observation, scoring and save boundaries

An incomplete run does not produce a completed session

The run route evaluates assets with Promise.all. A failed download or an unusable extraction rejects that batch. After scoring, it makes a separate text-model call for prioritized recommendations. Only after that call succeeds does it save the results, recommendations, grade and completed status together through the session service.

There is a cost to that sequence.

I would explain the failure boundary directly: if recommendations fail after observations and scoring succeeded, the route does not persist those intermediate results as a completed audit. The inspected handler returns an error. It has no durable per-asset checkpoint or automatic partial-result recovery in this path. Those are potential improvements, not features I claim to have implemented here.

The response parser also has a narrower contract than the prompt implies. The run handler checks that an extraction payload exists; it does not establish a strict typed validation pass over every returned score, rule ID and evidence entry. The engine supplies missing-rule defaults, but those defaults cannot verify that a model observation is true.

My next quality gate would compare observations with human-labeled creative examples, including unreadable files and contradictory brand instructions.

The captured scoring test file establishes that tests were authored. This research pass did not execute the employer test suite or measure agreement with human reviewers.

Invented review walkthrough

  1. Create a session for fictional advertiser Harbor Bikes with a navy brand palette and a short, direct tone.
  2. Upload two invented display creatives. One has a clear offer; the other has a small, low-contrast call to action.
  3. Review the eight rule observations separately from the computed overall grade. Check the cited visual details against each asset.
  4. Change a rule weight and explain how that changes the rubric total without changing the underlying observation.
  5. Reconstruct a recommendations-call failure. Explain that the inspected run path withholds completed status and that intermediate recovery would require another design.

This is a reconstructed demonstration, not a client result or a live model run.

What the evidence supports

My contribution supports a concrete end-to-end implementation story: operator configuration, owner-scoped session access, multimodal observations, deterministic scoring and persisted recommendations. It does not establish production adoption, conversion lift, calibrated grades or a measured reduction in creative-review time.

Discussion notes

Three-minute outline. - Start with the designer's decision: which creative rule failed, and why? - Explain the observation-to-score boundary and the explicit weighting calculation. - Walk through a downstream recommendations failure after successful extraction. - Finish with the evaluation plan: labeled examples, human agreement and recoverable intermediate work.

Questions to prepare. Why eight rules? How would you validate inconsistent responses? Which intermediate results are worth retaining? How should an operator challenge a model observation?

Application summary. I built a creative-review workflow that turns uploaded assets and brand context into rule-level observations, weighted scorecards and recommendations. I kept scoring in inspectable code and can explain the current validation and recovery limits. That experience translates to working with operators, defining useful AI output and tracing failures across model and application boundaries.

This contribution narrative is supported by privately held source and authorship records. It contains original explanations and abstract diagrams, without employer code, customer records or runtime telemetry. Missing outcome evidence stays explicit.