Pure TypeScript schema.org JSON-LD graph builder.
Typed piece builders, ID factory, graph assembler with deduplication. Framework-agnostic — works anywhere you can run Node.
Building tools that make the web & the world better — from WordPress and EmDash plugins to Astro integrations, Schema infrastructure and club management software.
A shared schema.org JSON-LD graph engine and an Astro integration — agent-ready SEO infrastructure for the modern web, all open source.
Typed piece builders, ID factory, graph assembler with deduplication. Framework-agnostic — works anywhere you can run Node.
Ships a <Seo> component, schema endpoint factories, a schema map for agent discovery, hreflang alternates, and Zod content helpers.
Injects <link rel="alternate" type="text/markdown"> into article pages at build time, making raw Markdown source discoverable by agents and crawlers.
Open-source plugins for the EmDash CMS — SEO, schema.org graph generation, and email delivery.
Uses seo-graph-core for JSON-LD graph generation, with EmDash-specific piece builders and metadata hooks.
Connects EmDash to Lettermint for email delivery, with EmDash-native hooks for transactional sending.
I was the original author of Yoast SEO and most of its add-ons, and never really stopped coding on WordPress plugins.
My current main focus. A WordPress plugin that helps you plan and track your content and site maintenance progress.
Tracks autoloaded options usage and allows the user to optimize them — faster admin, faster frontend.
Stop chasing down requests for your logo and color codes by creating a Brand Assets page on your site.
WordPress' comment system is incomplete. This plugin adds the little tricks that make comments actually manageable.
For sites that don't need comments, this plugin removes every default entry point cleanly.
Make sure tags are only live on your site when they actually add value — more than a few posts in them.
Clear definitions that show up exactly when and where readers need them, without breaking reading flow.
If your site has a lot of PDFs, this Yoast SEO add-on is what you need to get them indexed.
From member management and dues to invoicing, VOG, and membership passes — Rondo automates your club processes and keeps everything in sync.
I actively contribute to EmDash core, including per-collection sitemaps, breadcrumb support, and OG image handling. I also contribute to the software of some of the companies in our investment portfolio — read more about that on my about page, or at Emilia Capital.
On the tooling side: Quix is my Alfred workflow for running SEO checks, speed tests, and other web analysis tools on the current browser URL with a few keystrokes. I also maintain a library of Claude Code skills — reusable agent scripts that automate common dev and content workflows.