herdctl: an orchestration layer for Claude Code
herdctl is an orchestration layer for Claude Code. It lets your agents run on a schedule, as part of a fleet, and puts them right in your discord or slack channel.
I'm an experienced full stack software engineer with a passion for UI.
I've spent the last 2 years creating Applied AI libraries and apps, most notably BragDoc.ai.
import { ed } from 'England'
ed.improveWith('Natalia', 'Gandalf');
function EdSpencer() {
return (
<Engineer specialties={["Full Stack", "AI", "UX"]}>
<Languages
expert={["TypeScript", "JavaScript", "HTML", "CSS"]}
conversant={["Python", "C++"]}
/>
<Technologies
expert={["React", "Node", "Next.js", "Tailwind CSS"]}
conversant={["GraphQL", "PostgreSQL", "terraform", "Docker"]}
/>
<Experience
areas={["Cyber Security", "Frameworks"]}
management={true}
/>
<Embraces cicd={true} iac={true} />
</Engineer>
)
}
Stuff I've been working on lately
herdctl is an orchestration layer for Claude Code. It lets your agents run on a schedule, as part of a fleet, and puts them right in your discord or slack channel.
frameit.dev is a new open source project that makes it easy to create professional video thumbnails, title cards and og images for social media. Built with React 19 and TypeScript, it's completely free and runs in your browser.
9 months after the original creation of bragdoc.ai, I've rebuilt it from the ground up with privacy-first architecture, configurable LLM providers, and a proper web UI. Here's what changed and why it matters for engineers tracking their work.
Claude Code and Git Worktrees: a match made in heaven? Not really.
LLM Routers are a pivotal pattern in AI apps. They enable us to use one LLM to delegate to another, allowing us to create one prompt that's great at deciding what to do (the router), and a set of other prompts that are optimized for doing the actual operation the user wants. This separation allows us to more easily scale and test our AI applications, and this article shows how to build one with mdx-prompt and NextJS.
TypeScript, AI, React and NextJS
mdx-prompt lets you use JSX to write LLM prompts, giving you the familiarity of React and the power of composability, templating logic, testing and reuse that come from JSX & MDX.
Read Announcement Postbragdoc.ai is a SaaS application that uses a blend of AI and traditional SaaS technologies to help professionals keep track of all the great work they've done, and automatically generate high quality, evidence-based weekly summaries for your boss or performance review documentation to support your next promotion. It's also completely open source. I blog about it often.
Find out moreInformAI is a tool that allows AI to access and understand the information in your React components. With InformAI, it's easy to build AI copilots that can see the same screen as the user.
Read Announcement Postherdctl is an open-source orchestration layer for Claude Code that enables autonomous AI agent fleets. Define agents in YAML, trigger them on schedules or chat messages, and let them work through GitHub Issues, Jira, or Linear autonomously. "Kubernetes for AI agents."
Find out moreframeit.dev is a free, open-source tool for creating professional video thumbnails, title cards and social media graphics. Built with React 19 and TypeScript, it provides real-time canvas preview with multi-platform presets for YouTube, TikTok, Twitter and more. No design skills or paid software required - just create, export and share.
Find out morereact-auto-intl uses AI to automatically internationalize and translate your React and Next JS applications. It can reduce days of tedious work to minutes.
Find out moreNarratorAI excels at generating pieces of content like "What to Read Next" summaries, blog tag intros, and search result summaries. It's a tool that helps you create AI-powered content for your blog or other content.
Read Announcement PostI've been writing JavaScript, HTML & CSS for 20 years. Along the way I've gotten good at UX, AI, IaC and CI/CD. My go-to's are TypeScript, React and Prisma, CICD'd to the cloud.
I've deployed large scale applications to AWS and Google Cloud, using terraform, kubernetes, and docker to create scalable architectures from the ground up using CI/CD and IaC.
I'm fluent with GitHub and GitLab CI/CD pipelines, and know how to get my code into production quickly and with high quality.
I've been programming with JavaScript since long before it was cool to do so. These days I'm a TypeScript fanboy, but I still love JavaScript. I'm also a big fan of React, Next.js, and Tailwind CSS.
I've also been written my fair share of Python, mostly using it for AI projects. I've used C++ for some embedded systems work, and hate Java. Well, dislike anyway.