Case files
Health practice: six-month patient-lifecycle program
Client confidential
EMAILTEXT MESSAGEINTAKESOCIAL
- Fixed the practice's email campaigns so they stopped landing in spam for most sends.
- Rebuilt the automated text-message system with new triggers across the patient journey.
- Designed a new patient sign-in form that captures how the patient is doing at that moment and sends those answers to the doctor's room.
- Planned and wrote social campaigns covering the whole lifecycle, from first awareness through returning patients.
Four healthcare brands: social content
Contract · brands confidential
SOCIALMULTI-BRAND VOICE
As a contractor for a learning-platform group, I produced social content for four separate healthcare brands, each with its own voice and audience.
Tina’s Natural Nails: relaunch and presence repair
Named with permission on file · 2026
PRESENCE AUDITWEBSITESOCIALFLYERCAROUSELONGOING MONITORING
The one engagement named here, because permission to name is on file. A relaunch package for a long-established salon, written per channel instead of one caption pasted everywhere. Each channel got its own hook and link convention, and every claim was checked against a source before it went out.
Underneath the messaging, a presence and reputation audit and then the repair. Seven changes shipped, each confirmed live on the site rather than marked done:
- Site backup taken before anything was touched.
- Facebook link corrected.
- Stale map link replaced.
- Copyright year corrected.
- Terms repointed.
- Terms page created.
- Privacy Policy published.
The site has been monitored on a schedule since launch. Results numbers are deliberately not shown: they publish when the sprint closes, not before.
Presence and reputation audit
Productized method
AUDITEVIDENCEFIX LISTHUMAN GATE
A ten-page workbook, sections A to D, that returns every finding in the same five fields: finding, evidence, severity, the owner-facing summary, and the fix. It ships with an execution prompt for the AI that runs it — and that prompt leaves severity blank on purpose. Severity and the owner-facing call are judgment, so a human makes them.
The method includes a crawlability check: whether the page a search engine sees is the page a person sees. On one run, the top result for a business was a years-old critique quoting a clause that no longer existed, while the correction lived on pages a crawler could not read.
An audit that hides its gaps is worse than one that has them.
From the workbook's blind-spot table
Roughly 70% of this work is gathering, not judgment — hand-estimated across our own runs, and stated that way rather than dressed up as a measured figure.
Per-platform copy: one idea, three platforms
Zipline Creative · October 2026
LINKEDINXFACEBOOKCLAIMS SHEET
One idea written three ways for three platforms, with a claim-and-basis sheet behind it. LinkedIn opening:
My AI writes most of my first drafts. None of them go out without me.
That's not a promise I make on good days. It's built into my tools as gates.
LinkedIn post, opening lines
B2B services marketplace: brand voice framework
Client confidential · 2025
POSITIONINGVOICE & TONEBRAND GUIDE
A brand guide covering mission, vision, story, audience, positioning, voice and visual identity, written so a team could use it the same day.
Voice: Clear, confident and people-first. Short sentences, active verbs, jargon-free.
Positioning: Connects the right people to the right projects, fast.
From the delivered brand guide (client name withheld)
Playbooks that run themselves: the content engine
Zipline Creative · actively producing content daily
PLAYBOOKTEMPLATESCLAIMS SHEETAI-ASSISTED
I didn't stop at writing the playbook. I built the tool that runs it. Each production day follows the same documented steps, and every run leaves its files behind for review:
- Pick one angle tied to one keyword cluster, rotated so no audience goes a week untouched.
- Adapt existing, approved messaging before inventing anything new.
- Write copy per platform: LinkedIn opens with the claim, Instagram front-loads the hook, YouTube gets a title, description and chapters.
- Produce the assets: carousel, video script and shot list, long-form post.
- Send every piece to a specific offer. A piece with no destination doesn't ship.
- Check every claim against a source on a claim/basis sheet. No unmeasured metrics, and no client named without permission.
Each production day creates platform copy, creative assets and a claims sheet. A human approves before anything is published. The long-form output is on the Zipline blog.
Creative direction with reasons behind it
Method · measured October 2026
CATEGORY AUDITMEASUREDPOSITIONING MAPRULE SET
Before any design, I measure the category instead of describing it. Competitor sites are loaded in a headless browser and read on the same attributes every time: computed background, body and heading typeface, heading size and weight, the five most-used colours by element count, image count, word count, and the first heading on the page. Four clusters were mapped this way.
Measuring rather than asserting changed the answers. In one cluster five of six competitors ran light backgrounds, which made a dark theme the weaker claim rather than the bolder one. A distinctive display face over an Inter body turned out to be a shared convention across the set, not a position. And the purple we use appeared nowhere in the group.
n=3 valid of 4 attempted. One fetch returned a 404, so its measurements are of an error page and were discarded rather than counted.
From the category map, 12 October 2026
That map becomes a brief and an always/never rule set, and the work is judged against them — including a sameness check, so nothing ships that looks like the last project with new names swapped in. Every visual choice carries a stated reason, which is what lets an in-house team keep using the system.