02 — CM COPY REVIEWER · AUG–OCT 2025 · HEALTHTECH · CONSTITUTIONAL AI
Teaching a healthtech AI to write like its brand
Role
Prompt Architect · AI Constitutionalist · Vibe Coder
Team
XFN collaboration with the HealthTech marketing team
Timeline
Aug – Oct 2025
A healthtech marketing team needed AI that could review Instagram captions with brand voice accuracy, medical compliance, and Singapore cultural specificity. A general-purpose model could not provide that context. I designed the Constitutional AI framework, then built and deployed the tool.
WHAT I DID
Audited the marketing team's copy workflow across 12 use case types to map where AI assistance would reduce overhead without adding new error risk.
Designed the CM (Constitution Maker) Principles framework: 12 principles covering brand voice, medical compliance, CTA structure, and Singapore cultural specificity, refined across 12 versions over 8 weeks.
Designed and ran a dual-session evaluation method: one Claude conversation wrote the copy and a second evaluated it. Both used the same CM Principles and were benchmarked against captions written by the marketing team.
Used Claude's /compact command to branch conversations and preserve principle JSON across testing sessions, enabling versioned iteration without losing prior evaluation results.
Made the call to narrow scope from 12 use cases to IG captions only after v1 testing revealed that broad scope degraded the precision of every individual principle.
Built and deployed the HealthTech Copywriter AI webapp on Google AI Studio, then shared the working tool directly with the marketing team.
Backdrop · GenAI readiness
Marketing ranked high on the priority list, and approached us independently at the same time.
Care was deciding how far to take GenAI across the company. The CTO gave my innovation manager and me a mandate: run discovery interviews and workshops across functions, and map how teams actually worked before recommending anything.
We had teams self-assess their own GenAI readiness, then cross-checked those self-assessments against synthesised interview notes and transcripts rather than taking self-report at face value. The output was an executive report: every use case across teams, ranked by impact, with recommendations on where to consult further.
Marketing ranked high on that list. In parallel, and without knowing the ranking, they came to us asking for help reviewing their copy. The two tracks met, and marketing became the first team we built for.
The challenge
The team wrote twelve kinds of copy, each with its own compliance rules and register.
How do we build a GenAI copy reviewer that helps a marketing team maintain brand voice and medical compliance across different audiences?
The team produced 12 types of marketing copy for Raffles Connect. Each had different compliance requirements, audience registers, and brand voice standards. Three constraints shaped the work:
01
Switching between 12 use cases
IG posts, EDMs, articles, and press releases each required different tone and compliance standards. A single reviewer built for all of them would be too broad to stay precise.
02
Generic AI output
General-purpose LLMs did not know Raffles Connect's brand voice, could not apply Singapore cultural context, and had no awareness of MAS/MOH copy guidelines.
03
Low GenAI literacy on the team
The marketing team could not prompt-engineer effectively. The solution needed a no-code interface that worked without exposing the system behind it.
The work
I wrote the constitution so the team could argue with it and edit it themselves.
Evaluation · method
One conversation wrote the copy, a second scored it against the team’s own captions.
I used Claude's Developer Workbench to write the system prompt for creation and testing. The marketing team reviewed demos, aligned with me on expectations, and helped refine the CM Principles. We eventually narrowed the tool to IG captions so the constitution could be precise enough for that use case.
Versioning
Twelve versions survived eight weeks because I branched every session on purpose.
I used the /compact command to branch each iteration. Completed tests and CM Principles were saved as JSON in the Claude Project overview, keeping earlier results intact while the framework changed.

INTERACTIVE PROTOTYPE — try the scorer
This prototype demonstrates the scoring dimensions from the CM Principles framework using illustrative logic, not the production evaluation pipeline. Paste any IG caption to see how it scores.
Outcomes
The internal evaluation scored the reviewer above the team’s baseline and cut review time to under an hour.
The baseline consisted of IG captions written independently by the marketing team without AI assistance. A second Claude conversation used the same system instructions to evaluate generated copy against those captions. After 8 weeks of iteration:
adherence to Constitution Principles, compared with the 75% baseline from the team's copy
copy creation and review turnaround, from an estimated 2–4 hours before AI to just under an hour with the reviewer
estimated improvement in CTA click-through rate on IG posts; this was not measured
Limitations: adherence and turnaround figures come from a second Claude conversation evaluating against the same System Instructions and CM Principles used to generate the copy. The evaluator wasn’t independent of the system being evaluated. No sample size or scoring-aggregation method is published here. Both figures were verified pre-launch and personally confirmed by the marketing team; a company reorganisation shifted priorities before post-launch testing could continue, and the project is currently shelved. Treat these as directional signals from an internal evaluation loop, not an externally validated benchmark.
What the evaluation actually settled
What I called early, what I built around, and what I still missed
Before building, I put both architectures to marketing and explained that most of the twelve use cases might need to be shelved. The three notes below separate that early call from a known evaluation limit and a flaw I caught late.
The scope cut was a bet I placed upfront, not a discovery
Before building, I put two architectures to marketing: one generic constitution covering all 12 use cases, or 12 dedicated tools. I recommended the generic path and warned that accuracy might require shelving some or all of the other eleven. Testing confirmed the tradeoff, and we narrowed the scope to Instagram captions.
Failure mode: the expectation-setting mattered because the team was being asked to trade eleven use cases for one. I raised the likely scope cut after the first discussion. I should have put both points in the same conversation and saved the team rework.
The evaluator had structure, but not independence
I ran the copywriter and evaluator as two Claude conversations, with Developer Workbench system prompts separating iteration, testing, and success validation; rubrics carrying per-principle weights and thresholds; and every run benchmarked against the marketing team's own human-written captions. What the evaluator still shared with the generator was the constitution itself.
Failure mode: the scaffolding makes scores repeatable, but it does not make them impartial. The honest reading of 80–90% adherence is "consistent against a rubric I also wrote." The human baseline therefore mattered more than the score.
One principle collapses into a template once it fires
One principle, once triggered, tends to produce a recurring loop of similar-style copy regardless of what the caption in front of it actually needs. It passes principle-adherence scoring, which is the problem: the rubric measures conformance to the principle, not variety across outputs.
Failure mode: a rubric only catches what you point it at. Nothing in the eval set tested output diversity across repeated runs, so a principle that always fires the same way scored as compliant. A company reorganisation shelved the project before I could fix it.
WHAT I’D DO DIFFERENTLY
The architecture choice went to marketing upfront, with copy accuracy and adherence to their own writing style set as the success criteria, and two routes on the table: scope 12 use cases down to one over time, or start with a pilot of one to three. Knowing what I know now about how these systems behave, I would have run the pilot. Ask the team to pick their top one to three use cases, timebox two weeks, then show them the first round of iteration and testing results and decide from evidence whether to widen, narrow, or stop. I would also give the evaluator a different constitution from the generator, or say plainly that it has the same one. And a rubric needs to test variety across repeated runs, because a principle that always fires the same way passes one that only measures conformance.
Reference
ConstitutionMaker: Interactively Critiquing Large Language Models by Converting Feedback into Principles(opens arXiv in a new tab)