Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .github/workflows/build-resume.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ on:
- "targets/**"
- "templates/**"
- "scripts/**"
- "site/**"
- "tests/**"
- "specs/**"
- "pyproject.toml"
Expand All @@ -36,6 +37,7 @@ on:
- "targets/**"
- "templates/**"
- "scripts/**"
- "site/**"
- "tests/**"
- "specs/**"
- "pyproject.toml"
Expand Down Expand Up @@ -89,6 +91,9 @@ jobs:
name: Build and inspect publication artifacts
runs-on: ubuntu-latest
needs: validate
permissions:
contents: read
pages: write

steps:
- name: Check out repository
Expand Down Expand Up @@ -257,3 +262,41 @@ jobs:
rendered/public/**/*.png
if-no-files-found: error
retention-days: 30

- name: Assemble GitHub Pages artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
set -euo pipefail
rm -rf site-dist
mkdir -p site-dist
cp site/index.html site/styles.css site-dist/
cp \
dist/resume/general/public/Alan-Szmyt-Resume.pdf \
site-dist/resume.pdf

- name: Configure GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/configure-pages@v5

- name: Upload GitHub Pages artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-pages-artifact@v3
with:
path: site-dist

deploy-pages:
name: Deploy public resume site
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: build
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
23 changes: 20 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,21 @@ from one verified career ledger. It renders a sanitized public baseline and
role-specific application documents without forking facts or committing private
contact data.

## Public resume

The canonical sanitized résumé is published at:

- **Resume site:** <https://szmyty.github.io/resume/>
- **Direct PDF:** <https://szmyty.github.io/resume/resume.pdf>

The Pages deployment is built from the same validated `general` public artifact
used by CI. Application-only email, phone, location overlays, and generated
application PDFs are never included in the Pages artifact.

GitHub Pages requires one repository-level setup before the first deployment:
**Settings → Pages → Build and deployment → Source → GitHub Actions**. After that
one-time selection, successful `main` builds publish the site automatically.

## Publication model

| Layer | Location | Responsibility |
Expand Down Expand Up @@ -189,10 +204,12 @@ destinations, privacy policy, and tests. It then:
2. builds and validates four application role variants with synthetic CI-only
contact data;
3. builds and fully validates the public research CV;
4. renders both résumé pages to PNG for visual review; and
5. uploads only public PDFs and visual renders.
4. renders résumé pages to PNG for visual review;
5. uploads only public PDFs and visual renders; and
6. on successful `main` pushes, packages the validated canonical public résumé
with `site/` and deploys it to GitHub Pages.

Application artifacts are never uploaded by CI.
Application artifacts are never uploaded by CI or GitHub Pages.

## Changing content safely

Expand Down
32 changes: 14 additions & 18 deletions content/career.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"reviewed_on": "2026-08-21",
"reviewed_on": "2026-08-22",
"canonical_lane": "platform-devex",
"identity": {
"name": "Alan Szmyt",
Expand Down Expand Up @@ -29,11 +29,7 @@
"privacy": {
"public": {
"allowed_contact_fields": ["public_location", "public_links"],
"forbidden_contact_types": [
"email",
"phone",
"precise_city"
]
"forbidden_contact_types": ["email", "phone", "precise_city"]
},
"application": {
"allowed_contact_fields": ["email", "phone", "location"],
Expand Down Expand Up @@ -162,26 +158,26 @@
},
"incompris-publishing": {
"subject": "incompris",
"application_text": "Engineered deterministic publishing infrastructure that transforms structured Markdown specifications and JSON/YAML schemas into compiled, validated LaTeX documents for print and digital workflows.",
"public_text": "Engineered deterministic publishing infrastructure that transforms structured Markdown specifications and JSON/YAML schemas into compiled, validated LaTeX documents for print and digital workflows.",
"application_text": "Built Renderflow, a Rust specification-driven document engine with graph-planned transformations, parallel execution, incremental caching, and multi-format PDF, HTML, and DOCX output.",
"public_text": "Built Renderflow, a Rust specification-driven document engine with graph-planned transformations, parallel execution, incremental caching, and multi-format PDF, HTML, and DOCX output.",
"profiles": ["platform", "research"],
"sensitivity": "public",
"provenance": {
"source": "supplied-resume-2026-08-21",
"source": "https://github.com/egohygiene/renderflow",
"status": "verified",
"reviewed_on": "2026-08-21"
"reviewed_on": "2026-08-22"
}
},
"incompris-quality-gates": {
"subject": "incompris",
"application_text": "Implemented repository quality gates and TeX metadata validation using Python, Taskfile, and GitHub Actions to support reproducible document builds.",
"public_text": "Implemented repository quality gates and TeX metadata validation using Python, Taskfile, and GitHub Actions to support reproducible document builds.",
"application_text": "Built Relay, a versioned library of reusable GitHub Actions and CI contracts that centralizes repository automation while preserving consumer-owned configuration and deployment boundaries.",
"public_text": "Built Relay, a versioned library of reusable GitHub Actions and CI contracts that centralizes repository automation while preserving consumer-owned configuration and deployment boundaries.",
"profiles": ["platform", "research"],
"sensitivity": "public",
"provenance": {
"source": "supplied-resume-2026-08-21",
"source": "https://github.com/egohygiene/relay",
"status": "verified",
"reviewed_on": "2026-08-21"
"reviewed_on": "2026-08-22"
}
},
"incompris-bounded-agents": {
Expand Down Expand Up @@ -258,17 +254,17 @@
"skill_groups": {
"platform-devex": {
"label": "Platform & Developer Experience",
"items": ["GitHub Actions", "Docker", "Devcontainers", "CI/CD", "Taskfile", "Gradle", "Vite", "ESBuild", "Reproducible Environments"],
"items": ["GitHub Actions", "Docker", "Dev Containers", "CI/CD", "Taskfile", "Git", "Gradle", "Vite / ESBuild", "Reproducible Environments"],
"evidence": ["mit-build-pipelines", "incompris-publishing", "incompris-quality-gates"]
},
"languages": {
"label": "Languages",
"items": ["Python", "Dart", "Java", "Kotlin", "JavaScript", "C++"],
"evidence": ["mit-build-pipelines", "incompris-local-first", "incompris-quality-gates"]
"items": ["Python", "Rust", "Dart", "Java", "Kotlin", "JavaScript", "C++"],
"evidence": ["mit-build-pipelines", "incompris-local-first", "incompris-publishing", "incompris-quality-gates"]
},
"systems-workflows": {
"label": "Systems & Workflows",
"items": ["Local-First Systems", "Specification-Driven Development", "Schema-Driven Development", "Bounded Agent Orchestration", "Workflow Automation"],
"items": ["Local-First Systems", "CLI Design", "Specification-Driven Development", "Schema-Driven Development", "Bounded Agent Orchestration", "Workflow Automation"],
"evidence": ["incompris-local-first", "incompris-publishing", "incompris-bounded-agents"]
},
"mobile-geospatial": {
Expand Down
8 changes: 5 additions & 3 deletions profiles/general.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ headline: "Software Engineer | Platform, Developer Tools, and AI-Assisted System
summary: >
Software engineer with 6+ years delivering mobile, geospatial, and analytical
systems for government and research sponsors. Builds developer platforms,
local-first products, and AI-assisted workflows with reproducible
infrastructure and CI/CD. Contributed to approximately $1M in follow-on
sponsor funding and authored a DOI-backed independent research artifact.
Rust and Python tooling, local-first products, and AI-assisted workflows with
reproducible infrastructure and CI/CD. Contributed to approximately $1M in
follow-on sponsor funding and authored a DOI-backed independent research
artifact.

section_order:
- header
Expand Down Expand Up @@ -61,3 +62,4 @@ keyword_emphasis:
- automation
- distributed systems
- developer tooling
- rust
7 changes: 4 additions & 3 deletions profiles/platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ headline: "Platform Software Engineer | Developer Tooling and Reproducible Infra
summary: >
Software engineer with 6+ years delivering analytical and field systems while
improving the development infrastructure behind them. Builds reproducible
pipelines, repository quality gates, local-first platforms, and bounded
AI-assisted workflows that make complex engineering work easier to validate
and maintain.
CI/CD, Rust and Python developer tools, repository quality gates, local-first
platforms, and bounded AI-assisted workflows that make complex engineering
work easier to validate and maintain.

section_order:
- header
Expand Down Expand Up @@ -61,3 +61,4 @@ keyword_emphasis:
- developer tooling
- reproducible infrastructure
- local-first systems
- rust
94 changes: 94 additions & 0 deletions site/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light dark">
<meta
name="description"
content="Alan Szmyt — software engineer focused on platform engineering, developer tooling, local-first systems, and AI-assisted workflows."
>
<title>Alan Szmyt — Resume</title>
<link rel="stylesheet" href="./styles.css">
</head>
<body>
<main class="shell">
<header class="hero" aria-labelledby="page-title">
<p class="eyebrow">public resume</p>
<h1 id="page-title">Alan Szmyt</h1>
<p class="headline">
Software engineer building developer platforms, Rust and Python tooling,
local-first products, and AI-assisted workflows.
</p>
<p class="meta">Greater Boston, MA · Platform / DevEx · Research software</p>

<nav class="actions" aria-label="Resume actions">
<a class="button primary" href="./resume.pdf">Open resume PDF</a>
<a class="button" href="https://szmyty.vercel.app">Portfolio</a>
<a class="button" href="https://github.com/szmyty">GitHub</a>
<a class="button" href="https://orcid.org/0009-0008-5291-9795">ORCID</a>
</nav>
</header>

<section class="summary" aria-labelledby="summary-heading">
<h2 id="summary-heading">Current focus</h2>
<div class="grid">
<article>
<h3>Platform & developer experience</h3>
<p>
Reproducible CI/CD, reusable GitHub Actions, developer tooling,
specification-driven systems, and reliable build pipelines.
</p>
</article>
<article>
<h3>Systems & local-first software</h3>
<p>
Rust, Python, Flutter, resilient offline workflows, CLI design,
schema-driven contracts, and evidence-first automation.
</p>
</article>
<article>
<h3>AI-assisted engineering</h3>
<p>
Bounded agent orchestration, explicit schemas, synchronization
checkpoints, reproducible publishing, and human review loops.
</p>
</article>
</div>
</section>

<section class="resume" aria-labelledby="resume-heading">
<div class="section-heading">
<div>
<p class="eyebrow">canonical public artifact</p>
<h2 id="resume-heading">Resume</h2>
</div>
<a class="text-link" href="./resume.pdf">Open in a new viewer →</a>
</div>

<object
class="pdf-frame"
data="./resume.pdf"
type="application/pdf"
aria-label="Alan Szmyt public resume PDF"
>
<p>
Your browser cannot embed the PDF.
<a href="./resume.pdf">Open the resume directly.</a>
</p>
</object>
</section>

<footer>
<p>
This site publishes only the sanitized public resume generated from the
repository's verified career ledger. Application-only contact data is
never deployed.
</p>
<p>
<a href="https://github.com/szmyty/resume">Source and build system</a>
</p>
</footer>
</main>
</body>
</html>
Loading
Loading