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
131 changes: 84 additions & 47 deletions personal-site/src/app/about/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ function SocialLink({
)
}

const linkClassName =
'font-medium text-teal-600 underline decoration-teal-500/40 underline-offset-2 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300'

export const metadata: Metadata = {
title: 'About',
description: site.description,
Expand All @@ -66,69 +69,103 @@ export default function About() {
<h1 className="text-4xl font-bold tracking-tight text-zinc-800 sm:text-5xl dark:text-zinc-100">
I&apos;m {site.name}. I build{' '}
<span className="text-teal-600 dark:text-teal-400">
resilient infrastructure for fintech and Web3
blockchain infrastructure, AI agents, and public interest technology
</span>
.
</h1>
<div className="mt-6 space-y-7 text-base text-zinc-600 dark:text-zinc-400">
<p>
Senior Backend Platform Engineer with 7+ years building resilient,
large-scale infrastructure for fintech and Web3 platforms. Based in{' '}
{site.location}.
Daniel Smith is a Senior DevOps Engineer at Validation Cloud, where
he builds and secures institutional blockchain infrastructure —
Node API, enterprise staking, and AI-powered blockchain
intelligence — for enterprises managing billions in digital assets.
He also built the team&apos;s AI knowledge vault, a shared
cross-machine synchronized knowledge base that keeps engineering
context current across the team. Based in {site.location}.
</p>
<p>
His blockchain work began at IBM, where he developed the transaction
state machine for Sand Dollar, the world&apos;s first nationally
deployed retail central bank digital currency. Issued by the
Central Bank of The Bahamas and live since October 2020, Sand Dollar
is the reference case every central bank in the world now studies
when designing retail CBDC programs.
</p>
<p>
Most recently at Phantom I architected multi-region Kubernetes +
CockroachDB failover systems, reduced infrastructure costs 65%, and
shipped two production AI tools: an automated Slack → Linear ticket
bot powered by LLMs and an official company-wide knowledge bot
(hackathon → maintained product) that ingests Notion, Linear,
GitHub, and Slack for natural-language queries.
Outside his role at Validation Cloud, Daniel builds open-source
infrastructure at the intersection of cryptographic audit trails, AI
agents, and government accountability.
</p>
<p>
I care deeply about agentic AI and developer experience. I recently
open-sourced{' '}
<Link href="https://docs.clawql.com" className={linkClassName}>
ClawQL
</Link>{' '}
is a production TypeScript MCP server and agentic gateway that gives
AI agents structured, auditable, token-efficient access to APIs,
documents, and enterprise knowledge. Its security architecture — 32
modules covering Merkle-chained WORM audit logs, Arweave immutable
anchoring, supply chain signing, and kernel-level agent sandboxing —
is documented at{' '}
<Link
href="https://github.com/danielsmithdevelopment/ClawQL"
className="font-medium text-teal-600 underline decoration-teal-500/40 underline-offset-2 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
href="https://docs.clawql.com/security/best-practices"
className={linkClassName}
>
ClawQL
</Link>
, an MCP server for multi-protocol API access (OpenAPI, Swagger,
Google Discovery, optional GraphQL/gRPC) with lean token use on remote
calls, Obsidian vault memory, audit and session cache, and optional
tools for sandbox runs, persisted schedules, Slack notifications, and
more — see{' '}
docs.clawql.com/security/best-practices
</Link>{' '}
and cited by engineers building production agentic systems.
</p>
<p>
<Link
href="https://docs.clawql.com"
className="font-medium text-teal-600 underline decoration-teal-500/40 underline-offset-2 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
href="https://challengethefootage.com"
className={linkClassName}
>
docs.clawql.com
</Link>
. I also contributed agentic web-search + MCP skills to Google&apos;s
AI Edge Gallery and experiment with on-device ML and GenAI UX via my
fork of the gallery sample.
Challenge the Footage
</Link>{' '}
is a free public interest tool that generates legal documents for
challenging surveillance camera evidence in court. It addresses a
structural authentication gap: no major surveillance camera vendor
publicly documents cryptographic chain of custody for footage. The
tool generates motions in limine under FRE 901, Daubert challenges
under FRE 702 citing the industry&apos;s documented ~10%
misidentification error rate, Fourth Amendment suppression motions
using the Institute for Justice&apos;s database of officer abuse
cases, and Section 1983 civil damages demand letters. Public
defenders get free unlimited access.
</p>
<p className="font-medium text-zinc-700 dark:text-zinc-300">
Previously:
<p>
The{' '}
<Link
href="https://github.com/danielsmithdevelopment/surveillance-evidence-integrity/tree/main/witness"
className={linkClassName}
>
Witness app
</Link>{' '}
records police encounters on iOS and Android, transcribes in real
time using on-device Whisper, and uploads transcript, audio, and
video in priority order so evidence reaches safety even on a weak
signal. Everything is cryptographically signed and Arweave-anchored
for independent verification.
</p>
<p>
The{' '}
<Link
href="https://docs.clawql.com/government"
className={linkClassName}
>
clawql-government
</Link>{' '}
specification extends the same Merkle-chaining and Arweave
anchoring infrastructure to government program outcome
accountability — addressing the structural gap California and other
states face in measuring whether bond-funded programs deliver the
outcomes voters were promised.
</p>
<ul className="mt-2 list-disc space-y-2 pl-5">
<li>
Led blockchain infrastructure and multi-chain indexing at
DraftKings Marketplace
</li>
<li>
Designed Progressive Deployments, Canary Testing, and Zero Trust
security at Upgrade Inc.
</li>
<li>
Built the core state machine for the Bahamian Sand Dollar CBDC at
IBM Blockchain
</li>
</ul>
<p>
Open to conversations on platform engineering, AI agents, Kubernetes,
and scalable AI infrastructure. Currently seeking new opportunities —
happy to connect!
Daniel holds the view that the same engineering discipline that
makes financial systems trustworthy — immutable audit trails,
cryptographic chain of custody, independent verification — should
be applied to government programs, law enforcement evidence, and
public records.
</p>
</div>
</div>
Expand Down
1 change: 0 additions & 1 deletion personal-site/src/app/articles/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ export default async function LinkedInArticlePage({ params }: Props) {
</p>
) : post.syndicationSource ? (
<p className="mt-12 border-t border-zinc-100 pt-8 text-sm text-zinc-600 dark:border-zinc-700/40 dark:text-zinc-400">
Canonical curriculum and module-by-module versions:{' '}
<Link
href={post.syndicationSource.href}
target="_blank"
Expand Down
4 changes: 2 additions & 2 deletions personal-site/src/app/articles/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function Article({ article }: { article: ArticleWithSlug }) {
export const metadata: Metadata = {
title: 'Articles',
description:
'Full text of featured LinkedIn posts, readable on this site, with links back to each thread.',
'Essays and long-form writing on public interest technology, agentic AI security, and platform engineering — including PragmaticVectors pieces and LinkedIn mirrors.',
}

export default async function ArticlesIndex() {
Expand All @@ -46,7 +46,7 @@ export default async function ArticlesIndex() {
return (
<SimpleLayout
title="Articles"
intro="Each item is the full post mirrored from LinkedIn (same content as the thread, formatted for the site). Open a post to read it here, then use the link at the bottom for comments and reactions on LinkedIn."
intro="Long-form writing and mirrored posts — PragmaticVectors essays, ClawQL security curriculum pillars, and LinkedIn threads formatted for the site."
>
<div className="md:border-l md:border-zinc-100 md:pl-6 md:dark:border-zinc-700/40">
<div className="flex max-w-3xl flex-col space-y-16">
Expand Down
2 changes: 1 addition & 1 deletion personal-site/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import '@/styles/tailwind.css'
export const metadata: Metadata = {
title: {
template: `%s - ${site.name}`,
default: `${site.name} - ${site.tagline}`,
default: `${site.name} — ${site.tagline}`,
},
description: site.description,
alternates: {
Expand Down
68 changes: 49 additions & 19 deletions personal-site/src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Button } from '@/components/Button'
import { Card } from '@/components/Card'
import { Container } from '@/components/Container'
import { ProjectOutboundLinks } from '@/components/ProjectOutboundLinks'
import { ArticleMarkdown } from '@/components/ArticleMarkdown'
import {
GitHubIcon,
LinkedInIcon,
Expand All @@ -14,6 +15,7 @@ import {
featuredProjects,
featuredLinkedInPosts,
linkedinProfile,
openToOpportunities,
site,
type FeaturedProject,
type WorkRole,
Expand Down Expand Up @@ -165,28 +167,53 @@ function HiringCta() {
<span className="ml-3">Open to opportunities</span>
</h2>
<p className="mt-2 text-sm text-zinc-600 dark:text-zinc-400">
I’m particularly interested in roles blending{' '}
<strong className="font-medium text-zinc-800 dark:text-zinc-200">
AI agents, LLM tooling, or MCP
</strong>{' '}
with{' '}
<strong className="font-medium text-zinc-800 dark:text-zinc-200">
production platform engineering
</strong>{' '}
(Kubernetes, observability, reliability). Reach out if that sounds like
your team.
{openToOpportunities.intro}
</p>
<div className="mt-4 flex flex-wrap gap-3">
<p className="mt-4 text-sm font-medium text-zinc-800 dark:text-zinc-200">
I&apos;m open to:
</p>
<ul className="mt-3 space-y-4">
{openToOpportunities.items.map((item) => (
<li key={item.title}>
<p className="text-sm font-medium text-zinc-800 dark:text-zinc-200">
{item.title}
</p>
<p className="mt-1 text-sm text-zinc-600 dark:text-zinc-400">
{item.body}
{'href' in item && item.href ? (
<>
{' '}
<Link
href={item.href}
className="font-medium text-teal-600 underline decoration-teal-500/30 underline-offset-2 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
>
{item.hrefLabel}
</Link>
</>
) : null}
</p>
</li>
))}
</ul>
<div className="mt-5 flex flex-wrap gap-3">
<Button
href={`mailto:${site.email}?subject=Hello%20Daniel`}
variant="primary"
className="flex-none"
>
Email me
Email
</Button>
<Button href={site.github.url} variant="secondary" className="flex-none">
GitHub profile
GitHub
</Button>
<Button href={site.social.x} variant="secondary" className="flex-none">
X
</Button>
{linkedinProfile ? (
<Button href={linkedinProfile} variant="secondary" className="flex-none">
LinkedIn
</Button>
) : null}
</div>
</div>
)
Expand Down Expand Up @@ -234,7 +261,7 @@ function AiAgentsSection() {
<div className="rounded-2xl border border-zinc-100 p-6 dark:border-zinc-700/40">
<h2 className="flex text-sm font-semibold text-zinc-900 dark:text-zinc-100">
<SparklesIcon className="h-6 w-6 flex-none" />
<span className="ml-3">AI &amp; agents</span>
<span className="ml-3">Focus areas</span>
</h2>
<ul className="mt-6 space-y-5">
{aiHighlights.map((item) => (
Expand Down Expand Up @@ -297,10 +324,12 @@ export default async function Home() {
{site.location}
</p>
<h1 className="mt-3 text-2xl font-bold tracking-tight text-zinc-800 sm:text-3xl lg:text-4xl dark:text-zinc-100 leading-snug">
{site.tagline}
{site.headline}
</h1>
<p className="mt-6 text-base leading-relaxed text-zinc-600 dark:text-zinc-400">
{site.bioShort}{' '}
<div className="mt-6 space-y-4 text-base leading-relaxed text-zinc-600 dark:text-zinc-400 [&_p]:my-0">
<ArticleMarkdown source={site.homeSummaryMarkdown} />
</div>
<p className="mt-4 text-base text-zinc-600 dark:text-zinc-400">
<Link
href="/about"
className="font-medium text-teal-600 underline decoration-teal-500/30 underline-offset-2 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
Expand Down Expand Up @@ -335,8 +364,9 @@ export default async function Home() {
Featured projects
</h2>
<p className="mt-2 text-sm text-zinc-600 dark:text-zinc-400">
MCP stack, libraries, gateways, and product PWAs — use the icons for
GitHub, npm, or the live site when each exists.
CBDC infrastructure, public interest tools, and the ClawQL agentic
stack — use the icons for GitHub, npm, or the live site when each
exists.
</p>
</div>
<div className="mx-auto mt-10 grid max-w-2xl grid-cols-1 gap-8 sm:grid-cols-2 lg:mx-0 lg:max-w-none xl:grid-cols-3">
Expand Down
4 changes: 2 additions & 2 deletions personal-site/src/app/projects/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ import { featuredRepos } from '@/lib/site'
export const metadata: Metadata = {
title: 'Projects',
description:
'Open-source and product work — AI agents, DevSecOps automation, and full-stack apps.',
'Sand Dollar CBDC infrastructure, Challenge the Footage, Witness, ClawQL, and related open-source work.',
}

export default function Projects() {
return (
<SimpleLayout
title="Projects"
intro="Curated to match my resume’s open-source section: MCP servers and transports, evolutionary-loop tooling, edge gateways, and product PWAs — plus a few extra public repos. Each card links to GitHub, npm, and/or a live site when available (icons below the title)."
intro="Featured work across institutional blockchain infrastructure, public interest technology, and the ClawQL agentic stack — plus related open-source libraries and product PWAs. Each card links to GitHub, npm, and/or a live site when available."
>
<ul
role="list"
Expand Down
44 changes: 28 additions & 16 deletions personal-site/src/app/speaking/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,45 @@ import { type Metadata } from 'next'
import Link from 'next/link'

import { SimpleLayout } from '@/components/SimpleLayout'
import { site } from '@/lib/site'
import { site, speakingTopics } from '@/lib/site'

export const metadata: Metadata = {
title: 'Speaking',
description:
'Conference talks, panels, and podcasts — especially on AI agents, platform engineering, and reliability.',
'Talks on agentic AI security, CBDC design and deployment, blockchain infrastructure at government scale, and surveillance evidence accountability.',
}

export default function Speaking() {
return (
<SimpleLayout
title="Speaking & media"
intro="I don’t have a canned list of public recordings on this page yet — but I care a lot about clear technical communication, whether that’s workshops, incident reviews, or architecture deep dives. If you’re planning a podcast, meetup, or panel on AI agents, MCP, Kubernetes/SRE, or blockchain infrastructure, I’d love to hear from you."
intro="I’m available for conference talks, panels, workshops, and podcasts on agentic AI security, blockchain infrastructure at government scale, CBDC design and deployment, and surveillance evidence accountability."
>
<div className="prose prose-zinc max-w-none dark:prose-invert">
<p>
For speaking inquiries or panel invitations, email me at{' '}
<Link
href={`mailto:${site.email}`}
className="font-medium text-teal-600 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
>
{site.email}
</Link>
. I’m especially interested in topics that sit at the intersection of{' '}
<strong>LLM tooling</strong>, <strong>production platforms</strong>, and{' '}
<strong>developer experience</strong>.
</p>
<div className="space-y-12">
<ul className="space-y-10">
{speakingTopics.map((topic) => (
<li key={topic.title}>
<h2 className="text-base font-semibold tracking-tight text-zinc-800 dark:text-zinc-100">
{topic.title}
</h2>
<p className="mt-3 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400">
{topic.body}
</p>
</li>
))}
</ul>
<div className="border-t border-zinc-100 pt-10 dark:border-zinc-700/40">
<p className="text-sm text-zinc-600 dark:text-zinc-400">
For speaking inquiries or panel invitations, email me at{' '}
<Link
href={`mailto:${site.email}`}
className="font-medium text-teal-600 hover:text-teal-700 dark:text-teal-400 dark:hover:text-teal-300"
>
{site.email}
</Link>
.
</p>
</div>
</div>
</SimpleLayout>
)
Expand Down
Loading
Loading