unify experience bullets to past tense and reorder project cards

All timeline bullets now open with past-tense action verbs (Huntington
gerunds become Built/Created/Led; stray 'Lead a high-performing team'
becomes 'Led'). The Local AI Stack card moves to second position,
right after Brain of Reese; the test-locked grid test is updated in
the same change.

LLM-Generated: true
This commit is contained in:
2026-10-23 13:28:33 -04:00
parent a03dcc9e7e
commit f5f6d2322a
2 changed files with 50 additions and 50 deletions
+47 -47
View File
@@ -117,14 +117,14 @@
</div> </div>
<span class="timeline-date">Jun 2026 – Present</span> <span class="timeline-date">Jun 2026 – Present</span>
<ul class="timeline-list"> <ul class="timeline-list">
<li>Building an enterprise agentic vulnerability remediation <li>Built an enterprise agentic vulnerability remediation toolkit
toolkit and workflow to resolve millions of vulnerabilities.</li> and workflow to resolve millions of vulnerabilities.</li>
<li>Creating and distributing LLM harness skills that automate <li>Created and distributed LLM harness skills that automate
business problems — including ServiceNow incident response — business problems - including ServiceNow incident response -
at machine speed.</li> at machine speed.</li>
<li>Leading a team of 6 offshore engineers to build a developer <li>Led a team of 6 offshore engineers building a developer landing
landing zone with agentic tools that build pipelines, plan zone with agentic tools that build pipelines, plan work, and
work, and make documentation searchable.</li> make documentation searchable.</li>
</ul> </ul>
</div> </div>
</div> </div>
@@ -137,7 +137,7 @@
</div> </div>
<span class="timeline-date">Jan 2022 – Apr 2026</span> <span class="timeline-date">Jan 2022 – Apr 2026</span>
<ul class="timeline-list"> <ul class="timeline-list">
<li>Lead a high-performing DevOps team building microelectronics design services and <li>Led a high-performing DevOps team building microelectronics design services and
integrating cloud partner architectures with AWS.</li> integrating cloud partner architectures with AWS.</li>
<li>Recruited and led an engineering team to deliver a machine learning platform in &lt;1 <li>Recruited and led an engineering team to deliver a machine learning platform in &lt;1
year, utilizing Langchain, PyTorch, and BERT to identify government contract patterns. year, utilizing Langchain, PyTorch, and BERT to identify government contract patterns.
@@ -332,6 +332,45 @@
</div> </div>
</div> </div>
</div> </div>
<div class="project-card fade-in" role="listitem">
<div class="project-preview">
<div class="code-block">
<div class="code-line"><span class="code-comment"># Inference engines</span></div>
<div class="code-line"><span class="code-variable">engines</span> = {</div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"vllm"</span>: <span class="code-string">"cuda"</span>, <span class="code-comment"># high-throughput serving</span></div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"gufo"</span>: <span class="code-string">"rocm"</span>, <span class="code-comment"># Strix Halo inference</span></div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"llama.cpp"</span>: <span class="code-string">"gguf"</span>, <span class="code-comment"># CPU/GPU fallback</span></div>
<div class="code-line">}</div>
<div class="code-line">&nbsp;</div>
<div class="code-line"><span class="code-comment"># LiteLLM proxy for unified API</span></div>
</div>
</div>
<div class="project-info">
<h3>Local AI Stack</h3>
<p>Complete local AI infrastructure: vLLM, Gufo, and llama.cpp for inference, LiteLLM as a
unified API proxy, Bifrost for model routing, and Langfuse for observability. Supports
both CUDA and ROCm.</p>
<div class="project-meta">
<div class="project-tech">
<span>vLLM</span>
<span>Gufo</span>
<span>llama.cpp</span>
<span>LocalAI</span>
<span>LiteLLM</span>
<span>Langfuse</span>
</div>
<div class="project-links">
<a href="https://gitea.reeseapps.com/services/homelab" title="Source" target="_blank"
rel="noopener">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
<path
d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
</svg>
</a>
</div>
</div>
</div>
</div>
<div class="project-card fade-in" role="listitem"> <div class="project-card fade-in" role="listitem">
<div class="project-preview"> <div class="project-preview">
<div class="code-block"> <div class="code-block">
@@ -421,45 +460,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="project-card fade-in" role="listitem">
<div class="project-preview">
<div class="code-block">
<div class="code-line"><span class="code-comment"># Inference engines</span></div>
<div class="code-line"><span class="code-variable">engines</span> = {</div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"vllm"</span>: <span class="code-string">"cuda"</span>, <span class="code-comment"># high-throughput serving</span></div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"gufo"</span>: <span class="code-string">"rocm"</span>, <span class="code-comment"># Strix Halo inference</span></div>
<div class="code-line">&nbsp;&nbsp;<span class="code-string">"llama.cpp"</span>: <span class="code-string">"gguf"</span>, <span class="code-comment"># CPU/GPU fallback</span></div>
<div class="code-line">}</div>
<div class="code-line">&nbsp;</div>
<div class="code-line"><span class="code-comment"># LiteLLM proxy for unified API</span></div>
</div>
</div>
<div class="project-info">
<h3>Local AI Stack</h3>
<p>Complete local AI infrastructure: vLLM, Gufo, and llama.cpp for inference, LiteLLM as a
unified API proxy, Bifrost for model routing, and Langfuse for observability. Supports
both CUDA and ROCm.</p>
<div class="project-meta">
<div class="project-tech">
<span>vLLM</span>
<span>Gufo</span>
<span>llama.cpp</span>
<span>LocalAI</span>
<span>LiteLLM</span>
<span>Langfuse</span>
</div>
<div class="project-links">
<a href="https://gitea.reeseapps.com/services/homelab" title="Source" target="_blank"
rel="noopener">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
<path
d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
</svg>
</a>
</div>
</div>
</div>
</div>
<div class="project-card fade-in" role="listitem"> <div class="project-card fade-in" role="listitem">
<div class="project-preview"> <div class="project-preview">
<div class="code-block"> <div class="code-block">
+3 -3
View File
@@ -52,9 +52,9 @@ test.describe('Page structure', () => {
const titles = await cards.locator('.project-info h3').allTextContents(); const titles = await cards.locator('.project-info h3').allTextContents();
expect(titles).toEqual([ expect(titles).toEqual([
'Brain of Reese', 'Brain of Reese',
'Local AI Stack',
'Reverse Proxy Infrastructure', 'Reverse Proxy Infrastructure',
'Dynamic DNS Service', 'Dynamic DNS Service',
'Local AI Stack',
'Deployment Automation', 'Deployment Automation',
'ServWaf', 'ServWaf',
]); ]);
@@ -63,8 +63,8 @@ test.describe('Page structure', () => {
await expect(brain.locator('.project-tech span')).toHaveCount(4); await expect(brain.locator('.project-tech span')).toHaveCount(4);
await expect(brain).toHaveText(/RAG chatbot/i); await expect(brain).toHaveText(/RAG chatbot/i);
await expect(brain.locator('a[href="https://gitea.reeseapps.com/Experimental/brain-of-reese"]')).toBeAttached(); await expect(brain.locator('a[href="https://gitea.reeseapps.com/Experimental/brain-of-reese"]')).toBeAttached();
// Local AI Stack: Ollama replaced by vLLM, Gufo, llama.cpp // Local AI Stack: second card, Ollama replaced by vLLM, Gufo, llama.cpp
const ai = cards.nth(3); const ai = cards.nth(1);
await expect(ai.locator('.project-tech span')).toHaveText(['vLLM', 'Gufo', 'llama.cpp', 'LocalAI', 'LiteLLM', 'Langfuse']); await expect(ai.locator('.project-tech span')).toHaveText(['vLLM', 'Gufo', 'llama.cpp', 'LocalAI', 'LiteLLM', 'Langfuse']);
await expect(ai).not.toContainText('Ollama'); await expect(ai).not.toContainText('Ollama');
// ServWaf is closed source — description only, no source link // ServWaf is closed source — description only, no source link