41554 blogs · [ { "id": "01a08c55-e0b7-7300-97c7-47f82e0006ec", "title": "Building MCP Profile Hub part 3, when more reasoning makes the agent worse", "url": "https://timbenniks.dev/writing/building-mcp-profile-hub-part-3-when-more-reasoning-makes-the-agent-worse", "published_at": "2026-09-09T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f82ebd46c7", "title": "Skills over MCP explained: how the new extension delivers workflows alongside tools", "url": "https://timbenniks.dev/writing/skills-over-mcp-explained", "published_at": "2026-09-07T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f82ec324be", "title": "Building MCP Profile Hub part 2, one MCP server is the wrong abstraction", "url": "https://timbenniks.dev/writing/building-mcp-profile-hub-part-2-one-mcp-server-is-the-wrong-abstraction", "published_at": "2026-09-04T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f82f926f48", "title": "Building MCP Profile Hub, part 1: Stop making the agent ask", "url": "https://timbenniks.dev/writing/building-mcp-profile-hub-part-1-stop-making-the-agent-ask", "published_at": "2026-08-31T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f830437664", "title": "Claude Desktop MCP lifecycle is broken", "url": "https://timbenniks.dev/writing/claude-desktop-mcp-lifecycle-is-broken", "published_at": "2026-08-24T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f830bd06b4", "title": "Buy the plumbing, vibe the rest", "url": "https://timbenniks.dev/writing/buy-the-plumbing-vibe-the-rest", "published_at": "2026-08-22T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83139f536", "title": "The Doer Economy - we are killing the translator class", "url": "https://timbenniks.dev/writing/the-doer-economy-we-are-killing-the-translator-class", "published_at": "2026-08-17T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83234176c", "title": "Ten AI security problems hiding in plain text", "url": "https://timbenniks.dev/writing/ten-ai-security-problems-hiding-in-plain-text", "published_at": "2026-08-05T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f832ae83fa", "title": "The biggest risk to AI is the enterprise org chart", "url": "https://timbenniks.dev/writing/the-biggest-risk-to-ai-is-the-enterprise-org-chart", "published_at": "2026-07-24T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83388a108", "title": "Your LinkedIn reads like a robot wrote it", "url": "https://timbenniks.dev/writing/your-linkedin-reads-like-a-robot", "published_at": "2026-06-22T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f8345131b4", "title": "We are thinking too small", "url": "https://timbenniks.dev/writing/we-are-thinking-too-small", "published_at": "2026-06-20T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f834e467d5", "title": "Cursor's moat", "url": "https://timbenniks.dev/writing/cursors-moat", "published_at": "2026-06-17T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f835d8c0ac", "title": "Contentstack launched Agent OS, AXP, and the dev tools I have been itching to talk about", "url": "https://timbenniks.dev/writing/contentstack-launched-agent-os-axp-and-the-dev-tools", "published_at": "2026-06-09T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f836d7ef4f", "title": "The agentic spectrum: stop burning tokens on what a script can do", "url": "https://timbenniks.dev/writing/the-agentic-spectrum-stop-burning-tokens-on-what-a-script-can-do", "published_at": "2026-06-04T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f837ba3fa2", "title": "The tool catalog is the product", "url": "https://timbenniks.dev/writing/the-tool-catalog-is-the-product", "published_at": "2026-05-27T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f8383cca53", "title": "AI will not live in one place, but trust has to", "url": "https://timbenniks.dev/writing/ai-will-not-live-in-one-place-but-trust-has-to", "published_at": "2026-05-18T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f8393b304f", "title": "The Mini Shai-Hulud supply chain backlash will create worse software", "url": "https://timbenniks.dev/writing/the-supply-chain-backlash-will-create-worse-software", "published_at": "2026-05-13T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f839b9e1d6", "title": "Development 101 for non-technical vibe coders", "url": "https://timbenniks.dev/writing/development-101-for-non-technical-vibe-coders", "published_at": "2026-05-04T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83a05dcbc", "title": "The case for boring setups", "url": "https://timbenniks.dev/writing/the-case-for-boring-setups", "published_at": "2026-04-20T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83a79ae7f", "title": "The vibe-coded app architecture guide", "url": "https://timbenniks.dev/writing/the-vibe-coded-app-architecture-guide", "published_at": "2026-04-16T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83afe4247", "title": "I will not log into your vibe coded app", "url": "https://timbenniks.dev/writing/i-will-not-log-into-your-vibe-coded-app", "published_at": "2026-04-14T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83ba07c8c", "title": "Most CMS migrations fail before the first record moves", "url": "https://timbenniks.dev/writing/most-cms-migrations-fail-before-the-first-record-moves", "published_at": "2026-03-30T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83c6d131d", "title": "The future of software is bespoke", "url": "https://timbenniks.dev/writing/the-future-of-software-is-bespoke", "published_at": "2026-03-26T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83ce66793", "title": "We moved the difficulty. We didn't make it disappear.", "url": "https://timbenniks.dev/writing/we-moved-the-difficulty", "published_at": "2026-03-17T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83d85d5a8", "title": "Intuition and the real cost of research", "url": "https://timbenniks.dev/writing/the-best-product-decisions-were-never-analytical", "published_at": "2026-03-10T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83dc8c325", "title": "Code is craft now, not labor", "url": "https://timbenniks.dev/writing/code-is-craft-now-not-labor", "published_at": "2026-02-25T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83dde5086", "title": "Codex built a skill with custom CLI for itself. Is MCP even a thing anymore?", "url": "https://timbenniks.dev/writing/openai-codex-built-a-skill-for-itself-is-mcp-even-a-thing-anymore", "published_at": "2026-02-20T14:30:22+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83e2cbcb1", "title": "I'm cosplaying as a Product Manager, and I think I'm onto something", "url": "https://timbenniks.dev/writing/cosplaying-as-a-product-manager-and-i-think-im-onto-something", "published_at": "2026-02-14T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83eb0c82c", "title": "TDD finally makes sense", "url": "https://timbenniks.dev/writing/tdd-finally-makes-sense", "published_at": "2026-02-11T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83f2bbd09", "title": "When Output Is Cheap, Taste Is Everything", "url": "https://timbenniks.dev/writing/when-output-is-cheap-taste-is-everything", "published_at": "2026-02-08T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83f3bb27d", "title": "Plot twist! AI made developers more valuable.", "url": "https://timbenniks.dev/writing/ai-is-not-replacing-developers-it-is-exposing-everyone-else", "published_at": "2026-02-04T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83fa21737", "title": "Do we still need SDKs in the age of AI agents?", "url": "https://timbenniks.dev/writing/do-we-still-need-sdks-in-the-age-of-ai-agents", "published_at": "2026-01-29T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f83fc92703", "title": "DevRel success metrics that actually matter", "url": "https://timbenniks.dev/writing/devrel-success-metrics-that-actually-matter", "published_at": "2026-01-27T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f8402500f4", "title": "Your legacy patterns are technical debt in modern architecture", "url": "https://timbenniks.dev/writing/your-legacy-patterns-are-technical-debt-in-modern-architecture", "published_at": "2026-01-26T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f840cba14d", "title": "The pragmatic guide to coding with AI agents", "url": "https://timbenniks.dev/writing/the-pragmatic-guide-to-coding-with-ai-agents", "published_at": "2026-01-25T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f840fbe944", "title": "Want to be better at vibe coding? Become a better coder", "url": "https://timbenniks.dev/writing/want-to-be-better-at-vibe-coding-become-a-better-coder", "published_at": "2026-01-12T15:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f8417af76e", "title": "MCP fragmentation, context efficiency, and the rise of curated skills", "url": "https://timbenniks.dev/writing/mcp-fragmentation-context-efficiency-and-the-rise-of-curated-skills", "published_at": "2026-01-09T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f841fabb3b", "title": "Cursor, rules, and my vibe engineer workflow", "url": "https://timbenniks.dev/writing/cursor-rules-and-my-vibe-engineer-workflow", "published_at": "2025-12-16T10:00:00+00:00" }, { "id": "01a08c55-e0b7-7300-97c7-47f842f50444", "title": "AI integrations expose platforms without headless DNA", "url": "https://timbenniks.dev/writing/ai-native-composability-needs-real-api-first-dna", "published_at": "2025-12-02T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a380da99", "title": "The Experience Factory why experience is the real flagship", "url": "https://timbenniks.dev/writing/the-experience-factory-01-why-experience-is-the-real-flagship", "published_at": "2025-12-01T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a43e20ac", "title": "The MACH monolith in 2026", "url": "https://timbenniks.dev/writing/the-mach-monolith-in-2026", "published_at": "2025-11-17T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a50d7f49", "title": "The DevRel Operating System", "url": "https://timbenniks.dev/writing/devrel-os", "published_at": "2025-11-08T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a54f16b8", "title": "It's time to think of LLMs as having abilities, not protocols", "url": "https://timbenniks.dev/writing/its-time-to-think-of-llms-as-having-abilities-not-protocols", "published_at": "2025-11-07T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a595692c", "title": "The Age of the \"Super-T\" Product Person", "url": "https://timbenniks.dev/writing/the-age-of-the-super-t-product-person", "published_at": "2025-10-07T10:00:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a5b7d285", "title": "The Future of CMS. It's dying.", "url": "https://timbenniks.dev/writing/the-future-of-cms-from-content-management-to-context-management", "published_at": "2025-10-05T20:37:36+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a679e24e", "title": "AI chat interfaces will replace web apps", "url": "https://timbenniks.dev/writing/ai-chat-interfaces-will-replace-web-apps", "published_at": "2025-10-04T20:37:36+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a75a44a9", "title": "Build context-aware MCPs, not API wrappers", "url": "https://timbenniks.dev/writing/build-context-aware-mcp-not-api-wrappers", "published_at": "2025-10-04T20:37:36+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a762fbac", "title": "The nuanced impact of AI we should not overlook", "url": "https://timbenniks.dev/writing/the-nuanced-impact-of-ai-we-should-not-overlook", "published_at": "2025-02-04T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a777c5c8", "title": "We have collectively forgotten what monoliths are", "url": "https://timbenniks.dev/writing/we-have-collectively-forgotten-what-monoliths-are", "published_at": "2025-01-10T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a77b399c", "title": "Universal CMS the wheel we're reinventing", "url": "https://timbenniks.dev/writing/universal-cms-the-wheel-we-are-reinventing", "published_at": "2024-11-13T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a7d32b52", "title": "SDKs are everywhere. But should you use them?", "url": "https://timbenniks.dev/writing/sdks-use-them-or-not", "published_at": "2024-09-29T12:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a896a6c0", "title": "The different approaches to visual editing in headless CMS", "url": "https://timbenniks.dev/writing/different-approaches-to-visual-editing", "published_at": "2024-07-25T10:32:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494a96f6e95", "title": "How I supercharched my website's speed", "url": "https://timbenniks.dev/writing/how-i-supercharched-my-websites-speed", "published_at": "2024-07-01T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494aa01eb02", "title": "Choosing the right visual editor for your website Platform-First vs. Code-First", "url": "https://timbenniks.dev/writing/choosing-the-right-visual-editor", "published_at": "2024-06-28T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494aab82671", "title": "Your team is the key to success when going headless", "url": "https://timbenniks.dev/writing/team-is-key-when-going-headless", "published_at": "2024-04-29T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494abb38d9b", "title": "CMS Showdown do you need a page builder or a data modeler?", "url": "https://timbenniks.dev/writing/page-builder-cms-vs-data-modeler-cms", "published_at": "2024-03-12T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ac55fbda", "title": "The content Graph is the future", "url": "https://timbenniks.dev/writing/the-content-graph-is-the-future", "published_at": "2023-12-05T10:40:00+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494acce3e47", "title": "What type of content organization do you need?", "url": "https://timbenniks.dev/writing/what-type-of-content-organization-do-you-need", "published_at": "2023-11-12T09:03:33+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ace7b28c", "title": "The real deal about content management buzzwords", "url": "https://timbenniks.dev/writing/the-real-deal-about-content-management-buzzword", "published_at": "2023-09-28T14:43:37+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ad0727db", "title": "The future of headless CMS Content Federation with GraphQL", "url": "https://timbenniks.dev/writing/the-future-of-headless-cms-content-federation-with-graphql", "published_at": "2023-09-28T14:39:16+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ad1c3afa", "title": "New job alert - Hygraph 2023", "url": "https://timbenniks.dev/writing/new-job-alert", "published_at": "2023-08-16T13:42:10+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ad90ef46", "title": "This is headless 2.0", "url": "https://timbenniks.dev/writing/this-is-headless-20", "published_at": "2023-07-11T07:48:19+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494adfd05d8", "title": "The lost promise of headless", "url": "https://timbenniks.dev/writing/the-lost-promise-of-headless", "published_at": "2023-06-26T18:18:19+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494ae714681", "title": "Level up your collaboration game Developer insights for winning with marketing pros", "url": "https://timbenniks.dev/writing/level-up-your-collaboration-game-developer-insights-for-winning-with-marketing-pro", "published_at": "2023-05-03T15:49:29+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494aeb88f03", "title": "How to get your webcam to look decent in a few simple steps", "url": "https://timbenniks.dev/writing/how-to-get-your-webcam-to-look-decent-in-a-few-simple-steps", "published_at": "2023-03-20T13:01:35+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494aeefd849", "title": "Why I didn't run the 2016 marathon", "url": "https://timbenniks.dev/writing/why-i-didnt-run-the-2016-marathon", "published_at": "2023-03-18T22:52:37+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494afef0a10", "title": "The 2015 Paris marathon", "url": "https://timbenniks.dev/writing/the-2015-paris-maratho", "published_at": "2023-03-18T22:45:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b0da07ab", "title": "My Fitness Story", "url": "https://timbenniks.dev/writing/my-fitness-story", "published_at": "2023-03-18T22:39:46+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b1bc0acd", "title": "Make the Web Greener, Luxury Edition", "url": "https://timbenniks.dev/writing/make-the-web-greener-luxury-edition", "published_at": "2023-03-18T22:30:27+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b24f64cd", "title": "How to dynamically stream video", "url": "https://timbenniks.dev/writing/how-to-dynamically-stream-video", "published_at": "2023-03-18T21:56:45+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b2536e24", "title": "Uniform is Nuxt 3 ready", "url": "https://timbenniks.dev/writing/uniform-is-nuxt-3-read", "published_at": "2023-03-18T13:10:06+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b2631e44", "title": "Digital experience platforms the old versus the new", "url": "https://timbenniks.dev/writing/digital-experience-platforms-the-old-versus-the-new", "published_at": "2023-03-18T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b2ed11c7", "title": "Uniform DXCP the what, why, and how", "url": "https://timbenniks.dev/writing/uniform-dxcp-the-what-why-and-how", "published_at": "2023-03-18T13:03:16+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b3e3fe4f", "title": "How to sniff out the Glue Monster", "url": "https://timbenniks.dev/writing/how-to-sniff-out-the-glue-monster", "published_at": "2023-03-18T13:00:21+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b4971c95", "title": "The future of managing projects at agencies", "url": "https://timbenniks.dev/writing/the-future-of-managing-projects-at-agencie", "published_at": "2023-03-18T12:56:10+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b55425eb", "title": "Fast, personalized pages with Vercel Edge Middleware and Uniform", "url": "https://timbenniks.dev/writing/fast-personalized-pages-with-vercel-edge-middleware-and-uniform", "published_at": "2023-03-18T12:49:56+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b5a2bacb", "title": "The move from monolithic to composable architectures", "url": "https://timbenniks.dev/writing/the-move-from-monolithic-to-composable-architectures", "published_at": "2023-03-13T20:42:55+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b6971126", "title": "MACH versus monolithic suites", "url": "https://timbenniks.dev/writing/mach-versus-monolithic-suites", "published_at": "2023-03-13T20:37:36+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b78839e4", "title": "The MACH monolith", "url": "https://timbenniks.dev/writing/the-mach-monolith", "published_at": "2023-03-13T20:20:45+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b7d8fc4f", "title": "The future of jamstack is composable", "url": "https://timbenniks.dev/writing/the-future-of-jamstack-is-composable", "published_at": "2022-02-23T13:04:08+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b8030de1", "title": "Create a performant YouTube embed with a native web component", "url": "https://timbenniks.dev/writing/create-a-performant-youtube-embed-with-a-native-web-component", "published_at": "2021-05-20T13:05:48+00:00" }, { "id": "01a08c55-e0b8-7269-8f36-0494b883396b", "title": "Creating a custom video player in Vue.js", "url": "https://timbenniks.dev/writing/creating-a-custom-video-player-in-vue", "published_at": "2021-05-18T13:05:48+00:00" } ] posts Claim your blog
Back to timbenniks.dev
Blog · corpus.blog/blogs/timbenniks.dev/posts

timbenniks.dev

timbenniks.dev

2026

2025

2024

2023

2022

2021