brand-site/src/pages/about.astro
Scott Scoble a1e41ac6e3 wip: housekeeping changes from prior session (Footer, SEO, layouts, about, consulting, index, sitemap, speaking, book cover svg)
Carried over from a prior session. Preserved on the feature branch for review rather than discarded; Scott can decide what to merge.
2026-07-16 15:49:46 -07:00

313 lines
7.8 KiB
Text

---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout
title="About — Scott Scoble"
description="Scott Scoble is a builder, writer, and speaker focused on the human side of AI systems. Author of The Soil Beneath the Code and A Walk in Mentoring."
>
<section class="hero">
<div class="hero-content">
<h1>About</h1>
</div>
</section>
<section class="bio-section">
<div class="section-container">
<div class="bio-content">
<p class="bio-lead">
Scott Scoble is a builder, writer, and speaker focused on the human side of AI systems.
He's the author of <em>The Soil Beneath the Code</em> and <em>A Walk in Mentoring</em>,
and creator of Speckl — a compile-time provenance layer for regulated industries.
He advises engineering leaders on how to build AI systems that cultivate human capability
instead of strip-mining it.
</p>
<h2>The Cultivation Framework</h2>
<div class="framework-grid">
<div class="framework-item">
<h3>Soil Assessment</h3>
<p>Diagnose before prescribing. Know what's actually depleted before you fertilize.</p>
</div>
<div class="framework-item">
<h3>Formation</h3>
<p>Cultivate capability, don't extract output. Build systems that get stronger with use.</p>
</div>
<div class="framework-item">
<h3>Accountability</h3>
<p>Hold the line on human infrastructure. Dark provenance for every agent output.</p>
</div>
</div>
</div>
<!-- Photo silhouette placeholder -- hidden until a real headshot is available -->
<div class="photo-placeholder" style="display: none;">
<img src="/images/photo-silhouette.svg" alt="Scott Scoble" width="400" height="500" class="photo-silhouette" loading="lazy" />
</div>
</div>
</section>
<section class="books-section">
<div class="section-container">
<h2>Books</h2>
<div class="books-grid">
<article class="book-card">
<h3>The Soil Beneath the Code</h3>
<p class="book-status">Published</p>
<p>What engineering teams can learn from farmers about sustainable systems.</p>
</article>
<article class="book-card">
<h3>A Walk in Mentoring</h3>
<p class="book-status">Published</p>
<p>Three questions that change how people learn.</p>
</article>
<article class="book-card">
<h3>Dark Provenance</h3>
<p class="book-status">Coming 2026</p>
<p>Formal verification for the AI age. How to audit what your AI actually did.</p>
</article>
</div>
</div>
</section>
<section class="projects-section">
<div class="section-container">
<h2>Projects</h2>
<div class="projects-grid">
<article class="project-card">
<h3><a href="https://speckl.scoble.me">Speckl</a></h3>
<p>A state machine specification language compiler that produces auditable code with embedded provenance. Compiles SpeckDL to TypeScript, Z3 SMT verification, and compliance artifacts (PROV-O, CycloneDX, SPDX). Fulfills NIST SA-11.</p>
</article>
<article class="project-card">
<h3>ScobleClaw</h3>
<p class="project-visibility">Private</p>
<p>Agentic engineering framework — tools, workflows, and skills for building with AI agents. Patterns for subagent dispatch, skill-based development, and provenance tracking.</p>
</article>
<article class="project-card">
<h3>Beyond the Prompt</h3>
<p>Workshop presentation on using Skills and Subagents to guide AI-assisted development, demonstrated through practical architecture decisions. Built with Reveal.js and Nix flakes.</p>
</article>
</div>
</div>
</section>
</BaseLayout>
<style>
.hero {
background: var(--color-cream);
padding: 12rem 2rem 6rem;
text-align: center;
}
.hero h1 {
font-family: var(--font-heading);
font-size: clamp(2rem, 5vw, 3rem);
color: var(--color-brown-dark);
margin: 0;
}
.section-container {
max-width: 1000px;
margin: 0 auto;
padding: 4rem 2rem;
}
.bio-section {
background: white;
}
.bio-section .section-container {
display: grid;
grid-template-columns: 1fr 300px;
gap: 3rem;
align-items: start;
}
@media (max-width: 768px) {
.bio-section .section-container {
grid-template-columns: 1fr;
}
}
.bio-lead {
font-size: 1.125rem;
line-height: 1.7;
color: var(--color-brown);
margin: 0 0 2rem;
}
.bio-lead em {
font-style: normal;
font-weight: 600;
}
.bio-content h2 {
font-family: var(--font-heading);
font-size: 1.5rem;
color: var(--color-brown-dark);
margin: 2rem 0 1rem;
}
.framework-grid {
display: grid;
gap: 1.5rem;
}
.framework-item {
padding: 1.5rem;
background: var(--color-cream);
border-radius: 8px;
}
.framework-item h3 {
font-family: var(--font-heading);
font-size: 1.125rem;
margin: 0 0 0.5rem;
color: var(--color-brown-dark);
}
.framework-item p {
margin: 0;
color: var(--color-text-muted);
}
.photo-placeholder {
background: var(--color-cream-warm);
border-radius: 12px;
padding: 1rem;
text-align: center;
color: var(--color-text-muted);
}
.photo-silhouette {
max-width: 100%;
height: auto;
border-radius: 8px;
}
.books-section {
background: var(--color-cream);
}
.books-section h2 {
font-family: var(--font-heading);
font-size: 2rem;
text-align: center;
margin: 0 0 2rem;
color: var(--color-brown-dark);
}
.books-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.book-card {
background: white;
padding: 2rem;
border-radius: 8px;
border: 1px solid var(--color-border);
}
.book-card h3 {
font-family: var(--font-heading);
font-size: 1.25rem;
margin: 0 0 0.5rem;
color: var(--color-brown-dark);
}
.book-status {
font-size: 0.875rem;
font-weight: 600;
color: var(--color-green);
text-transform: uppercase;
letter-spacing: 0.05em;
margin: 0 0 0.75rem;
}
.book-card p:last-child {
margin: 0;
color: var(--color-text-muted);
line-height: 1.6;
}
.projects-section {
background: white;
}
.projects-section h2 {
font-family: var(--font-heading);
font-size: 2rem;
text-align: center;
margin: 0 0 2rem;
color: var(--color-brown-dark);
}
.projects-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
}
.project-card {
background: var(--color-cream);
padding: 2rem;
border-radius: 8px;
border: 1px solid var(--color-border);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.project-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.project-card h3 {
font-family: var(--font-heading);
font-size: 1.25rem;
margin: 0 0 0.75rem;
}
.project-card h3 a {
color: var(--color-brown-dark);
text-decoration: none;
}
.project-card h3 a:hover {
color: var(--color-amber);
}
.project-card p {
margin: 0;
color: var(--color-text-muted);
line-height: 1.6;
}
.project-visibility {
display: inline-block;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--color-amber);
background: var(--color-cream-warm);
padding: 0.15rem 0.6rem;
border-radius: 3px;
margin-bottom: 0.5rem;
}
</style>