Skip to content
View brandonperfetti's full-sized avatar
🚀
Gettin it...
🚀
Gettin it...

Highlights

  • Pro

Block or report brandonperfetti

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
brandonperfetti/README.md

brandonperfetti.com

Brandon Perfetti

AI-augmented software and product engineer · agent pipelines run under a written harness · the Next.js and TypeScript products they ship

Portfolio: brandonperfetti.com How I work GitHub commit dashboard LinkedIn: brandonperfetti Profile views

I lead the frontend of a multi-tenant real-estate platform: Next.js and TypeScript sites on one shared component package, each with its own headless CMS. Most of that work is delivered through AI agents running under a written harness. The agents write code; the deciding happens first, and it happens on paper.

How I work

Five stages. The first four are specification; only the fifth is code.

  1. Grill the problem. What is actually being asked for, and what happens if we do nothing. Most of what I cut gets cut here.
  2. Write the master priority document. One file a cold reader can run the next wave from.
  3. Cut tickets. The finding in the title, the receipts in the body.
  4. Set the fence. Which files each agent lane owns, and which shared files are serialised.
  5. Dispatch waves, then review every one. Nothing lands without a review pass.

Four invariants keep it safe: two-axis review before acceptance (standards and spec) · a capability guard decides whether a lane runs attended or autonomously · evidence labels on every claim (measured, source, inferred) · agents never merge.

The full write-up, including an audit of how I direct agents by one of my own agents, is at brandonperfetti.com/how-i-work. The agreements themselves are public: agent-working-agreements.

What it produced

One program is the clearest illustration: a fleet-hardening initiative around incremental static regeneration. Roughly 150 tickets and 426 files across a shared component package, the CMS, the portal and the tenant sites, first commit to fleet promotion in four weeks, in ten reviewed waves, with the fleet end-to-end suite green at every wave.

The number I care about there is not 426. It is ten: the number of times the work stopped and got looked at before any of it reached a release branch.

Before that, a decade of data integrations built the depth: helping build a React and GraphQL ingestion platform for 250+ MLS feeds and 10M+ records, SAML/JWT SSO across 100+ platforms, and a re-architecture that cut data-source integration time by 80%.

Featured work

The harness itself: evidence labels, the two modes and the guard that picks between them, the git ritual, the stop-list. The changelog shows which rules changed after something bit.

Markdown Shell GitHub Actions

14 charts on PR throughput, cycle time, flow health and release cadence, read server-side from the GitHub API. Nobody asked me to build it. Source.

Next.js 16 React 19 Recharts Tailwind v4 Vitest

The site and its content platform: a block page-builder on Payload CMS, Storybook for the components, Vitest and Playwright in CI.

Next.js 16 Payload CMS Supabase Clerk Storybook

An interactive macOS-inspired portfolio: windows, a dock, a menu bar. What frontend craft looks like when the constraints are removed.

React TypeScript GSAP Zustand Tailwind CSS

Event timelines made simple for teams and organizations. A SaaS product built around clear information architecture and fast, intuitive UX.

Next.js TypeScript Tailwind CSS Prisma PostgreSQL

A modernized web presence for a forensic engineering firm. Accessibility-first, CMS-driven, and built for long-term maintainability.

Next.js TypeScript Tailwind CSS Headless CMS

Latest articles

More at brandonperfetti.com/articles.

Tech stack

Core

TypeScript JavaScript React Next.js Node.js GraphQL Tailwind CSS

AI-augmented engineering

Claude Code Model Context Protocol Anthropic API AI SDK Codex OpenClaw CodeRabbit

UI

shadcn/ui Radix UI Headless UI GSAP Zustand TanStack Storybook

Backend and data

Payload CMS Strapi Supabase PostgreSQL Prisma Clerk Zod

Testing

Vitest Playwright Testing Library Jest MSW

Delivery

Vercel GitHub Actions Vite Fly.io

Certifications

22 certificates in three groups (click to expand)

AI and agentic engineering

Certificate Issuer Issued
AI Coding Crash Course AIHero.dev Sep 2026
AI Coding for Real Engineers AIHero.dev Jun 2026
Claude Code for Real Engineers AIHero.dev Apr 2026
AI SDK v6 Crash Course AIHero.dev Mar 2026
Build Your Own AI Personal Assistant in TypeScript AIHero.dev Dec 2025
Master the Model Context Protocol (MCP) EpicAI.pro Nov 2025

Frontend and full-stack depth

Certificate Issuer Issued
Certificate of Interface Design Shift Nudge Apr 2026
The Complete Next.js Testing Course JS Mastery Feb 2026
Database Mastery: SQL to Prisma JS Mastery Jan 2026
Full Stack Foundations Epic Web Jul 2024
Professional Web Forms Epic Web Jul 2024
Data Modeling Deep Dive Epic Web Jul 2024
Authentication Strategies & Implementation Epic Web Jul 2024
Pixel Perfect Figma to Tailwind Epic Web Jul 2024

Quality and accessibility

Certificate Issuer Issued
Web Application Testing Epic Web Jul 2024
Testing Fundamentals Epic Web Jul 2024
Automated Accessibility Testing testingaccessibility.com Jul 2024
Coding Accessible Interactions and Mechanics testingaccessibility.com Jul 2024
Semantic Markup with HTML and ARIA testingaccessibility.com Jul 2024
Manual Accessibility Testing testingaccessibility.com Jul 2024
Design Thinking & People Skills for Accessibility testingaccessibility.com Jul 2024
Foundations of Accessibility testingaccessibility.com Jul 2024

Each link opens the certificate itself. The full set is on LinkedIn.

Completed courses

Courses completed, by platform (click to expand)

AI Hero

Epic Web and Epic AI

Testing Accessibility

JS Mastery and Shift Nudge

GitHub stats

Recently merged

View stats
Public GitHub contributions in the last twelve months and the language mix across public repositories

The card is regenerated daily by index.js in this repository, from the GitHub API, and committed as an SVG. No third-party stats service is involved.

Time spent this year

Wakatime stats

Connect

If you are solving the same problem, I would like to compare notes.

GitHub LinkedIn Portfolio X

Pinned Loading

  1. agent-working-agreements agent-working-agreements Public

    The written form of deciding what gets built and holding AI agents to it: how work is specified, how claims are labelled, which branch a change may land on, and who merges.

    Shell

  2. github-commit-dashboard github-commit-dashboard Public

    GitHub activity dashboard: 14 charts on PR throughput, cycle time, flow health and release cadence, read server-side from the GitHub API. Next.js 16, React 19, Recharts, Tailwind v4.

    TypeScript

  3. bp-portfolio bp-portfolio Public

    Brandon Perfetti's Portfolio

    TypeScript 1

  4. macos-portfolio macos-portfolio Public

    MacOS Portfolio Built with Vite, React, Typescript, and TailwindCSS

    TypeScript 1

  5. filmpire filmpire Public

    A cinematic movie discovery app powered by the TMDB API — built with React, TypeScript, Redux Toolkit, and Tailwind CSS.

    TypeScript

  6. next-stack-overflow next-stack-overflow Public

    Dev Flow — A full-stack Stack Overflow clone with AI-generated answers, built with Next.js 14, MongoDB, Clerk, and OpenAI.

    TypeScript