Tracker
Goal tracker. Clarity through restraint.
Technologies Demonstrated
1.0 Color Palette
[Alpine]Interface colors
Background
#f7f6f3
Page background
Surface
#ffffff
Panel / Card
Surface 2
#edecea
Headers / Elevated
Primary / Orange
#d45b2c
Accent / Headings
Complete
#3a8a5c
Complete status
Progress
#c4880b
In-progress
Locked
#b53d2e
Locked / Error
Info / Links
#3d7ec7
Links / Info
Text
#2c2c2c
Body text
Muted
#8a8780
Secondary text
Border
#dddbd6
Dividers / Edges
<div class="trk-panel p-3 cursor-pointer transition-all" style="border-color: transparent;" { templ.Attributes{"@click": "navigator.clipboard.writeText('#f7f6f3'); copied='bg'; setTimeout(()=>copied='',1500)"}... } { templ.Attributes{":style": "copied==='bg' ? 'border-color: var(--color-primary)' : 'border-color: transparent'"}... } > <div style="height: 48px; background: #f7f6f3; border: 1px solid var(--color-border); "></div> <p class="mt-2" style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 700;">Background</p> <p style="font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="copied==='bg' ? 'COPIED' : '#f7f6f3'">#f7f6f3</p> <p style="font-size: 0.625rem; color: var(--color-text-muted);">Page background</p> </div>
2.0 Typography
Display — Plus Jakarta Sans
Tracker
Heading — Account Overview
Body Mono — Skills Tracked: 8
Caption Mono — LAST UPDATED: 2026-03-07T14:30:00Z
Body — Plus Jakarta Sans
Heading Weight 700
Body text at regular weight. Track your goals, monitor project completion, and visualize learning progression.
Caption — Updated 2 hours ago
SKILLS:
8
PROJECTS:
6
CERTS:
3
CHALLENGES:
3
3.0 Spacing Scale
Progress bar scale — base unit 4px
4.0 Buttons
[Alpine]Size variants
Style variants
Toggle demo
<div x-data="{ tracking: false }" class="flex items-center gap-4"> <button class="trk-btn" { templ.Attributes{"@click": "tracking = !tracking"}... } { templ.Attributes{":class": "tracking ? 'trk-btn-primary' : ''"}... } x-text="tracking ? 'Untrack' : 'Track'" > Track </button> <div class="flex items-center gap-2"> <span class="trk-status-light" { templ.Attributes{":class": "tracking ? 'trk-status-complete' : ''"}... } ></span> <span style="font-family: var(--font-display); font-size: var(--font-size-caption); color: var(--color-text-muted);" x-text="tracking ? 'TRACKING' : 'NOT TRACKED'" > NOT TRACKED </span> </div> </div>
5.0 Forms
[HTMX] [Alpine]6.0 Cards / Panels
[Alpine]REST API
Design and implement a RESTful API with auth and rate limiting.
65% COMPLETE
Skill status overview
4/5 requirements met — 1 in progress
<div class="trk-panel" x-data="{ open: false }"> <div class="trk-panel-header flex items-center justify-between cursor-pointer" { templ.Attributes{"@click": "open = !open"}... } > <span>Search engine — requirements</span> <span style="font-size: 0.625rem; transition: transform 0.15s;" { templ.Attributes{":style": "open ? 'transform: rotate(90deg)' : ''"}... } >▶</span> </div> <div x-show="open" x-transition x-cloak class="p-5"> <div class="space-y-3"> <div class="flex items-center gap-3"> <span class="trk-status-light trk-status-complete"></span> <span style="font-size: var(--font-size-body);">CLI Todo App</span> </div> <div class="flex items-center gap-3"> <span class="trk-status-light trk-status-complete"></span> <span style="font-size: var(--font-size-body);">REST API</span> </div> <div class="flex items-center gap-3"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span style="font-size: var(--font-size-body);">Go or Rust proficiency</span> </div> <div class="flex items-center gap-3"> <span class="trk-status-light trk-status-complete"></span> <span style="font-size: var(--font-size-body);">Data structures</span> </div> <div class="flex items-center gap-3"> <span class="trk-status-light trk-status-complete"></span> <span style="font-size: var(--font-size-body);">File I/O</span> </div> </div> <div class="trk-rule mt-4 pt-3"> <p style="font-family: var(--font-display); font-size: var(--font-size-caption); color: var(--color-text-muted);"> 4/5 requirements met — 1 in progress </p> </div> </div> </div>
7.0 Content Browser
[HTMX] [Alpine]Select an item to view details
<div class="flex flex-col md:flex-row gap-6" x-data="{ open: { skills: true, projects: false, certifications: false, challenges: false } }"> <!-- Sidebar --> <div class="trk-panel" style="width: 100%; max-width: 280px; flex-shrink: 0;"> <div class="trk-panel-header"> Browse </div> <div class="p-3"> <!-- Search input --> <input type="text" class="trk-search mb-3" placeholder="Search items..." name="q" hx-get="/guides/tracker/search" hx-trigger="input changed delay:300ms" hx-target="#trk-search-results" /> <!-- Search results container --> <div id="trk-search-results"></div> <!-- Tree navigation --> <div class="trk-tree"> <!-- Skills --> <div class="trk-tree-node" style="font-weight: 700;" { templ.Attributes{"@click": "open.skills = !open.skills"}... } > <span class="trk-tree-toggle" { templ.Attributes{":class": "open.skills ? 'trk-tree-toggle-open' : ''"}... } >▶</span> <span>Skills</span> </div> <div x-show="open.skills" x-transition x-cloak style="padding-left: 1rem;"> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/golang" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>Go</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/javascript" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>JavaScript</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/python" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>Python</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/rust" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>Rust</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/sql" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>SQL</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/docker" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>Docker</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/git" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>Git</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/skill/typescript" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>TypeScript</span> </div> </div> <!-- Projects --> <div class="trk-tree-node" style="font-weight: 700;" { templ.Attributes{"@click": "open.projects = !open.projects"}... } > <span class="trk-tree-toggle" { templ.Attributes{":class": "open.projects ? 'trk-tree-toggle-open' : ''"}... } >▶</span> <span>Projects</span> </div> <div x-show="open.projects" x-transition x-cloak style="padding-left: 1rem;"> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/todo-cli" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>CLI Todo App</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/rest-api" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>REST API</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/chat-app" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>Real-time Chat</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/blog-engine" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-locked"></span> <span>Blog Engine</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/search-engine" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-locked"></span> <span>Search Engine</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/project/compiler" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-locked"></span> <span>Toy Compiler</span> </div> </div> <!-- Certifications --> <div class="trk-tree-node" style="font-weight: 700;" { templ.Attributes{"@click": "open.certifications = !open.certifications"}... } > <span class="trk-tree-toggle" { templ.Attributes{":class": "open.certifications ? 'trk-tree-toggle-open' : ''"}... } >▶</span> <span>Certifications</span> </div> <div x-show="open.certifications" x-transition x-cloak style="padding-left: 1rem;"> <div class="trk-tree-node" hx-get="/guides/tracker/detail/certification/aws-ccp" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>AWS Cloud Practitioner</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/certification/aws-saa" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>AWS Solutions Architect</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/certification/k8s-cka" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-locked"></span> <span>CKA (Kubernetes)</span> </div> </div> <!-- Challenges --> <div class="trk-tree-node" style="font-weight: 700;" { templ.Attributes{"@click": "open.challenges = !open.challenges"}... } > <span class="trk-tree-toggle" { templ.Attributes{":class": "open.challenges ? 'trk-tree-toggle-open' : ''"}... } >▶</span> <span>Challenges</span> </div> <div x-show="open.challenges" x-transition x-cloak style="padding-left: 1rem;"> <div class="trk-tree-node" hx-get="/guides/tracker/detail/challenge/advent-of-code" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-complete"></span> <span>Advent of Code</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/challenge/leetcode-75" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-progress trk-status-pulse"></span> <span>LeetCode 75</span> </div> <div class="trk-tree-node" hx-get="/guides/tracker/detail/challenge/system-design" hx-target="#trk-detail-panel" hx-swap="innerHTML"> <span class="trk-status-light trk-status-locked"></span> <span>System Design</span> </div> </div> </div> </div> </div> <!-- Detail Panel --> <div id="trk-detail-panel" class="trk-panel p-6" style="flex: 1; min-height: 300px;"> <p style="font-family: var(--font-display); font-size: var(--font-size-caption); color: var(--color-text-muted);"> Select an item to view details </p> </div> </div>
8.0 Dependency Graph
[Alpine]<div x-data="{ selected: 'fullstack', highlighted: null }"> <!-- Goal selector buttons --> <div class="flex gap-2 mb-6 flex-wrap"> <button class="trk-btn" { templ.Attributes{"@click": "selected = 'fullstack'; highlighted = null"}... } { templ.Attributes{":class": "selected === 'fullstack' ? 'trk-btn-primary' : ''"}... } > Full-Stack App </button> <button class="trk-btn" { templ.Attributes{"@click": "selected = 'senior'; highlighted = null"}... } { templ.Attributes{":class": "selected === 'senior' ? 'trk-btn-primary' : ''"}... } > Senior Engineer </button> <button class="trk-btn" { templ.Attributes{"@click": "selected = 'awssa'; highlighted = null"}... } { templ.Attributes{":class": "selected === 'awssa' ? 'trk-btn-primary' : ''"}... } > AWS Solutions Architect </button> </div> <!-- Full-Stack App graph --> <div x-show="selected === 'fullstack'" x-transition class="flex items-start gap-0 overflow-x-auto pb-4"> <!-- Sub-deps column (REST API deps) --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs3a' ? null : 'fs3a'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs3a' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">JavaScript</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs3b' ? null : 'fs3b'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs3b' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">SQL</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs3c' ? null : 'fs3c'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs3c' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">TypeScript</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> </div> <!-- Connecting lines: sub-deps to REST API --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> </div> <!-- Deps column (middle) --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs1' ? null : 'fs1'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs1' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Go proficiency</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'fs2' ? null : 'fs2'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs2' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Database design</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs3' ? null : 'fs3'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs3' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">REST API</div> <span class="trk-tag trk-tag-project">PROJECT</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'fs4' ? null : 'fs4'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs4' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Docker</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'fs5' ? null : 'fs5'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fs5' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Git workflow</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> </div> <!-- Connecting lines: deps to goal --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> </div> <!-- Goal node (right) --> <div class="flex items-center"> <div class="trk-dep-node trk-dep-node-locked" { templ.Attributes{"@click": "highlighted = highlighted === 'fullstack-goal' ? null : 'fullstack-goal'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'fullstack-goal' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer; padding: 1rem 1.25rem; min-width: 160px;" > <div style="font-weight: 700; font-size: var(--font-size-body);">Full-Stack App</div> <span class="trk-tag trk-tag-project">PROJECT</span> </div> </div> </div> <!-- Senior Engineer graph --> <div x-show="selected === 'senior'" x-transition class="flex items-start gap-0 overflow-x-auto pb-4"> <!-- Sub-deps column (CKA deps) --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'se4a' ? null : 'se4a'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se4a' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Docker</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'se4b' ? null : 'se4b'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se4b' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Linux admin</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'se4c' ? null : 'se4c'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se4c' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Networking</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> </div> <!-- Connecting lines: sub-deps to CKA --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> </div> <!-- Deps column (middle) --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'se1' ? null : 'se1'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se1' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">All projects complete</div> <span class="trk-tag trk-tag-project">PROJECT</span> </div> <div class="trk-dep-node trk-dep-node-locked" { templ.Attributes{"@click": "highlighted = highlighted === 'se2' ? null : 'se2'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se2' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">System design</div> <span class="trk-tag trk-tag-challenge">CHALLENGE</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'se3' ? null : 'se3'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se3' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Docker mastery</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-locked" { templ.Attributes{"@click": "highlighted = highlighted === 'se4' ? null : 'se4'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'se4' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">CKA cert</div> <span class="trk-tag trk-tag-certification">CERT</span> </div> </div> <!-- Connecting lines: deps to goal --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> </div> <!-- Goal node (right) --> <div class="flex items-center"> <div class="trk-dep-node trk-dep-node-locked" { templ.Attributes{"@click": "highlighted = highlighted === 'senior-goal' ? null : 'senior-goal'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'senior-goal' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer; padding: 1rem 1.25rem; min-width: 160px;" > <div style="font-weight: 700; font-size: var(--font-size-body);">Senior Engineer</div> <span class="trk-tag trk-tag-challenge">CHALLENGE</span> </div> </div> </div> <!-- AWS Solutions Architect graph --> <div x-show="selected === 'awssa'" x-transition class="flex items-start gap-0 overflow-x-auto pb-4"> <!-- No sub-deps for AWS SA, so skip that column --> <!-- Deps column --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'aw1' ? null : 'aw1'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'aw1' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">AWS CCP</div> <span class="trk-tag trk-tag-certification">CERT</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'aw2' ? null : 'aw2'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'aw2' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Networking</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'aw3' ? null : 'aw3'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'aw3' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Security</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-complete" { templ.Attributes{"@click": "highlighted = highlighted === 'aw4' ? null : 'aw4'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'aw4' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Database design</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'aw5' ? null : 'aw5'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'aw5' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer;" > <div style="font-weight: 600;">Cost optimization</div> <span class="trk-tag trk-tag-skill">SKILL</span> </div> </div> <!-- Connecting lines: deps to goal --> <div class="flex flex-col gap-2 justify-center"> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> <div class="trk-dep-line"></div> </div> <!-- Goal node (right) --> <div class="flex items-center"> <div class="trk-dep-node trk-dep-node-progress" { templ.Attributes{"@click": "highlighted = highlighted === 'awssa-goal' ? null : 'awssa-goal'"}... } { templ.Attributes{":class": "highlighted && highlighted !== 'awssa-goal' ? 'trk-dep-node-dimmed' : ''"}... } style="cursor: pointer; padding: 1rem 1.25rem; min-width: 160px;" > <div style="font-weight: 700; font-size: var(--font-size-body);">AWS Solutions Architect</div> <span class="trk-tag trk-tag-certification">CERT</span> </div> </div> </div> </div>
9.0 Learning Overview
[Alpine]Skills mastered
Projects complete
Skill completion
Certification tiers
Readiness score
<div class="trk-panel p-6" x-data="{ golang: 75, javascript: 82, python: 70, sql: 52, docker: 85, git: 72, systemDesign: 30, get readinessScore() { let w = { golang: 0.20, javascript: 0.15, python: 0.10, sql: 0.15, docker: 0.15, git: 0.10, systemDesign: 0.15 }; let score = this.golang * w.golang + this.javascript * w.javascript + this.python * w.python + this.sql * w.sql + this.docker * w.docker + this.git * w.git + this.systemDesign * w.systemDesign; return Math.round(score); } }" > <p class="mb-4" style="font-family: var(--font-display); font-size: var(--font-size-caption); color: var(--color-text-muted); font-weight: 700; letter-spacing: 0.01em;"> Readiness score </p> <div class="trk-readout mb-4" x-text="readinessScore"></div> <div class="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4"> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">Go</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="golang"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">JavaScript</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="javascript"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">Python</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="python"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">SQL</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="sql"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">Docker</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="docker"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">Git</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="git"/> </div> <div> <label style="font-family: var(--font-display); font-size: var(--font-size-caption); font-weight: 600; display: block; margin-bottom: 0.25rem;">System Design</label> <input type="number" min="1" max="100" class="trk-input" x-model.number="systemDesign"/> </div> </div> </div>