Projects: refresh affiliations, group current vs. historical

- Group into "// currently" and "// previously"; Rocky Linux + RESF move to
  a muted, dashed "previously" section (stepped away March 2026)
- Tighten all blurbs to a plainer, less corporate voice
- Add shrug.host, shrug.games, swamp.club (OG Swamper), RDO/CentOS Cloud SIG
  (PTL), and Amateur Radio / emcomm (RACES-ARES, CERT); keep OpenELA current
- Add a restrained "open slot" consulting CTA card
- New project-card partial + card--past / card--cta styles

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-11 14:09:51 -04:00
co-authored by Claude Opus 4.8
parent 2e58193100
commit 6c338ada35
4 changed files with 120 additions and 36 deletions
+11 -2
View File
@@ -87,10 +87,19 @@
padding:var(--s6);background:var(--bg-elevated);transition:border-color var(--tr),transform var(--tr);
}
.card:hover{border-color:var(--border-strong);transform:translateY(-2px);}
.card__title{font-size:var(--text-lg);margin-bottom:var(--s3);display:flex;align-items:center;gap:var(--s3);}
.card__title .icon{color:var(--sprout);width:1.1em;text-align:center;}
.card__title{font-size:var(--text-lg);margin-bottom:var(--s2);display:flex;align-items:center;gap:var(--s3);}
.card__role{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--sprout);margin-bottom:var(--s4);}
.card__when{color:var(--text-faint);}
.card__body{color:var(--text-muted);font-size:var(--text-base);}
.card__link{margin-top:var(--s3);}
.card__body a{text-decoration:underline;text-underline-offset:2px;}
.card--past{background:transparent;border-style:dashed;}
.card--past .dot{background:var(--text-faint);box-shadow:none;}
.card--past .card__role{color:var(--text-faint);}
.card--cta{background:transparent;border-style:dashed;border-color:var(--border-strong);display:flex;flex-direction:column;justify-content:center;}
.card--cta:hover{border-color:var(--russet);transform:none;}
.card--cta .card__title{color:var(--russet);}
.card--cta .card__link{color:var(--russet);font-family:var(--font-mono);font-size:var(--text-sm);}
/* --- Breadcrumb --- */
.breadcrumb{
+72 -26
View File
@@ -1,30 +1,76 @@
name: Projects
source:
- icon: fa-solid fa-building
name: Rocky Enterprise Software Foundation
description: Board member for the non-profit foundation behind Rocky Linux. Focus on strategic governance, financial oversight, and advancing the mission of community-driven enterprise Linux distribution development.
url: https://rockylinux.org/about
- icon: fa-brands fa-github
name: Rocky Linux
description: Infrastructure architect and core team member for Rocky Linux. Built and maintain all infrastructure from bare metal to cloud services, including CI/CD pipelines, build systems, and supply chain security. Work closely with Release Engineering on next-generation build automation and ensuring security throughout the software supply chain.
url: https://github.com/rocky-linux/
- icon: fa-solid fa-code-branch
name: OpenELA
description: Technical Steering Committee member for OpenELA, the Open Enterprise Linux Association. Help guide technical strategy and governance for collaborative development of enterprise Linux distributions, focusing on open source supply chain transparency and community collaboration.
url: https://openela.org/
- icon: fa-solid fa-heart
name: ResolveX
description: Board member and technical advisor for ResolveX, building software and data solutions for crisis call centers including 988 suicide prevention lines and mental health resources. Provide strategic guidance on scaling infrastructure and technology decisions for mission-critical systems.
url: https://resolvex.com/
- icon: fa-solid fa-handshake
name: Shrug PW Consulting
description: Founder and Principal Consultant providing infrastructure architecture, DevOps automation, and technical advisory services. Specialize in scaling systems for mission-driven organizations, supply chain security, and building reliable infrastructure on constrained budgets.
# --- Currently ---
- name: Shrug PW Consulting
role: Founder & Principal Consultant
status: current
description: Infrastructure architecture, automation, and technical advisory for mission-driven orgs — reliable systems on real budgets.
url: https://shrugpw.com/
- icon: fa-brands fa-fedora
name: Fedora Project
description: Active contributor to Fedora RISC-V SIG and Community Operations (CommOps). Work on infrastructure, packaging ecosystem, build systems, and community tooling. Focus on RISC-V architecture support and community infrastructure reliability.
- name: shrug.host
role: Founder
status: current
description: Human-scale hosting for small organizations and open source projects. Reliable infrastructure without the enterprise complexity.
url: https://shrug.host/
- name: shrug.games
role: Founder
status: current
description: Game server hosting that just works. Built with Taylor and Lexi.
url: https://shrug.games/
- name: swamp.club
role: OG Swamper
status: current
description: Early member of the swamp.club community (formerly System Initiative) — model-based infrastructure automation, from back when it was still finding its shape.
url: https://swamp.club/
- name: RDO / CentOS Cloud SIG
role: PTL
status: current
description: Leading RDO's transition into the CentOS Cloud SIG — steering where RDO's OpenStack packaging lives and how it ships.
url: https://www.rdoproject.org/
- name: OpenStack-Ansible
role: Core reviewer
status: current
description: Reviewing patches and keeping the deployment automation honest for running OpenStack on enterprise Linux.
url: https://opendev.org/openstack/openstack-ansible
- name: Fedora Project
role: Contributor · RISC-V SIG, CommOps
status: current
description: Packaging, build systems, and community tooling — with a standing effort to get more of Fedora booting on RISC-V.
url: https://fedoraproject.org/
- icon: fa-solid fa-cloud
name: OpenStack
description: Core reviewer for OpenStack-Ansible and contributor to OpenStack-Kolla projects. Support OpenStack integration with Rocky Linux and work in CentOS NFV and Cloud SIGs. Focus on deployment automation, bare metal provisioning, and enterprise Linux integration.
url: https://openstack.org/
- name: OpenELA
role: Technical Steering Committee
status: current
description: Governance for a vendor-neutral source of enterprise Linux — supply-chain transparency, less drama.
url: https://openela.org/
- name: ResolveX
role: Board member & technical advisor
status: current
description: Infrastructure and scaling advice for a team building software for crisis call centers — 988 and mental-health lines.
url: https://resolvex.com/
- name: Amateur Radio & Emergency Comms
role: RACES / ARES · CERT
status: current
description: Volunteer emergency communications — RACES/ARES nets, public-service events, and CERT. When the internet's down, the radio still works.
# --- Previously ---
- name: Rocky Linux
role: Infrastructure architect · core team
status: past
when: through 2026
description: Built and ran everything from bare metal to cloud — CI/CD, build systems, supply-chain security — and worked with Release Engineering on next-generation build automation.
url: https://github.com/rocky-linux/
- name: Rocky Enterprise Software Foundation
role: Board member
status: past
when: through 2026
description: Governance, financial oversight, and mission for the non-profit behind Rocky Linux.
url: https://rockylinux.org/about
+25 -8
View File
@@ -5,24 +5,41 @@
<span class="dot dot--pulse" aria-hidden="true"></span> ~/projects
</p>
<h1 class="page-hero__title">{{ .Title }}</h1>
<p class="page-hero__subtitle">Open source, governance, and infrastructure I help keep running.</p>
<p class="page-hero__subtitle">Open source, governance, and the businesses I run — current work and where I've been.</p>
</div>
</div>
<div class="section">
<div class="container">
{{- with .Content }}<div class="prose" style="margin-bottom:var(--s10);">{{ . }}</div>{{ end }}
<div class="card-grid">
{{- range .Site.Data.projects.source }}
<div class="card">
<h3 class="card__title"><span class="dot" aria-hidden="true"></span> {{ .name }}</h3>
{{- $current := where .Site.Data.projects.source "status" "!=" "past" }}
{{- $past := where .Site.Data.projects.source "status" "past" }}
<span class="section-label">// currently</span>
<div class="card-grid" style="margin-bottom:var(--s16);">
{{- range $current }}
{{- partial "project-card.html" . }}
{{- end }}
{{/* Soft consulting CTA — delete this <a> block to remove */}}
<a class="card card--cta" href="https://shrugpw.com" rel="noopener">
<p class="card__role">// open slot</p>
<h3 class="card__title">Your project here?</h3>
<div class="card__body">
<p>{{ .description }}</p>
{{- with .url }}<p style="margin-top:var(--s3);"><a href="{{ . }}" rel="noopener">{{ . | replaceRE "^https?://" "" | replaceRE "/$" "" }} →</a></p>{{ end }}
<p>I take on a couple of engagements at a time — a migration, a network done right, infrastructure that needs untangling.</p>
<p class="card__link">let's talk →</p>
</div>
</a>
</div>
{{- with $past }}
<span class="section-label">// previously</span>
<div class="card-grid">
{{- range . }}
{{- partial "project-card.html" . }}
{{- end }}
</div>
{{- end }}
</div>
</div>
</div>
{{ end }}
+12
View File
@@ -0,0 +1,12 @@
{{- $past := eq .status "past" }}
<div class="card{{ if $past }} card--past{{ end }}">
<h3 class="card__title"><span class="dot" aria-hidden="true"></span> {{ .name }}</h3>
<p class="card__role">
{{- with .role }}{{ . }}{{ end }}
{{- with .when }}<span class="card__when"> · {{ . }}</span>{{ end }}
</p>
<div class="card__body">
<p>{{ .description }}</p>
{{- with .url }}<p class="card__link"><a href="{{ . }}" rel="noopener">{{ . | replaceRE "^https?://" "" | replaceRE "/$" "" }} →</a></p>{{ end }}
</div>
</div>