Timeline: restore original concept — light theme with Mintlify-inspired palette, vertical timeline line, alternating cards, scroll-triggered reveals, gold + green accent on white/cream

This commit is contained in:
Tony0410
2026-07-20 21:57:52 +08:00
parent cd4849b4ae
commit 3a7f8edc98

View File

@@ -4,389 +4,578 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Career Arc · Anthony Martin</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<style>
*{margin:0;padding:0;box-sizing:border-box}
:root{
--bg:#0a0a0a;
--surface:#111;
--border:rgba(255,255,255,0.06);
--text:#c8c8c8;
--text-b:#e8e8e8;
--text-m:#777;
--text-dim:#555;
--green:#1a472a;
--green-l:#2d7a47;
--bg:#f8f9fa;
--surface:#fff;
--text:#1a1a1a;
--text-m:#6b7280;
--text-dim:#9ca3af;
--border:rgba(0,0,0,0.06);
--border-h:rgba(0,0,0,0.1);
--gold:#d4a843;
--cream:#f5f0e8;
--radius:6px;
--gold-l:#f5e8c8;
--green:#2d7a47;
--green-l:#e8f5ee;
--cream:#fdf8f0;
--shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.03);
--radius:12px;
}
body{
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
background:var(--bg);
color:var(--text);
line-height:1.6;
overflow-x:hidden;
-webkit-font-smoothing:antialiased;
line-height:1.6;
}
::selection{background:rgba(212,168,67,0.2);color:var(--cream)}
a{color:var(--green-l);text-decoration:none}
::selection{background:rgba(212,168,67,0.2);color:var(--text)}
a{color:var(--green);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--gold)}
/* Container */
.container{max-width:720px;margin:0 auto;padding:3rem 1.5rem 4rem}
/* Hero */
.hero{margin-bottom:3rem}
.hero h1{font-size:2rem;font-weight:700;color:var(--text-b);letter-spacing:-0.02em;margin-bottom:0.3rem}
.hero p{font-size:0.9rem;color:var(--text-m);line-height:1.5}
.hero{
min-height:100vh;
display:flex;flex-direction:column;justify-content:center;align-items:center;
text-align:center;padding:2rem;position:relative;
background:linear-gradient(180deg,var(--cream) 0%,var(--bg) 100%);
}
.hero::after{
content:'';position:absolute;bottom:0;left:10%;right:10%;height:1px;
background:linear-gradient(90deg,transparent,var(--border-h),transparent);
}
.hero h1{
font-size:clamp(2.8rem,6vw,5rem);font-weight:800;
letter-spacing:-0.03em;line-height:1.05;color:var(--text);
margin-bottom:0.6rem;
}
.hero h1 span{color:var(--gold)}
.hero .sub{
font-size:clamp(0.95rem,1.8vw,1.15rem);font-weight:400;
color:var(--text-m);max-width:480px;line-height:1.5;margin-bottom:1.5rem;
}
.hero .tag{
display:inline-flex;align-items:center;gap:0.4rem;
background:var(--green-l);color:var(--green);
padding:0.35rem 1rem;border-radius:100px;
font-size:0.78rem;font-weight:500;
}
.hero .scroll-hint{
position:absolute;bottom:2.5rem;
color:var(--text-dim);font-size:0.7rem;
display:flex;flex-direction:column;align-items:center;gap:0.35rem;
letter-spacing:0.04em;text-transform:uppercase;
cursor:pointer;transition:color 0.2s;
}
.hero .scroll-hint:hover{color:var(--text-m)}
.hero .scroll-hint .chev{width:16px;height:16px;animation:bounce 2s ease-in-out infinite}
/* Section heading */
.section-heading{
font-size:0.7rem;
font-weight:600;
color:var(--gold);
text-transform:uppercase;
letter-spacing:0.1em;
margin-bottom:1.25rem;
padding-top:2rem;
}
.section-heading:first-of-type{padding-top:0}
/* Role card */
.role-card{
margin-bottom:1.5rem;
opacity:0;
animation:fadeIn 0.5s ease both;
}
.role-card:nth-child(1){animation-delay:0.05s}
.role-card:nth-child(2){animation-delay:0.1s}
.role-card:nth-child(3){animation-delay:0.15s}
.role-card:nth-child(4){animation-delay:0.2s}
.role-card:nth-child(5){animation-delay:0.25s}
.role-card:nth-child(6){animation-delay:0.3s}
.role-header{
display:flex;
justify-content:space-between;
align-items:baseline;
flex-wrap:wrap;
gap:0.3rem;
margin-bottom:0.15rem;
}
.role-title{font-size:1rem;font-weight:600;color:var(--text-b)}
.role-date{font-size:0.78rem;color:var(--text-dim);white-space:nowrap}
.role-company{font-size:0.85rem;color:var(--green-l);font-weight:500;margin-bottom:0.5rem}
.role-summary{font-size:0.82rem;color:var(--text);line-height:1.6;margin-bottom:0.5rem}
/* Expand toggle */
.expand-btn{
font-size:0.72rem;color:var(--text-dim);cursor:pointer;
background:none;border:none;padding:0;display:inline-flex;align-items:center;gap:0.3rem;
transition:color 0.2s;
}
.expand-btn:hover{color:var(--gold)}
.expand-btn .arrow{display:inline-block;font-size:0.55rem;transition:transform 0.2s}
.expand-btn.open .arrow{transform:rotate(180deg)}
.details{
max-height:0;overflow:hidden;
transition:max-height 0.35s ease,opacity 0.25s ease;
opacity:0;
}
.details.open{max-height:2000px;opacity:1}
.details ul{list-style:none;padding:0.6rem 0 0}
.details ul li{
padding:0.25rem 0;font-size:0.78rem;color:var(--text);line-height:1.55;
padding-left:1rem;position:relative;
}
.details ul li::before{content:'→';position:absolute;left:0;color:var(--gold);font-size:0.7rem}
.details .tags{
display:flex;flex-wrap:wrap;gap:0.3rem;padding-top:0.6rem;margin-top:0.6rem;
border-top:1px solid var(--border);
}
.details .tags span{
background:rgba(26,71,42,0.15);color:var(--text-m);
font-size:0.65rem;padding:0.15rem 0.5rem;border-radius:3px;
}
/* Education */
.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.edu-card{
background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
padding:1rem 1.1rem;opacity:0;animation:fadeIn 0.5s ease 0.35s both;
}
.edu-card h3{font-size:0.85rem;font-weight:600;color:var(--text-b);margin-bottom:0.1rem}
.edu-card .detail{font-size:0.75rem;color:var(--text-m);margin-bottom:0.1rem}
.edu-card .year{font-size:0.65rem;color:var(--green-l)}
/* Skills section */
.skills-grid{display:flex;flex-wrap:wrap;gap:0.4rem}
.skill-tag{
background:var(--surface);border:1px solid var(--border);border-radius:100px;
padding:0.3rem 0.9rem;font-size:0.72rem;color:var(--text);
opacity:0;animation:fadeIn 0.4s ease both;
}
.skill-tag:nth-child(1){animation-delay:0.05s}
.skill-tag:nth-child(2){animation-delay:0.08s}
.skill-tag:nth-child(3){animation-delay:0.11s}
.skill-tag:nth-child(4){animation-delay:0.14s}
.skill-tag:nth-child(5){animation-delay:0.17s}
.skill-tag:nth-child(6){animation-delay:0.2s}
.skill-tag:nth-child(7){animation-delay:0.23s}
.skill-tag:nth-child(8){animation-delay:0.26s}
.skill-tag:nth-child(9){animation-delay:0.29s}
.skill-tag:nth-child(10){animation-delay:0.32s}
.skill-tag:hover{border-color:rgba(212,168,67,0.3);color:var(--cream)}
/* Timeline wrapper */
.timeline-wrapper{max-width:880px;margin:0 auto;padding:0 1.5rem 4rem}
/* Present banner */
.present-banner{
background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
padding:1.2rem 1.3rem;margin-bottom:2rem;position:relative;overflow:hidden;
background:var(--cream);
border:1px solid var(--border);
border-radius:var(--radius);
padding:1.5rem 2rem;margin:3rem auto;
max-width:680px;text-align:center;position:relative;
box-shadow:var(--shadow);
}
.present-banner::before{
content:'';position:absolute;top:0;left:0;right:0;height:1px;
content:'';position:absolute;top:0;left:2rem;right:2rem;height:2px;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
border-radius:1px;
}
.present-banner .label{
font-size:0.6rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);font-weight:600;margin-bottom:0.3rem;
font-size:0.65rem;text-transform:uppercase;letter-spacing:0.12em;
color:var(--gold);font-weight:600;margin-bottom:0.25rem;
}
.present-banner .label .dot{
display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;
margin-right:0.35rem;vertical-align:middle;animation:pulse 2s ease-in-out infinite;
display:inline-block;width:6px;height:6px;background:var(--gold);
border-radius:50%;margin-right:0.3rem;vertical-align:middle;
animation:pulse 2s ease-in-out infinite;
}
.present-banner h2{font-size:1.05rem;font-weight:600;color:var(--text-b);margin-bottom:0.2rem}
.present-banner p{font-size:0.8rem;color:var(--text);line-height:1.55}
.present-banner h2{font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:0.2rem}
.present-banner p{font-size:0.82rem;color:var(--text-m);line-height:1.55;max-width:560px;margin:0 auto}
/* Timeline */
.timeline{position:relative;padding-top:1rem}
/* The vertical line */
.timeline-line{
position:absolute;left:50%;top:0;bottom:0;
width:2px;
background:linear-gradient(to bottom,var(--gold-l),var(--gold),var(--gold-l));
transform:translateX(-50%);
}
/* Items */
.timeline-item{
position:relative;
margin-bottom:2.5rem;
opacity:0;
transform:translateY(30px);
transition:opacity 0.7s ease,transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.timeline-item.visible{opacity:1;transform:translateY(0)}
.timeline-item:nth-child(odd) .timeline-card{margin-left:auto}
/* Dot */
.timeline-dot{
position:absolute;left:50%;top:1.8rem;
width:14px;height:14px;
background:var(--gold);
border:2px solid var(--bg);
border-radius:50%;
transform:translateX(-50%);
z-index:2;
transition:transform 0.3s ease,box-shadow 0.3s ease;
box-shadow:0 0 0 0 var(--gold-l);
}
.timeline-item.visible .timeline-dot{
transform:translateX(-50%) scale(1.15);
box-shadow:0 0 0 6px rgba(212,168,67,0.15);
}
/* Card */
.timeline-card{
width:calc(50% - 36px);
background:var(--surface);
border:1px solid var(--border);
border-radius:var(--radius);
padding:1.3rem 1.5rem;
cursor:pointer;
transition:border-color 0.25s ease,box-shadow 0.25s ease,transform 0.25s ease;
position:relative;
box-shadow:var(--shadow);
}
.timeline-card:hover{
border-color:var(--border-h);
box-shadow:0 4px 12px rgba(0,0,0,0.06),0 1px 3px rgba(0,0,0,0.04);
transform:translateY(-1px);
}
.timeline-card:active{transform:translateY(0)}
/* Connector arrows */
.timeline-item:nth-child(odd) .timeline-card::after{
content:'';position:absolute;top:1.6rem;left:-7px;
border:7px solid transparent;border-right-color:var(--border);
z-index:1;
}
.timeline-item:nth-child(even) .timeline-card::after{
content:'';position:absolute;top:1.6rem;right:-7px;
border:7px solid transparent;border-left-color:var(--border);
z-index:1;
}
/* Card content */
.timeline-card .date{
font-size:0.68rem;font-weight:600;color:var(--gold);
text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.2rem;
}
.timeline-card .role{
font-size:1.05rem;font-weight:600;color:var(--text);
margin-bottom:0.05rem;letter-spacing:-0.01em;
}
.timeline-card .company{
font-size:0.85rem;font-weight:500;color:var(--green);margin-bottom:0.1rem;
}
.timeline-card .location{
font-size:0.7rem;color:var(--text-dim);margin-bottom:0.5rem;
}
.timeline-card .summary{
font-size:0.8rem;color:var(--text-m);line-height:1.55;margin-bottom:0.4rem;
}
.timeline-card .expand-btn{
font-size:0.72rem;font-weight:500;color:var(--green);
cursor:pointer;display:inline-flex;align-items:center;gap:0.3rem;
border:none;background:none;padding:0;
transition:color 0.2s;
}
.timeline-card .expand-btn:hover{color:var(--gold)}
.timeline-card .expand-btn .arrow{
display:inline-block;font-size:0.55rem;
transition:transform 0.25s ease;
}
.timeline-card .expand-btn.open .arrow{transform:rotate(180deg)}
.timeline-card .details{
max-height:0;overflow:hidden;
transition:max-height 0.4s ease,opacity 0.3s ease;
opacity:0;
}
.timeline-card .details.open{max-height:2000px;opacity:1}
.timeline-card .details ul{
list-style:none;padding:0.6rem 0 0;margin-top:0.5rem;
border-top:1px solid var(--border);
}
.timeline-card .details ul li{
padding:0.25rem 0;font-size:0.78rem;color:var(--text-m);
line-height:1.5;padding-left:1rem;position:relative;
}
.timeline-card .details ul li::before{
content:'→';position:absolute;left:0;color:var(--gold);font-size:0.65rem;
}
.timeline-card .details .tags{
display:flex;flex-wrap:wrap;gap:0.3rem;padding-top:0.6rem;margin-top:0.5rem;
border-top:1px solid var(--border);
}
.timeline-card .details .tags span{
background:var(--green-l);color:var(--green);
font-size:0.64rem;padding:0.15rem 0.5rem;border-radius:100px;
font-weight:500;
}
.timeline-item:last-child{margin-bottom:0}
/* Education */
.edu-section{max-width:680px;margin:4rem auto;padding:0 1.5rem}
.edu-section h2{
font-size:0.7rem;font-weight:600;color:var(--text-dim);
text-align:center;margin-bottom:1.25rem;
text-transform:uppercase;letter-spacing:0.1em;
}
.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.edu-card{
background:var(--surface);border:1px solid var(--border);border-radius:10px;
padding:1.1rem 1.2rem;
opacity:0;transform:translateY(15px);
transition:opacity 0.5s ease,transform 0.5s ease;
box-shadow:var(--shadow);
}
.edu-card.visible{opacity:1;transform:translateY(0)}
.edu-card h3{font-size:0.85rem;font-weight:600;color:var(--text);margin-bottom:0.1rem}
.edu-card .detail{font-size:0.75rem;color:var(--text-m);margin-bottom:0.1rem}
.edu-card .year{font-size:0.65rem;color:var(--green);font-weight:500}
/* Skills sections */
.skills-section{max-width:680px;margin:0 auto 4rem;padding:0 1.5rem}
.skills-section h2{
font-size:0.7rem;font-weight:600;color:var(--text-dim);
text-align:center;margin-bottom:1.25rem;
text-transform:uppercase;letter-spacing:0.1em;
}
.skills-grid{display:flex;flex-wrap:wrap;gap:0.4rem;justify-content:center}
.skill-tag{
background:var(--surface);border:1px solid var(--border);
border-radius:100px;padding:0.3rem 0.9rem;
font-size:0.72rem;font-weight:400;color:var(--text-m);
opacity:0;transform:scale(0.92);
transition:opacity 0.35s ease,transform 0.35s ease,border-color 0.2s,color 0.2s;
box-shadow:var(--shadow);
}
.skill-tag.visible{opacity:1;transform:scale(1)}
.skill-tag:hover{border-color:var(--green);color:var(--green)}
.skill-tag:nth-child(1){transition-delay:0s}
.skill-tag:nth-child(2){transition-delay:0.03s}
.skill-tag:nth-child(3){transition-delay:0.06s}
.skill-tag:nth-child(4){transition-delay:0.09s}
.skill-tag:nth-child(5){transition-delay:0.12s}
.skill-tag:nth-child(6){transition-delay:0.15s}
.skill-tag:nth-child(7){transition-delay:0.18s}
.skill-tag:nth-child(8){transition-delay:0.21s}
.skill-tag:nth-child(9){transition-delay:0.24s}
.skill-tag:nth-child(10){transition-delay:0.27s}
/* Footer */
.footer{text-align:center;padding:2rem 0 0;color:var(--text-dim);font-size:0.7rem}
.footer{
text-align:center;padding:2rem;color:var(--text-dim);
font-size:0.7rem;border-top:1px solid var(--border);
max-width:680px;margin:0 auto;
}
/* Animations */
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.35}}
/* Reduced motion */
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
.role-card,.skill-tag,.edu-card{opacity:1!important;transform:none!important}
.timeline-item{opacity:1!important;transform:none!important}
.skill-tag,.edu-card{opacity:1!important;transform:none!important}
}
/* Mobile */
@media(max-width:550px){
.container{padding:2rem 1rem 3rem}
@media(max-width:700px){
.timeline-line{left:18px}
.timeline-dot{left:18px;width:12px;height:12px}
.timeline-card{width:calc(100% - 48px);margin-left:44px!important}
.timeline-item:nth-child(odd) .timeline-card::after,
.timeline-item:nth-child(even) .timeline-card::after{
left:-7px;border:7px solid transparent;border-right-color:var(--border);right:auto;
}
.edu-grid{grid-template-columns:1fr}
.role-header{flex-direction:column;align-items:flex-start}
.present-banner{padding:1.2rem 1.3rem}
.timeline-card{padding:1.1rem 1.2rem}
}
</style>
</head>
<body>
<div class="container">
<!-- Hero -->
<div class="hero">
<h1>Career Arc</h1>
<p>Marketing &amp; communications professional · Energy transition · Perth, WA</p>
<p style="margin-top:0.2rem;font-size:0.82rem;color:var(--text-dim)">15+ years across 3 companies · 6 roles</p>
</div>
<!-- Present -->
<div class="present-banner">
<div class="label"><span class="dot"></span>Present</div>
<h2>Open to Opportunities</h2>
<p>Recently finished a Marketing Advisor role at Pacific Energy. Actively exploring corporate marketing, communications and digital strategy roles in Perth and across WA.</p>
</div>
<h2 class="section-heading">Career Progression</h2>
<!-- 1. Pacific Energy -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Marketing Advisor</span>
<span class="role-date">Jun 2025 Jul 2026</span>
<section class="hero">
<h1>Career <span>Arc</span></h1>
<p class="sub">Marketing &amp; communications · Energy transition · Perth, WA</p>
<div class="tag">15+ years · 3 companies · 6 roles</div>
<div class="scroll-hint" onclick="document.querySelector('.present-banner')?.scrollIntoView({behavior:'smooth'})">
<svg class="chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M7 13l5 5 5-5M7 6l5 5 5-5"/></svg>
<span>Explore</span>
</div>
<div class="role-company">Pacific Energy · Kewdale, Perth WA</div>
<div class="role-summary">Corporate marketing, digital content, technical communications, major events and marketing AI strategy.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Developed and rolled out a social media strategy and capability content series across LinkedIn and corporate channels</li>
<li>Defined Pacific Energy's marketing AI strategy and identified practical applications across content, digital workflows and operations</li>
<li>Led marketing collaboration on the corporate website, named Science and Sustainability Website of the Year at the 2026 Australian Web Awards</li>
<li>End-to-end marketing delivery for Australian Clean Energy Summit and Pilbara Summit — sponsorship activation, creative, content, logistics</li>
<li>Translated complex project information into executive comms covering battery storage, remote power, hybrid systems</li>
<li>Maintained brand voice and visual standards across digital, print, signage, social and event channels</li>
</ul>
<div class="tags">
<span>B2B Marketing</span><span>AI Strategy</span><span>Web Awards</span><span>Event Management</span><span>Corporate Comms</span>
</section>
<div class="timeline-wrapper">
<!-- Present -->
<div class="present-banner" style="opacity:0;animation:fadeUp 0.8s ease 0.4s both">
<div class="label"><span class="dot"></span>Present</div>
<h2>Open to Opportunities</h2>
<p>Recently finished a Marketing Advisor role at Pacific Energy. Actively exploring corporate marketing, communications and digital strategy roles in Perth and across WA.</p>
</div>
<div class="timeline" id="timeline">
<div class="timeline-line"></div>
<!-- 1. Pacific Energy -->
<div class="timeline-item" data-idx="1">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">Jun 2025 Jul 2026</div>
<div class="role">Marketing Advisor</div>
<div class="company">Pacific Energy</div>
<div class="location">Kewdale, Perth WA</div>
<div class="summary">Corporate marketing, digital content, technical communications, major events and marketing AI strategy for a leading energy infrastructure company.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Developed and rolled out a social media strategy and capability content series across LinkedIn and corporate channels</li>
<li>Defined Pacific Energy's marketing AI strategy and identified practical applications across content, digital workflows and operations</li>
<li>Led marketing collaboration on the corporate website, named Science and Sustainability Website of the Year at the 2026 Australian Web Awards</li>
<li>End-to-end marketing delivery for Australian Clean Energy Summit and Pilbara Summit — sponsorship activation, creative, content, logistics</li>
<li>Translated complex project information into executive comms covering battery storage, remote power, hybrid systems</li>
<li>Maintained brand voice and visual standards across digital, print, signage, social and event channels</li>
</ul>
<div class="tags">
<span>B2B Marketing</span><span>AI Strategy</span><span>Web Awards</span><span>Event Management</span><span>Corporate Comms</span>
</div>
</div>
</div>
</div>
<!-- 2. Horizon Power -->
<div class="timeline-item" data-idx="2">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">2019 Sep 2024</div>
<div class="role">Marketing Specialist</div>
<div class="company">Horizon Power</div>
<div class="location">Perth, WA</div>
<div class="summary">Integrated marketing, regulated communications, customer engagement and energy transition programs across WA's regional energy provider.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Led integrated marketing and customer communication campaigns across digital, social, email, direct mail, television, print and community channels</li>
<li>Managed annual marketing budgets exceeding $2 million, using research and audience segmentation to prioritise investment</li>
<li>Led marketing for the WA EV Network — the state's electric vehicle charging infrastructure rollout</li>
<li>Supported launch of Smart Connect Solar and other distributed energy initiatives</li>
<li>Directed compliance-critical communications for government price changes, energy concessions and cost-of-living initiatives</li>
<li>Created the Bright Horizons STEM program, providing solar-powered education kits to remote schools</li>
</ul>
<div class="tags">
<span>Integrated Campaigns</span><span>$2M+ Budget</span><span>WA EV Network</span><span>Energy Transition</span><span>Regulatory Comms</span>
</div>
</div>
</div>
</div>
<!-- 3. Synergy: Energy Solutions Marketing Specialist -->
<div class="timeline-item" data-idx="3">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">2015 2018</div>
<div class="role">Energy Solutions Marketing Specialist</div>
<div class="company">Synergy</div>
<div class="location">Perth, WA</div>
<div class="summary">Commercial growth and customer experience across renewable energy products, digital channels and agency management.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Led development of the SolarReturn proposition from research through launch, contributing to a 40% sales increase in year one</li>
<li>Managed three-plus creative, digital and media agencies, improving conversion rates by 35% through iterative optimisation</li>
<li>Mapped the end-to-end solar customer journey, reducing inquiry-to-sale timeframes by 20%</li>
<li>Converted renewable energy policy, rebates and feed-in tariffs into accessible customer communications across TV, radio, outdoor, social, email and SMS</li>
</ul>
<div class="tags">
<span>Product Launch</span><span>SolarReturn</span><span>Agency Management</span><span>Conversion Optimisation</span>
</div>
</div>
</div>
</div>
<!-- 4. Synergy: Business Segment Coordinator -->
<div class="timeline-item" data-idx="4">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">2014 2015</div>
<div class="role">Business Segment Coordinator</div>
<div class="company">Synergy</div>
<div class="location">Perth, WA</div>
<div class="summary">Financial and portfolio management, enterprise communications and cross-functional coordination.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Managed Synergy's streetlighting portfolio and resolved $1.3 million in billing discrepancies through detailed contract and process reviews</li>
<li>Introduced stronger reconciliation controls and led cross-functional input into the Annual Review of Products and Pricing</li>
<li>Developed a company-wide communications framework across email, SMS and print for 1M+ customers</li>
</ul>
<div class="tags">
<span>Financial Management</span><span>Billing Resolution</span><span>Enterprise Comms</span>
</div>
</div>
</div>
</div>
<!-- 5. Synergy: Assistant Product Manager -->
<div class="timeline-item" data-idx="5">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">2012 2014</div>
<div class="role">Assistant Product Manager, Industrial &amp; Commercial</div>
<div class="company">Synergy</div>
<div class="location">Perth, WA</div>
<div class="summary">Product and sales development for commercial renewable energy products, digital sales platforms and training.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Developed and launched the Synergy Sellback Program, enabling commercial customers to receive value from exported renewable energy</li>
<li>Created an online sales platform with pricing calculators and training material</li>
<li>Supported sales performance 150% above target through platform and training initiatives</li>
</ul>
<div class="tags">
<span>Product Development</span><span>Sellback Program</span><span>Digital Platform</span><span>Sales Enablement</span>
</div>
</div>
</div>
</div>
<!-- 6. Synergy: Billing Officer -->
<div class="timeline-item" data-idx="6">
<div class="timeline-dot"></div>
<div class="timeline-card" onclick="toggleDetails(this)">
<div class="date">2010 2012</div>
<div class="role">Billing Officer</div>
<div class="company">Synergy</div>
<div class="location">Perth, WA</div>
<div class="summary">Customer billing, enquiry management, dispute resolution and data accuracy in a regulated energy retail environment.</div>
<button class="expand-btn"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Managed billing enquiries, account corrections and dispute resolution for residential and small business customers</li>
<li>Ensured data accuracy and compliance in a regulated energy retail environment</li>
</ul>
<div class="tags">
<span>Customer Service</span><span>Billing Operations</span><span>Dispute Resolution</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Education -->
<section class="edu-section">
<h2>Education</h2>
<div class="edu-grid">
<div class="edu-card">
<h3>University of Western Australia</h3>
<div class="detail">Bachelor of Commerce — Marketing &amp; Management</div>
<div class="year">2005 2010</div>
</div>
<div class="edu-card">
<h3>University of Western Australia</h3>
<div class="detail">Bachelor of Arts — History &amp; Politics</div>
<div class="year">2005 2010</div>
</div>
</div>
</div>
</section>
<!-- 2. Horizon Power -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Marketing Specialist</span>
<span class="role-date">2019 Sep 2024</span>
<!-- Professional Development -->
<section class="skills-section">
<h2>Professional Development</h2>
<div class="skills-grid">
<span class="skill-tag">IAP2 Essentials of Engagement (2023)</span>
<span class="skill-tag">AIM Time Management (2024)</span>
<span class="skill-tag">AI in Marketing — RMIT (2019)</span>
<span class="skill-tag">ADMA WFH Marketing Masterclass (2020)</span>
</div>
<div class="role-company">Horizon Power · Perth, WA</div>
<div class="role-summary">Integrated marketing, regulated communications, customer engagement and energy transition programs.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Led integrated marketing and customer communication campaigns across digital, social, email, direct mail, television, print and community channels</li>
<li>Managed annual marketing budgets exceeding $2 million, using research and audience segmentation to prioritise investment</li>
<li>Led marketing for the WA EV Network — the state's electric vehicle charging infrastructure rollout</li>
<li>Supported launch of Smart Connect Solar and other distributed energy initiatives</li>
<li>Directed compliance-critical communications for government price changes, energy concessions and cost-of-living initiatives</li>
<li>Created the Bright Horizons STEM program, providing solar-powered education kits to remote schools</li>
</ul>
<div class="tags">
<span>Integrated Campaigns</span><span>$2M+ Budget</span><span>WA EV Network</span><span>Energy Transition</span><span>Regulatory Comms</span>
</div>
</div>
</div>
</section>
<!-- 3. Synergy: Energy Solutions Marketing Specialist -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Energy Solutions Marketing Specialist</span>
<span class="role-date">2015 2018</span>
<!-- Core Capabilities -->
<section class="skills-section">
<h2>Core Capabilities</h2>
<div class="skills-grid">
<span class="skill-tag">Marketing Strategy</span>
<span class="skill-tag">Integrated Campaigns</span>
<span class="skill-tag">Corporate Communications</span>
<span class="skill-tag">Digital &amp; AI Marketing</span>
<span class="skill-tag">Brand Management</span>
<span class="skill-tag">Stakeholder Engagement</span>
<span class="skill-tag">Event Management</span>
<span class="skill-tag">Budget Management</span>
<span class="skill-tag">Social Media Strategy</span>
<span class="skill-tag">Energy Transition</span>
</div>
<div class="role-company">Synergy · Perth, WA</div>
<div class="role-summary">Commercial growth and customer experience across renewable energy products, digital channels and agency management.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Led development of the SolarReturn proposition from research through launch, contributing to a 40% sales increase in year one</li>
<li>Managed three-plus creative, digital and media agencies, improving conversion rates by 35% through iterative optimisation</li>
<li>Mapped the end-to-end solar customer journey, reducing inquiry-to-sale timeframes by 20%</li>
<li>Converted renewable energy policy, rebates and feed-in tariffs into accessible customer communications across TV, radio, outdoor, social, email and SMS</li>
</ul>
<div class="tags">
<span>Product Launch</span><span>SolarReturn</span><span>Agency Management</span><span>Conversion Optimisation</span>
</div>
</div>
</div>
<!-- 4. Synergy: Business Segment Coordinator -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Business Segment Coordinator</span>
<span class="role-date">2014 2015</span>
</div>
<div class="role-company">Synergy · Perth, WA</div>
<div class="role-summary">Financial and portfolio management, enterprise communications and cross-functional coordination.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Managed Synergy's streetlighting portfolio and resolved $1.3 million in billing discrepancies through detailed contract and process reviews</li>
<li>Introduced stronger reconciliation controls and led cross-functional input into the Annual Review of Products and Pricing</li>
<li>Developed a company-wide communications framework across email, SMS and print for 1M+ customers</li>
</ul>
<div class="tags">
<span>Financial Management</span><span>Billing Resolution</span><span>Enterprise Comms</span>
</div>
</div>
</div>
<!-- 5. Synergy: Assistant Product Manager -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Assistant Product Manager, Industrial &amp; Commercial</span>
<span class="role-date">2012 2014</span>
</div>
<div class="role-company">Synergy · Perth, WA</div>
<div class="role-summary">Product and sales development for commercial renewable energy products, digital sales platforms and training.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Developed and launched the Synergy Sellback Program, enabling commercial customers to receive value from exported renewable energy</li>
<li>Created an online sales platform with pricing calculators and training material</li>
<li>Supported sales performance 150% above target through platform and training initiatives</li>
</ul>
<div class="tags">
<span>Product Development</span><span>Sellback Program</span><span>Digital Platform</span><span>Sales Enablement</span>
</div>
</div>
</div>
<!-- 6. Synergy: Billing Officer -->
<div class="role-card">
<div class="role-header">
<span class="role-title">Billing Officer</span>
<span class="role-date">2010 2012</span>
</div>
<div class="role-company">Synergy · Perth, WA</div>
<div class="role-summary">Customer billing, enquiry management, dispute resolution and data accuracy in a regulated energy retail environment.</div>
<button class="expand-btn" onclick="toggleDetails(this)"><span class="arrow"></span> <span class="lb">Show achievements</span></button>
<div class="details">
<ul>
<li>Managed billing enquiries, account corrections and dispute resolution for residential and small business customers</li>
<li>Ensured data accuracy and compliance in a regulated energy retail environment</li>
</ul>
<div class="tags">
<span>Customer Service</span><span>Billing Operations</span><span>Dispute Resolution</span>
</div>
</div>
</div>
<h2 class="section-heading">Education</h2>
<div class="edu-grid">
<div class="edu-card">
<h3>University of Western Australia</h3>
<div class="detail">Bachelor of Commerce — Marketing &amp; Management</div>
<div class="year">2005 2010</div>
</div>
<div class="edu-card">
<h3>University of Western Australia</h3>
<div class="detail">Bachelor of Arts — History &amp; Politics</div>
<div class="year">2005 2010</div>
</div>
</div>
<h2 class="section-heading">Professional Development</h2>
<div class="skills-grid">
<span class="skill-tag">IAP2 Essentials of Engagement (2023)</span>
<span class="skill-tag">AIM Time Management (2024)</span>
<span class="skill-tag">AI in Marketing — RMIT (2019)</span>
<span class="skill-tag">ADMA WFH Marketing Masterclass (2020)</span>
</div>
<h2 class="section-heading">Core Capabilities</h2>
<div class="skills-grid">
<span class="skill-tag">Marketing Strategy</span>
<span class="skill-tag">Integrated Campaigns</span>
<span class="skill-tag">Corporate Communications</span>
<span class="skill-tag">Digital &amp; AI Marketing</span>
<span class="skill-tag">Brand Management</span>
<span class="skill-tag">Stakeholder Engagement</span>
<span class="skill-tag">Event Management</span>
<span class="skill-tag">Budget Management</span>
<span class="skill-tag">Social Media Strategy</span>
<span class="skill-tag">Energy Transition</span>
</div>
</section>
<div class="footer">
<p>Anthony Martin · <a href="https://anthony.martinwa.org" target="_blank">anthony.martinwa.org</a></p>
<p style="margin-top:0.3rem;color:var(--text-dim)">Built by the Rhino in the Green Jacket · Jul 2026</p>
</div>
</div>
<script>
function toggleDetails(btn){
const card=btn.parentElement;
function toggleDetails(card){
const details=card.querySelector('.details');
const lbl=btn.querySelector('.lb');
const btn=card.querySelector('.expand-btn');
const lbl=btn?.querySelector('.lb');
const isOpen=details.classList.contains('open');
details.classList.toggle('open');
btn.classList.toggle('open');
btn?.classList.toggle('open');
if(lbl) lbl.textContent=isOpen?'Show achievements':'Hide achievements';
}
// Scroll-triggered visibility
const observer=new IntersectionObserver(entries=>{
entries.forEach(entry=>{
if(entry.isIntersecting) entry.target.classList.add('visible');
});
},{threshold:0.12,rootMargin:'0px 0px -50px 0px'});
document.querySelectorAll('.timeline-item, .edu-card, .skill-tag').forEach(el=>observer.observe(el));
// Dot highlight on scroll
const dotObserver=new IntersectionObserver(entries=>{
entries.forEach(entry=>{
const dot=entry.target.querySelector('.timeline-dot');
if(!dot) return;
if(entry.isIntersecting){
dot.style.transform='translateX(-50%) scale(1.25)';
dot.style.boxShadow='0 0 0 8px rgba(212,168,67,0.15)';
} else {
dot.style.transform='';
dot.style.boxShadow='';
}
});
},{threshold:0.35});
document.querySelectorAll('.timeline-item').forEach(el=>dotObserver.observe(el));
// Keyboard support
document.querySelectorAll('.expand-btn').forEach(function(btn){
btn.setAttribute('tabindex','0');
btn.addEventListener('keydown',function(e){
if(e.key==='Enter'||e.key===' '){e.preventDefault();toggleDetails(this);}
document.querySelectorAll('.timeline-card').forEach(card=>{
card.setAttribute('tabindex','0');
card.setAttribute('role','button');
card.addEventListener('keydown',e=>{
if(e.key==='Enter'||e.key===' '){e.preventDefault();toggleDetails(card);}
});
});
</script>