Portfolio — Communications & Strategy

The right message,
on the right channel.

Nine and a half years as the communications lead at SAITSA — the students' association serving 15,000+ students at SAIT in Calgary. Strategy, campaigns, sponsorships, and the occasional fire drill.

9.5 Years at SAITSA
15K+ Student members reached
150K+ Site users, 1.3M interactions (2024)
1,000+ Tedi Hotline subscribers
~$50K Sponsor activations booked, 2024–25
01 / 03

Student Bulletin
Rebuild

Email HTML/CSS Brand Strategy

The student bulletin reached 15,000+ students 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.

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).

Launched it with the Flames "Tedi Scavenger" hunt — a Calgary Flames (CSEC) ticket-giveaway partnership that required an active Tedi Hotline subscription to enter, turning giveaway interest into subscribers. The list grew from roughly 250–500 subscribers in its first year to 1,000+, and the channel opened new ad inventory that hadn't existed before — inventory sponsors including Specsavers bought into as part of broader packages.

"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,000+ Subscribers (from ~250–500 in year one)
~98% SMS open rate (email: 20–40%)
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 at the back of the room when I heard the announcement. Got to my laptop and had the diagnosis in under a minute: the printed QR code pointed to the pre-debate intake form at a default URL, not the live question form — and a static QR code can't be re-pointed remotely.

The fix: rebuild the live form inside the old one, so the link already in the room's hands led to the right place. A fresh QR code went out as backup, the host ad-libbed the gap, and the question round resumed within minutes. 4,300+ people watched the stream — most never knew anything had gone wrong.

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.