All Projects
Dev Tool

PortfolioBuilder

The site you're looking at. Forked, rebuilt, and extended into an AI-native portfolio with A2A protocol support, agentic deployment, and a dark cyberpunk aesthetic — managed entirely by an AI collaborator.

Astro TypeScript Cloudflare Workers TailwindCSS A2A AI Agentic Development Private repository

PortfolioBuilder

You’re looking at it.

This is the fork that became the portfolio. Started as an open-source Astro template. Became something substantially different — an AI-native portfolio platform, a live A2A agent endpoint, and a working demonstration of what agentic development actually produces in practice.

Live at abstractryan.ai


What Got Built

The fork was a starting point. Everything meaningful was added:

  • Dark cyberpunk aesthetic — slate/amber/cyan palette, glow cards, animated orbs, hero grid background, custom typography (Inter + JetBrains Mono)
  • A2A protocol integration — JSON-RPC 2.0 endpoint at /a2a so AI agents can discover and query skills, projects, and availability programmatically. Not just a portfolio — an agent endpoint.
  • Live A2A stats dashboard — real-time display of agent requests, methods, and success rates
  • Cloudflare Workers SSR — deployed via GitHub Actions on every push to main, served at the edge globally
  • MDX content layer — projects, blog posts, and speaking engagements all managed as structured content with frontmatter schemas
  • Featured game showcase — Root Cause itch.io embed styled to site palette, 2-column spotlight section
  • Full page suite — Projects, Create (creative portfolio), Consulting, Speaking, About, Contact

How It’s Maintained

This is the part worth paying attention to.

The entire build, deployment pipeline, content updates, new features, bug fixes, and ongoing maintenance are handled by Lisa — an OpenClaw AI assistant running on a Linux server. Ryan directs. Lisa ships.

A typical session: Ryan describes what he wants in a Telegram message. Lisa reads the codebase, writes the code, runs the build, fixes errors, commits, and pushes to GitHub. Cloudflare deploys automatically. The whole loop — idea to live production — often runs in under five minutes.

This isn’t a demo of what AI could do. It’s a working production system that’s been running this way since February 2026.


Technical Stack

  • Astro 4 with Cloudflare Workers adapter — SSR at the edge
  • TailwindCSS — utility-first styling with custom component layer
  • MDX content collections — type-safe frontmatter with Zod schemas
  • GitHub Actions — CI/CD pipeline, builds and deploys on push to main
  • Cloudflare Workers — edge runtime, global distribution, zero cold starts
  • A2A protocol — custom JSON-RPC 2.0 implementation for AI agent discoverability

Lessons From Running It This Way

The PUBLIC_ prefix requirement for Cloudflare Workers SSR runtime caught us twice before it was documented. TypeScript generics in Astro JSX templates fail esbuild — types belong in the frontmatter only. GitHub Actions has a reserved variable named GITHUB_URL — use PUBLIC_GITHUB_URL instead.

The kind of things you learn by shipping, not reading.


Built and maintained by one human and one AI, in production since February 2026.

Related Projects