Portfolio — Communications & Strategy

Making organizations
say what they mean.

Nine and a half years as the communications lead at SAITSA — the students' association serving 15,000+ students at SAIT in Calgary. Multi-channel strategy, brand stewardship, revenue generation, and the occasional fire drill.

9.5 Years at SAITSA
15K+ Student members reached
$45K Annual ad & sponsorship revenue
22K Peak email subscribers
01 / 03

Student Bulletin
Rebuild

Email HTML/CSS Brand Strategy

The student bulletin reached 15,000–22,000 subscribers weekly — but the template was a patchwork of Constant Contact's drag-and-drop builder, accumulated over years. No consistent hierarchy, mismatched styling, no relationship to the broader visual identity the design team was building.

Email HTML is its own constraint system: every major client renders CSS differently, many strip it entirely, and Outlook has been doing its own thing since the mid-2000s. The template had to work everywhere, from Gmail on a phone to Outlook on a desktop.

Rebuilt the template from scratch in clean, table-based HTML/CSS — the kind email clients actually respect — using Claude as a development partner and Dreamweaver's live preview for real-time testing across rendering environments. Iterated through the constraints methodically: padding inconsistencies, image blocking fallbacks, mobile breakpoints that don't break Outlook.

The new design was aligned with the student handbook visual identity — same typographic tone, same structural logic, same sense that these materials come from the same place. The result was a template any team member could edit without touching code: input the content, get the updated HTML, send.

Before — Constant Contact builder After — Custom HTML/CSS template

Left: the previous template, assembled in Constant Contact's visual builder. Right: the rebuilt template, coded from scratch to align with the 2025–26 student handbook visual identity and optimized for consistent rendering across email clients.

22K Peak weekly subscribers
70+ Pages — matching handbook design
0 Code edits needed per issue after rebuild
02 / 03

The Tedi Hotline —
a new channel

SMS Revenue Channel Strategy Partnership

Email is the workhorse of student communications — but the open rate data tells an uncomfortable story. SMS open rates sit near 98%. Email hovers somewhere between 20–40% on a good week. A significant portion of the membership wasn't being reached reliably through the bulletin alone.

There was also a sponsorship ceiling on the bulletin: only so many ad placements per send, and the inventory was spoken for. A new channel meant new ad inventory and new leverage with partners.

Researched and proposed the Tedi Hotline — an SMS channel on TextMagic, named after the organization's mascot, Tedi the Yeti. Built the sign-up infrastructure, wrote the onboarding copy, and designed the weekly send cadence (the Monday Report).

Then tied it to the Calgary Flames partnership: giveaway entry required an active Tedi Hotline subscription. Students who wanted the tickets had to join the SMS list first. Three consecutive monthly giveaways — September, October, and November 2025 — drove over 1,000 form completions in a single semester while the SMS list grew.

"Get the Monday Report with weekly highlights, exclusive contests, giveaways & special student discounts. Text TEDI to 1-833-245-9191."

— Tedi Hotline sign-up prompt, live in the bulletin and at events
1,006 Giveaway entries in one semester
3 Consecutive monthly Flames partnerships
~98% SMS open rate vs. email
$5K Specsavers — per semester in sponsorship
03 / 03

Crisis Comms —
live on camera

Crisis Live Events Issues Management

October 2025. SAITSA hosted the Calgary Mayoral Debate — a live, streamed event with mayoral candidates, a student audience, and a YouTube broadcast. Audience members were to submit questions in real time via QR code during the debate.

At the 54-minute mark, the host announced the QR code wasn't working. The audience question system had gone down live, on camera, with candidates at the podium.

I was standing in the back of the room watching the proceedings when I heard the announcement. Ran to my laptop. Diagnosed the issue immediately: my team had used a QR code linked to a Tally default URL rather than the custom domain I'd built, and it was pointing to the pre-debate intake form rather than the live one. The QR code was static — it couldn't be updated remotely.

Solution: copied the live form into the old form on Tally, effectively redirecting the existing link to the correct destination. New QR code generated, redistributed to the room. The host kept the debate moving with a smooth ad lib. The whole recovery took minutes. The debate concluded without further disruption — 4,300+ people watched the stream.

Full debate on record — 4,300+ views. The host announces the QR code failure at the 54-minute mark; the audience question round resumes shortly after.