What it does
Given a structured brand intake (name, audience, archetype, competitors,
personality sliders, channels, …) it writes one deliverable at a time from a
fixed set of 12:
Table with columns: Phase, Sections| Phase | Sections |
|---|
| Strategy | Brand Core, Positioning Statement, Audience Personas, Competitive Frame, Archetype Expression |
| Verbal Identity | Brand Personality & Voice, Messaging Pillars, Tagline Territory |
| Visual Identity | Visual Direction Brief |
| Experience | Channel Voice Adaptation, Brand Guardrails |
| Growth | 90-Day Activation Checklist |
It was trained on one exact prompt shape, and it degrades noticeably if you
depart from it. Use the chat template with thinking disabled.
System message:
You are a senior brand strategist writing one deliverable for a client's Brand Document.
Be concrete, specific, and free of marketing filler. Output clean markdown for a single
deliverable (do not repeat the whole document). Never invent brand facts beyond what the
intake provides — if information needed for a claim is missing, write 'TBD — needs founder
input' instead of inventing it.
User message:
DELIVERABLE: {section name}
INSTRUCTIONS:
{section instructions}
BRAND INTAKE (ground truth — do not contradict, do not invent beyond this):
{intake as JSON, indent=2}
Write only the "{section name}" deliverable now, in markdown.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "vivekchakraverty/qwen3-1.7b-brandforge"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.float16).to("cuda")
prompt = tok.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = tok(prompt, return_tensors="pt").to("cuda")
out = model.generate(**inputs, max_new_tokens=1500, do_sample=True, temperature=0.7, top_p=0.9)
Qwen3 emits an empty <think></think> block even with thinking disabled — strip
it before showing the text to a user.
Training
Supervised fine-tuning followed by DPO, on brand-document sections produced by a
larger teacher model and then put through a critique-and-revise pass and a judge
filter. Retrieval was deliberately discarded at training time: the branding
knowledge is meant to live in the weights so that inference needs nothing but the
prompt above.
Limitations
- It is 1.7B. It writes to a consistent house structure, not with the
judgement of a senior strategist. Treat every section as a first draft.
- It only knows these 12 sections in this prompt format. It is not a general
marketing assistant.
- It was trained to write
TBD — needs founder input rather than invent facts,
but it can still overreach — check any claim that reads like a statistic,
certification, or customer result.
- English only.
License
Apache-2.0, inherited from Qwen3-1.7B.