41554 blogs · [
{
"id": "01a087bd-5b85-7376-83ea-562831c102cf",
"title": "hrdx: I Built My Own Agent Multiplexer, Because of Course I Did",
"url": "https://www.patriceckhart.com/blog/posts/2026-08-01/hrdx",
"published_at": "2026-08-01T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-562832536c88",
"title": "The zotfile: Agents You Can Share Like Files",
"url": "https://www.patriceckhart.com/blog/posts/2026-07-12/the-zotfile",
"published_at": "2026-07-12T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-562832e26726",
"title": "Building Your Own Coding Agent on Top of zot",
"url": "https://www.patriceckhart.com/blog/posts/2026-06-16/building-your-own-coding-agent-on-top-of-zot",
"published_at": "2026-06-16T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-562833a143c1",
"title": "Why Codex on ChatGPT Plus Can Save You From Yourself",
"url": "https://www.patriceckhart.com/blog/posts/2026-05-31/why-codex-on-chatgpt-plus-can-save-you-from-yourself",
"published_at": "2026-05-31T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-5628345494c9",
"title": "moustache: Browser Automation for Coding Agents",
"url": "https://www.patriceckhart.com/blog/posts/2026-05-27/moustache",
"published_at": "2026-05-27T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-5628350c1481",
"title": "Voxxy: Voice to Text from the macOS Menu Bar",
"url": "https://www.patriceckhart.com/blog/posts/2026-05-22/voxxy",
"published_at": "2026-05-22T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-562835dff3b5",
"title": "Why I Built zot (zero-overhead-tool), and Why It's Written in Go",
"url": "https://www.patriceckhart.com/blog/posts/2026-04-23/why-i-built-zot",
"published_at": "2026-04-23T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-5628369fdfc5",
"title": "Announcing eventsourcing.dev: A Practical Guide to Event Sourcing",
"url": "https://www.patriceckhart.com/blog/posts/2025-11-07/announcing-eventsourcing-dev",
"published_at": "2025-11-07T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-5628378dc2b5",
"title": "CQRSKit: A TypeScript Framework for CQRS and Event Sourcing",
"url": "https://www.patriceckhart.com/blog/posts/2025-10-28/cqrskit",
"published_at": "2025-10-28T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-56283881d573",
"title": "Reflections on Fine-Grained Access Control in GenesisDB",
"url": "https://www.patriceckhart.com/blog/posts/2025-10-19/genesis-db-fine-grained-access-control",
"published_at": "2025-10-19T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-562839559703",
"title": "I Built an Event-Sourcing Database Engine: Meet GenesisDB",
"url": "https://www.patriceckhart.com/blog/posts/2025-06-24/meet-genesisdb",
"published_at": "2025-06-24T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-56283988a12e",
"title": "GDPR and Event Sourcing: Thoughts on a Hard Problem",
"url": "https://www.patriceckhart.com/blog/posts/2024-12-10/gdpr-and-event-sourcing",
"published_at": "2024-12-10T00:00:00+00:00"
},
{
"id": "01a087bd-5b85-7376-83ea-56283a3acf24",
"title": "Thoughts on Building My Own Event Store",
"url": "https://www.patriceckhart.com/blog/posts/2024-08-12/thoughts-on-building-my-own-event-store",
"published_at": "2024-08-12T00:00:00+00:00"
}
] posts Claim your blog