t.cookie;return r.split(";").map(e=>e.trim()).filter(t=>t?.startsWith(e))[0]?.split("=")[1]}catch(e){return""}},h=(e="",t="",r="/")=>`${e}=; ${t?`domain=${t};`:""} max-age=0; path=${r}; expires=Thu, 01 Jan 1970 00:00:01 GMT`;function m(e,t){try{return sessionStorage[e]("reload",t||"")}catch(e){console.error("ATS: Error calling sessionStorage:",e)}}let v="client-session-bind",w="sec-fetch-unsupported",{experiments:T}=window.viewerModel,{cookie:S}=(e=new Set([v,"client-binding",w,"svSession","smSession","server-session-bind","wixSession2","wixSession3"].map(e=>e.toLowerCase())),a({context:document,property:"cookie",set:{func:t=>{var r,o;let n,i;return r=document,o=void 0,n=g(),i=p(t.split(";")[0]||"")||"",void([...e].every(e=>!i.startsWith(e.toLowerCase()))&&n?.set?n.set.call(r,t):o&&console.warn(o))}},get:{func:()=>(function(e,t){let r=g();if(!r?.get)throw Error("Cookie descriptor or getter not available");return d(r.get.call(e),t).join("; ")})(document,e)},enumerable:!0}),{cookieStore:function(e,t){if(!globalThis?.cookieStore)return;let r=globalThis.cookieStore.get.bind(globalThis.cookieStore),o=globalThis.cookieStore.getAll.bind(globalThis.cookieStore),n=globalThis.cookieStore.set.bind(globalThis.cookieStore),i=globalThis.cookieStore.delete.bind(globalThis.cookieStore);return a({context:globalThis.CookieStore.prototype,property:"get",value:async function(t){return f(("string"==typeof t?t:t.name)||"",e)?null:r.call(this,t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"getAll",value:async function(){let t=await o.apply(this,Array.from(arguments));return d(t,e)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"set",value:async function(){let r=Array.from(arguments);if(!f(1===r.length?r[0].name:r[0],e))return n.apply(this,r);t&&console.warn(t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"delete",value:async function(){let t=Array.from(arguments);if(!f(1===t.length?t[0].name:t[0],e))return i.apply(this,t)},enumerable:!0}),a({context:globalThis.cookieStore,property:"prototype",value:globalThis.CookieStore.prototype,enumerable:!1}),a({context:globalThis,property:"cookieStore",value:globalThis.cookieStore,enumerable:!0}),{get:r,getAll:o,set:n,delete:i}}(e,void 0),cookie:g()}),k="tbReady",x="security_overrideGlobals",{experiments:E,siteFeaturesConfigs:P,accessTokensUrl:C}=window.viewerModel,D={},M=(t=b(v,S),T["specs.thunderbolt.browserCacheReload"]&&(b(w,S)||t?m("removeItem"):function(){if("undefined"!=typeof window){let e=performance.getEntriesByType("navigation")[0];return"back_forward"===(e?.type||"")}return!1}()&&function(){let{counter:e}=function(){let e=m("getItem");if(e){let[t,r]=e.split("-"),o=r?parseInt(r,10):0;if(o>=3){let e=t?Number(t):0;if(Date.now()-e>6e4)return{counter:0}}return{counter:o}}return{counter:0}}();e<3?(function(e=1){m("setItem",`${Date.now()}-${e}`)}(e+1),window.location.reload()):console.error("ATS: Max reload attempts reached")}()),r=h(v),o=h(v,location.hostname),S.set.call(document,r),S.set.call(document,o),t);M&&(D["client-binding"]=M);let O=fetch;addEventListener(k,function e(t){let{logger:r}=t.detail;try{window.tb.init({fetch:O,fetchHeaders:D})}catch(t){let e=Error("TB003");r.meter(`${x}_${e.message}`,{paramsOverrides:{errorType:x,eventString:e.message}}),window?.viewerModel?.mode.debug&&console.error(t)}finally{removeEventListener(k,e)}}),E["specs.thunderbolt.hardenFetchAndXHR"]||(window.fetchDynamicModel=()=>P.sessionManager.isRunningInDifferentSiteContext?Promise.resolve({}):fetch(C,{credentials:"same-origin",headers:D}).then(function(e){if(!e.ok)throw Error(`[${e.status}]${e.statusText}`);return e.json()}),window.dynamicModelPromise=window.fetchDynamicModel())})();
//# sourceMappingURL=handleAccessTokens.inline.dc220a1a.bundle.min.js.map
top of page
I’m a social first strategist passionate about solving business problems through creativity. With a strong grasp of both data and the creative process, I build content and campaigns that bridge strategy and execution, driving performance while leaving a lasting impression.
For me, turning a blank page into something visually captivating is the closest thing to real world magic. I’m driven by the chance to shape how iconic brands are seen, shared, and most importantly, remembered.
Oh, and I forgot to mention, I’m a massive car enthusiast if that’s not already clear from the brands I’ve worked with. Feel free to shoot me a message if you want to connect or just jam on cars or strategy.
Branded Hashtag Uses:
100K+
Canadian Car Culture
Launched @CanadianCarCulture in high school. It grew from a side project into a 45K+ community and a hashtag with 100K+ posts. Not bad for a class assignment.
I connect the dots to drive cultural relevance everywhere people connect.
Social Strategist
Half a decade of Work Experience bottom of page