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
17 changes: 9 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>axisrow — Python engineer</title>
<meta name="description" content="Python engineer building AI agent tooling, automation, and data systems. 37 merged upstream PRs · 106 stars · 7 starred projects." />
<meta name="description" content="Python engineer building AI agent tooling, automation, and data systems. 38 merged upstream PRs · 106 stars · 16 starred projects." />
<link rel="icon" type="image/svg+xml" href="favicon.svg" />
<meta name="demoscene-base" content="assets/demoscene" />

<meta property="og:title" content="axisrow — Python engineer" />
<meta property="og:description" content="AI agent tooling, automation, and data systems. 37 merged upstream PRs · 106 stars · 7 starred projects." />
<meta property="og:description" content="AI agent tooling, automation, and data systems. 38 merged upstream PRs · 106 stars · 16 starred projects." />
<meta property="og:url" content="https://axisrow.github.io/" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://axisrow.github.io/og.png" />
Expand Down Expand Up @@ -43,7 +43,7 @@
document.documentElement.classList.add("js");
}());
</script>
<link rel="stylesheet" href="styles.css?v=canvas-veil-fade-2" />
<link rel="stylesheet" href="styles.css?v=canvas-veil-fade-3" />
</head>
<body>
<header class="topbar">
Expand Down Expand Up @@ -101,11 +101,11 @@ <h1 id="hero-title">AXISROW</h1>
</div>
<div>
<dt>Merged upstream PRs</dt>
<dd><span data-profile-value="merged_upstream_prs" data-target="37">37</span></dd>
<dd><span data-profile-value="merged_upstream_prs" data-target="38">38</span></dd>
</div>
<div>
<dt>Starred projects</dt>
<dd><span data-profile-value="starred_projects" data-target="7">7</span></dd>
<dd><span data-profile-value="starred_projects" data-target="16">16</span></dd>
</div>
</dl>
</div>
Expand Down Expand Up @@ -229,8 +229,9 @@ <h2 class="section-title">Useful changes, merged upstream.</h2>
<canvas id="opensource-mandelbrot" class="effect-canvas" data-effect="mandelbrot"></canvas>
</div>
<div class="proof-field-copy veil-panel">
<div class="proof-summary"><strong><span data-profile-value="merged_upstream_prs" data-target="37">37</span></strong><span>merged upstream PRs</span></div>
<div class="proof-summary"><strong><span data-profile-value="merged_upstream_prs" data-target="38">38</span></strong><span>merged upstream PRs</span></div>
<div class="proof-rows">
<a class="proof-row" href="https://github.com/steipete/CodexBar/pull/2814" target="_blank" rel="noopener"><strong>steipete / CodexBar</strong><span>Side project of Peter Steinberger, creator of OpenClaw (github.com/steipete/openclaw).</span><small>Merged · PR #2814 ↗</small></a>
<a class="proof-row" href="https://github.com/ranaroussi/yfinance/pull/2627" target="_blank" rel="noopener"><strong>yfinance</strong><span>Retry transient network errors.</span><small>Merged · PR #2627 ↗</small></a>
<a class="proof-row" href="https://github.com/IBM/mcp-cli/pull/227" target="_blank" rel="noopener"><strong>IBM / mcp-cli</strong><span>Unix-friendly automation and serialization.</span><small>Merged · PR #227 ↗</small></a>
<a class="proof-row" href="https://github.com/etopro/ai-resto/pulls?q=is%3Apr+author%3Aaxisrow+is%3Amerged" target="_blank" rel="noopener"><strong>ai-resto</strong><span>Auth, caching, database, E2E, PWA and security.</span><small>23 merged PRs ↗</small></a>
Expand Down Expand Up @@ -259,7 +260,7 @@ <h3>Open-Source Contributor</h3>
</div>
<p class="timeline-org">yfinance · IBM/mcp-cli · ai-resto · agent-orchestrator</p>
<ul>
<li><span data-profile-value="merged_upstream_prs">37</span> merged PRs across upstream projects.</li>
<li><span data-profile-value="merged_upstream_prs">38</span> merged PRs across upstream projects.</li>
<li>Reliability fixes, production features, automation, and safer interfaces.</li>
<li>Changes are scoped, tested, reviewed, and maintained after merge.</li>
</ul>
Expand All @@ -275,7 +276,7 @@ <h3>Independent Python Engineer</h3>
<p class="timeline-org">Telegram automation · AI agent tooling · data &amp; finance</p>
<ul>
<li>Production services built around Python, asyncio, agents, and APIs.</li>
<li>Author of <span data-profile-value="starred_projects">7</span> starred open-source projects.</li>
<li>Author of <span data-profile-value="starred_projects">16</span> starred open-source projects.</li>
<li><span data-profile-value="stars_earned">106</span> stars across original work and maintained forks.</li>
</ul>
</div>
Expand Down
4 changes: 2 additions & 2 deletions profile/projects.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
"stars_earned": 104,
"fork_stars": 5,
"star_history_start": "2026-03-01",
"merged_upstream_prs": 37,
"starred_projects": 7,
"merged_upstream_prs": 38,
"starred_projects": 16,
"_note": "stars_earned includes 5 stars on forks; the graph uses a 2026-03-01 opening balance plus GitHub star events and ends at 99 original-repository stars"
},

Expand Down
2 changes: 1 addition & 1 deletion styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -863,7 +863,7 @@ main {

.proof-field {
display: flex;
height: 380px;
height: 412px;
align-items: center;
}

Expand Down
7 changes: 4 additions & 3 deletions tests/site-smoke.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,10 @@ test('Open Source uses the asymmetric R1 field without duplicated cards', async
const html = await source('index.html');
assert.match(html, /class="visual-field proof-field reveal"/);
assert.match(html, /class="proof-field-copy veil-panel"/);
assert.match(html, /data-profile-value="merged_upstream_prs" data-target="37">37/);
assert.match(html, /data-profile-value="merged_upstream_prs" data-target="38">38/);
assert.match(html, /class="proof-field-visual"/);
assert.equal((html.match(/class="proof-row"/g) || []).length, 4);
assert.equal((html.match(/class="proof-row"/g) || []).length, 5);
assert.equal((html.match(/github\.com\/steipete\/CodexBar\/pull\/2814/g) || []).length, 1);
assert.equal((html.match(/github\.com\/ranaroussi\/yfinance\/pull\/2627/g) || []).length, 1);
assert.doesNotMatch(html, /proof-stage|contribution-card|proof-layout|mandelbrot-frame|Iteration \/ proof/i);
});
Expand Down Expand Up @@ -749,7 +750,7 @@ test('both themes and reduced-motion rendering are present', async () => {
assert.match(css, /\.visual-field\s*\{[^}]*width: 100vw;/s);
assert.match(css, /\.proof-field\s*\{/);
assert.match(css, /grid-template-columns: minmax\(360px, 0\.38fr\) minmax\(0, 0\.62fr\)/);
assert.match(css, /\.proof-field\s*\{[^}]*height: 380px;/s);
assert.match(css, /\.proof-field\s*\{[^}]*height: 412px;/s);
// Panels over a live canvas fade towards their canvas instead of painting a
// flat near-opaque plate, matching .experience-field / .about-field.
assert.match(css, /\.contact-card\.veil-panel[^{]*\{[^}]*linear-gradient\(90deg, var\(--veil\), var\(--veil\) 46%, transparent 100%\)/s);
Expand Down