Automated AI Marketing Content Generator
The client was a marketing operations platform serving roughly two thousand mid-market brands across e-commerce and B2B SaaS. Their customer success team reported that the single biggest reason for slow campaign velocity was content production — every multi-channel campaign required a blog post, three ad variants per platform, and a sequence of social posts, which marketers produced manually or outsourced to freelance writers who needed two-week lead times.
Generative AI Solutions
Marketing SaaS
11 weeks from kickoff to general availability
4 specialists
The full story
The user problem was not "write copy faster" in isolation. It was the brand-voice drift that appeared as soon as multiple writers were involved, and the rework cycle when a draft came back tonally off. Marketers ended up spending the time they saved on first-draft generation on second-draft brand-voice corrections, which made the existing generic AI writing tools a wash on time saved.
We approached the problem as a brand-voice modeling problem first and a content generation problem second. The platform ingests a brand’s existing content library, fits a voice profile that includes vocabulary preferences, sentence rhythm targets, and forbidden phrases, then conditions every generation on that profile. Each output is scored against the profile and regenerated automatically if the score falls below a tenant-configurable threshold.
What shipped is a campaign workspace where a marketer briefs a campaign once and gets a coordinated asset pack — blog post, three ad variants per platform, and a five-post social sequence — all in the brand voice. Drafts publish straight to HubSpot for blog and email and to Mailchimp for newsletters, with a single human review queue rather than per-asset approval. Voice profile updates retrain in under ten minutes so seasonal tone shifts can be reflected without a re-onboarding.
Generic AI writing tools saved first-draft time and then gave it back during brand-voice rework — net zero on campaign velocity.
Every multi-channel campaign required a coordinated set of assets, but each was produced in isolation and tonally drifted.
Freelance lead times of two weeks killed the test-and-iterate cadence the marketing teams wanted to run on paid channels.
Existing generic AI tools produced output that read as AI, which forced a tone rewrite that erased the time savings.
Publishing to HubSpot and Mailchimp was manual, with copy-paste errors creating tracking and personalization breakage.
There was no shared brand-voice artifact across writers, so onboarding a new freelancer meant another tone calibration cycle.
How we structured the engagement
Solved brand voice first as a learnable profile, then layered content generation on top conditioned on that profile.
- 01Phase 01Weeks 1-2
Discovery
Reviewed thirty brand voice guides across the existing customer base, ran rewrite exercises with five marketing leads, and measured rework time on existing AI-generated drafts. Output: a brand voice schema covering vocabulary, sentence rhythm, forbidden phrases, and example pairs.
- 02Phase 02Weeks 3-4
Architecture
Designed a voice profile fitter that ingests up to two hundred existing pieces of brand content and produces a small adapter over the base LLM. Built a campaign orchestrator that plans asset interdependencies — for example, the social sequence draws hooks from the blog post.
- 03Phase 03Weeks 5-9
Build
Shipped the voice profile pipeline first using a LoRA over GPT-4o-mini for cost reasons. Built the campaign orchestrator in LangGraph for explicit state. Wrote bidirectional HubSpot and Mailchimp connectors with conflict resolution for in-flight edits.
- 04Phase 04Weeks 10-11
Launch
Rolled out to twenty design-partner brands over six weeks, measured rework rate weekly, and tuned the voice scoring threshold until rework dropped below ten percent of drafts. Shipped the seasonal voice override in week ten after holiday-campaign feedback.
What we built, component by component
- 01
Voice profile fitter
Ingests brand content corpus and produces a LoRA adapter plus a structured voice manifest used for scoring.
- 02
Campaign orchestrator
LangGraph state machine that plans interdependent assets and routes generation jobs in the correct order.
- 03
Generation worker
Calls the base model with the voice adapter applied, returns drafts plus per-asset scoring against the voice manifest.
- 04
Voice scorer
Compares drafts against the voice manifest on vocabulary, rhythm, and forbidden phrases, triggers regeneration below threshold.
- 05
Review queue
Single human review surface across all assets in a campaign with side-by-side voice score and brand-voice annotations.
- 06
Publish connectors
Bidirectional HubSpot and Mailchimp integrations with conflict resolution for edits made downstream of the platform.
A marketer briefs a campaign, the orchestrator plans the dependency graph between assets, and the generation worker drafts each asset with the voice adapter applied. The voice scorer evaluates every draft, triggers regeneration where needed, and publishes the approved pack to HubSpot and Mailchimp via the connector layer with conflict resolution.
The trade-offs we made and why
Modeled brand voice as a learnable profile rather than a prompt
A prompt-only brand voice instruction degrades as context grows and produces inconsistent output across asset types. A small adapter trained on the brand corpus carried the voice consistently and let us version voice changes the way you version any other artifact.
Used LangGraph for the campaign orchestrator
A campaign is a state machine — blog blocks ad copy, ad copy informs social hooks. A chain-of-prompts approach hid this structure and made retries painful. LangGraph gave us explicit nodes and edges that made the asset graph debuggable.
Picked GPT-4o-mini plus LoRA over a frontier model
The frontier model produced marginally better first drafts but the brand-voice adapter closed the gap and cut per-asset cost by roughly six times. At a campaign volume of forty assets per brand per month, the cost difference funded the rest of the platform.
Single review queue across all assets, not per asset
Per-asset approval forced marketers to re-engage with each piece in isolation, which is exactly the workflow we were trying to replace. A unified queue with side-by-side voice scoring made review a five-minute task rather than a forty-minute one.
What changed for the client
time to campaign
Measured from brief approval to all assets published, across forty design-partner campaigns before and after rollout.
content cost
Per-campaign blended cost including freelance spend, internal hours, and platform fees on the cohort.
rework rate
Share of generated drafts that required tone-based human rewrite after voice scorer threshold tuning was complete.
voice retrain
Time to refit a brand voice profile after a corpus update, including embedding and adapter training on a single A10G.
“We stopped paying for first drafts and started paying for distribution. The voice scoring is the part that made us trust it with paid campaigns.”
The tools behind the system
Built with a deliberate stack chosen for production reliability and operational velocity.
Lessons learned from the build
Brand voice is a model problem, not a prompt problem. Every hour we spent on prompt engineering before we committed to the adapter approach was wasted. Once we modeled the voice as a learnable artifact, every downstream decision got easier.
The review queue carried more weight than any generation feature. Marketers told us repeatedly that the unified queue was the reason they trusted the system enough to publish on paid channels. We would design that surface first next time, before any generation work.
Voice drift on long-form content was the failure mode we did not anticipate. Blog posts past two thousand words drifted tonally even with the adapter applied. We added a per-section voice scorer in version two that caught the drift, which we would have shipped at launch in hindsight.
Similar delivery work usually starts in these service areas
If you are exploring a similar product, workflow, or implementation challenge, these are the service tracks that usually fit best.
Where this project sits in the bigger market picture
Patterns for AI features, internal tooling, and product delivery in SaaS businesses.
Build a result-driven AI product with a team that has shipped before
If you are exploring a similar product, workflow, or AI use case, we can help scope the right architecture, delivery model, and first milestone.
Related case studies worth reviewing next
Have an AI idea, messy workflow, or product vision? Let's make it buildable.
Bring the problem. We'll help shape the product, define the architecture, and show the fastest path to a serious first version.
A practical first roadmap in the discovery call
Architecture, timeline, and delivery options in plain English
Security, scalability, and reliability discussed upfront
Model registry
softus-rag-v4.2
187ms
Latency
128k
Context
$0.004
Cost / req
Evaluation suite
Deploy pipeline
prod / canary 25% — healthy
