{
  "posts": [
    {
      "slug": "2026/01/agent-contract-core",
      "file": "/data/automated-blog/2026/01/agent-contract-core.json",
      "publishedAt": "2026-01-14T04:36:03+01:00",
      "title": "The Contract Behind Every AI Agent",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-1ea3a720-0732-40ca-999e-6a04b623e384.png",
      "socialMediaPost": "Every AI agent hides an implicit contract. If you’re building with agents, understanding that contract is what keeps your systems predictable and sane.",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/01/agent-contract-core",
      "hashtags": "#AI #agents #softwaredesign #architecture"
    },
    {
      "slug": "2026/01/agent-translation-layer",
      "file": "/data/automated-blog/2026/01/agent-translation-layer.json",
      "publishedAt": "2026-01-24T16:41:03+01:00",
      "title": "The Translation Layer That Makes Agents Feel Smart",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-46857853-998c-4e76-a814-9562259743a0.png",
      "socialMediaPost": "Most agent setups focus on bigger models, not better communication. This post dives into the translation layer that makes agents actually feel smart 🤖",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/agent-translation-layer",
      "hashtags": "#AI #agents #softwaredesign #architecture"
    },
    {
      "slug": "2026/01/async-clients-hanging",
      "file": "/data/automated-blog/2026/01/async-clients-hanging.json",
      "publishedAt": "2026-01-27T17:05:16+01:00",
      "title": "When Async Clients Refuse To Hang",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-6725a69e-d885-44cc-8ca9-4c52ef30f994.png",
      "socialMediaPost": "When async clients refuse to hang, everything about reliability changes. If you care about async behavior under failure, this one’s worth a read.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/async-clients-hanging",
      "hashtags": "#async #python #networking #reliability"
    },
    {
      "slug": "2026/01/blueprint-lock-fastify",
      "file": "/data/automated-blog/2026/01/blueprint-lock-fastify.json",
      "publishedAt": "2026-01-15T16:36:02+01:00",
      "title": "The Blueprint Lock Behind Fastify",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-d13f77f8-497a-4e37-acc5-158357ae07a1.png",
      "socialMediaPost": "Curious how Fastify keeps a high‑performance HTTP server stable under load? This breakdown of the “blueprint lock” shows the core idea behind its design.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/blueprint-lock-fastify",
      "hashtags": "#Fastify #NodeJS #webframework #softwaredesign"
    },
    {
      "slug": "2026/01/dspy-module-gateway",
      "file": "/data/automated-blog/2026/01/dspy-module-gateway.json",
      "publishedAt": "2026-01-17T04:36:21+01:00",
      "title": "The Gateway Class Behind DSPy Modules",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-11bc8122-bed8-4258-8a16-e16e45b48243.png",
      "socialMediaPost": "Curious how DSPy routes every pipeline step before it touches an LLM? This piece breaks down the gateway class behind DSPy modules and why it matters.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/01/dspy-module-gateway",
      "hashtags": "#DSPy #LLM #Python #softwaredesign"
    },
    {
      "slug": "2026/01/front-controller-stealth",
      "file": "/data/automated-blog/2026/01/front-controller-stealth.json",
      "publishedAt": "2026-01-23T04:43:40+01:00",
      "title": "The Front Controller That Stays Out Of Your Way",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-b00de5cd-9988-4a12-93ec-8599373759e5.png",
      "socialMediaPost": "Most front controllers become god objects. “The Front Controller That Stays Out Of Your Way” explores how to keep one central entry point without cluttering your code.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/01/front-controller-stealth",
      "hashtags": "#softwaredesign #architecture #webdev"
    },
    {
      "slug": "2026/01/graph-orchestration-power",
      "file": "/data/automated-blog/2026/01/graph-orchestration-power.json",
      "publishedAt": "2026-01-20T04:37:04+01:00",
      "title": "When Graph Orchestration Becomes a Power Tool",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-d93e20b7-c201-49cf-b3fc-dae8712f07fb.png",
      "socialMediaPost": "When does graph orchestration stop being glue code and start feeling like a real power tool? This explores that shift and why it matters for your systems.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/01/graph-orchestration-power",
      "hashtags": "#orchestration #graphs #softwaredesign #distributedsystems"
    },
    {
      "slug": "2026/01/hidden-linear-engine",
      "file": "/data/automated-blog/2026/01/hidden-linear-engine.json",
      "publishedAt": "2026-01-18T16:37:59+01:00",
      "title": "The Hidden Engine Behind LinearRegression",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-dce78015-9939-4456-a8cc-a63ae656f886.png",
      "socialMediaPost": "What actually powers LinearRegression under the hood? This piece digs into the hidden engine behind it and why that internal design matters for your models.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/hidden-linear-engine",
      "hashtags": "#LinearRegression #MachineLearning #MLModels #SoftwareDesign"
    },
    {
      "slug": "2026/01/keybindings-language",
      "file": "/data/automated-blog/2026/01/keybindings-language.json",
      "publishedAt": "2026-01-26T04:42:41+01:00",
      "title": "When Keybindings Become a Language",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-c85570e0-6a67-4161-a17d-ffcc5ae97653.png",
      "socialMediaPost": "When keybindings become a language, config stops being random shortcuts and starts acting like a small, programmable system you can actually reason about.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/keybindings-language",
      "hashtags": "#programming #UX #keymaps #softwaredesign"
    },
    {
      "slug": "2026/01/linux-module-world",
      "file": "/data/automated-blog/2026/01/linux-module-world.json",
      "publishedAt": "2026-01-11T16:38:57+01:00",
      "title": "How Linux Shapes Its Module World",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-6887b0a9-3253-49cb-8198-f8da1da8f520.png",
      "socialMediaPost": "Curious how a kernel keeps its module chaos under control? “How Linux Shapes Its Module World” breaks down the ideas behind its module design.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/linux-module-world",
      "hashtags": "#Linux #kernel #modules #systems"
    },
    {
      "slug": "2026/01/metaclass-guardrails",
      "file": "/data/automated-blog/2026/01/metaclass-guardrails.json",
      "publishedAt": "2026-01-21T16:44:42+01:00",
      "title": "The Metaclass That Turns Type Hints Into Guardrails",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-cb8d5aa0-ec2e-4413-8a8a-037496b23d42.png",
      "socialMediaPost": "Turning type hints from passive comments into active guardrails sounds wild. Curious how a single metaclass can reshape your whole data model? 🤔",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/01/metaclass-guardrails",
      "hashtags": "#python #typing #metaprogramming #softwaredesign"
    },
    {
      "slug": "2026/01/mongodb-client-tower",
      "file": "/data/automated-blog/2026/01/mongodb-client-tower.json",
      "publishedAt": "2026-01-12T16:36:54+01:00",
      "title": "The MongoDB Client as Control Tower",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-6340acb7-06cc-4ec7-8282-da2db0f2dea5.png",
      "socialMediaPost": "If you think of the MongoDB client as just a connection handle, you’re missing the point. Treat it like a control tower coordinating everything around it.",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/01/mongodb-client-tower",
      "hashtags": "#MongoDB #database #backend #softwaredesign"
    },
    {
      "slug": "2026/01/stategraphs-distributed-conversations",
      "file": "/data/automated-blog/2026/01/stategraphs-distributed-conversations.json",
      "publishedAt": "2026-01-30T01:44:22+01:00",
      "title": "How StateGraphs Turn Functions Into Distributed Conversations",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-0108ab5b-404b-4110-ac62-cb3582a15f6d.png",
      "socialMediaPost": "How do you go from plain functions to a distributed conversation? This piece on StateGraphs digs into how that transformation actually works.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/01/stategraphs-distributed-conversations",
      "hashtags": "#distributedSystems #softwareDesign #async #concurrency"
    },
    {
      "slug": "2026/01/tiny-tokenizer-llama",
      "file": "/data/automated-blog/2026/01/tiny-tokenizer-llama.json",
      "publishedAt": "2026-01-11T05:59:17+01:00",
      "title": "The Tiny Tokenizer That Shapes Llama",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-2087a30c-2648-4aa7-8916-b2e1f6cd09ae.png",
      "socialMediaPost": "Most people focus on model size, but The Tiny Tokenizer That Shapes Llama shows how a small text step quietly steers everything your LLM does 🔎",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/01/tiny-tokenizer-llama",
      "hashtags": "#LLM #tokenization #Llama #machinelearning"
    },
    {
      "slug": "2026/02/ai-gateway-file",
      "file": "/data/automated-blog/2026/02/ai-gateway-file.json",
      "publishedAt": "2026-02-13T15:43:49+01:00",
      "title": "When One File Becomes Your AI Gateway",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-49d66bad-d3e9-4711-ab78-0c88920837a1.png",
      "socialMediaPost": "When one file becomes your AI gateway, you’re not just organizing code—you’re defining how every request touches your models. How close is your setup to that?",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/02/ai-gateway-file",
      "hashtags": "#AI #softwarearchitecture #backend #developers"
    },
    {
      "slug": "2026/02/conversation-traffic-controller",
      "file": "/data/automated-blog/2026/02/conversation-traffic-controller.json",
      "publishedAt": "2026-02-18T12:30:15+01:00",
      "title": "The Conversation Traffic Controller Pattern",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-0b0ef8cf-b60a-430d-bc7e-63609cdf6a23.png",
      "socialMediaPost": "Most LLM bugs aren’t in the model, they’re in the messy loops around it. The Conversation Traffic Controller Pattern gives you a cleaner way to orchestrate chats.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/02/conversation-traffic-controller",
      "hashtags": "#LLM #AIagents #softwaredesign #architecture"
    },
    {
      "slug": "2026/02/fastapi-production-routers",
      "file": "/data/automated-blog/2026/02/fastapi-production-routers.json",
      "publishedAt": "2026-02-23T09:11:57+01:00",
      "title": "How FastAPI Turns Functions Into Production Routers",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-6fdce3f1-d8bd-4186-b641-eed5875dbcd6.png",
      "socialMediaPost": "How does FastAPI take plain Python functions and run them as real production routers? This unpacking of that transformation is worth a closer look.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/02/fastapi-production-routers",
      "hashtags": "#FastAPI #Python #webdevelopment #backend"
    },
    {
      "slug": "2026/02/node-http2-engine",
      "file": "/data/automated-blog/2026/02/node-http2-engine.json",
      "publishedAt": "2026-02-08T19:03:20+01:00",
      "title": "How Node Speaks HTTP‑2 Without You Noticing",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-fc13809d-926d-4a05-9859-cb9e3e801801.png",
      "socialMediaPost": "Ever wonder how Node handles HTTP‑2 while your code just sees familiar APIs? This piece walks through how Node “speaks” HTTP‑2 without you noticing.",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/02/node-http2-engine",
      "hashtags": "#NodeJS #HTTP2 #JavaScript #WebDev"
    },
    {
      "slug": "2026/02/orchestrator-ai-reply",
      "file": "/data/automated-blog/2026/02/orchestrator-ai-reply.json",
      "publishedAt": "2026-02-03T22:22:22+01:00",
      "title": "The Orchestrator Behind Every AI Reply",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-19d567ae-4177-41b7-babe-dfa272584562.png",
      "socialMediaPost": "Every AI answer hides an orchestrator deciding what to call, when to respond, and how it all fits together. The Orchestrator Behind Every AI Reply digs into that layer.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/02/orchestrator-ai-reply",
      "hashtags": "#AI #developers #LLM #architecture"
    },
    {
      "slug": "2026/02/silent-tomcat-bootstrap",
      "file": "/data/automated-blog/2026/02/silent-tomcat-bootstrap.json",
      "publishedAt": "2026-02-28T05:46:59+01:00",
      "title": "The Silent Script That Boots Tomcat",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-b2ecb967-5ada-4123-a019-2c2a091c528c.png",
      "socialMediaPost": "Ever wonder what really brings your Tomcat JVM to life? “The Silent Script That Boots Tomcat” digs into the unseen startup path running every time.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/02/silent-tomcat-bootstrap",
      "hashtags": "#Tomcat #Java #JVM #webserver"
    },
    {
      "slug": "2026/03/agent-god-object",
      "file": "/data/automated-blog/2026/03/agent-god-object.json",
      "publishedAt": "2026-03-05T02:27:10+01:00",
      "title": "When One Agent Class Knows Too Much",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-bd7ab229-5a7f-4164-a1c9-42150c84f842.png",
      "socialMediaPost": "When one agent class knows too much, you don’t just get convenience—you risk a God object. How do you keep your core agent powerful without turning it into a blob?",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/03/agent-god-object",
      "hashtags": "#softwaredesign #architecture #agents #LLM"
    },
    {
      "slug": "2026/03/database-traffic-cop",
      "file": "/data/automated-blog/2026/03/database-traffic-cop.json",
      "publishedAt": "2026-03-09T23:10:17+01:00",
      "title": "When a Database Becomes a Traffic Cop",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-cc6d2f03-efd4-4019-a681-13c5f806416f.png",
      "socialMediaPost": "When a database becomes a traffic cop, it’s not just about storing rows—it’s about orchestrating chaos at scale. Curious how that control loop really works?",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/03/database-traffic-cop",
      "hashtags": "#databases #architecture #backend #programming"
    },
    {
      "slug": "2026/03/invisible-arguments-tools",
      "file": "/data/automated-blog/2026/03/invisible-arguments-tools.json",
      "publishedAt": "2026-03-29T10:46:44+02:00",
      "title": "The Invisible Arguments Powering LangChain Tools",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-68b3d79b-f715-44d8-bb5d-f9546766e8ac.png",
      "socialMediaPost": "Most LangChain examples focus on visible tool inputs. This dives into the invisible arguments that actually drive LangChain tools at runtime.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/03/invisible-arguments-tools",
      "hashtags": "#LangChain #LLM #developers #AItools"
    },
    {
      "slug": "2026/03/orchestration-becomes-product",
      "file": "/data/automated-blog/2026/03/orchestration-becomes-product.json",
      "publishedAt": "2026-03-14T19:48:33+01:00",
      "title": "When Orchestration Becomes the Product",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-bb6bdadf-9941-4b22-b24f-bb0e9bdd62d7.png",
      "socialMediaPost": "When does coordination logic stop being just glue and start being what users actually feel? “When Orchestration Becomes the Product” digs into that shift.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/03/orchestration-becomes-product",
      "hashtags": "#orchestration #engineering #devtools"
    },
    {
      "slug": "2026/03/trainer-orchestrator",
      "file": "/data/automated-blog/2026/03/trainer-orchestrator.json",
      "publishedAt": "2026-03-19T16:29:07+01:00",
      "title": "When Your Trainer Becomes an Orchestrator",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-0c624ec4-ece5-48e2-bce2-650ed09bb1a0.png",
      "socialMediaPost": "When does a simple ML training loop stop being “just training” and start acting like an orchestrator for your whole system? This post digs into that shift.",
      "readingTime": "20m",
      "url": "https://zalt.me/blog/2026/03/trainer-orchestrator",
      "hashtags": "#machinelearning #training #mlops #engineering"
    },
    {
      "slug": "2026/03/wrapper-stack-environments",
      "file": "/data/automated-blog/2026/03/wrapper-stack-environments.json",
      "publishedAt": "2026-03-24T13:08:27+01:00",
      "title": "The Wrapper Stack That Shapes RL Environments",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-983e16d5-24d8-4ca9-b278-9dedb7b6fb47.png",
      "socialMediaPost": "Most RL tutorials focus on agents, not what they’re actually interacting with. This dives into the wrapper stack that quietly shapes RL environments.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/03/wrapper-stack-environments",
      "hashtags": "#ReinforcementLearning #MachineLearning #AI"
    },
    {
      "slug": "2026/04/daemon-orchestration-scale",
      "file": "/data/automated-blog/2026/04/daemon-orchestration-scale.json",
      "publishedAt": "2026-04-08T04:07:41+02:00",
      "title": "Daemon Orchestration at Container Scale",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-395bcd92-a00c-4126-99f3-42274023c213.png",
      "socialMediaPost": "Most teams focus on container runtimes, not the control plane. Daemon Orchestration at Container Scale digs into how the daemon actually keeps fleets in line.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/04/daemon-orchestration-scale",
      "hashtags": "#containers #orchestration #devops #infrastructure"
    },
    {
      "slug": "2026/04/engine-single-brain",
      "file": "/data/automated-blog/2026/04/engine-single-brain.json",
      "publishedAt": "2026-04-08T21:15:38+02:00",
      "title": "When Your Engine Has A Single Brain",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-263d661b-83eb-46aa-8448-d51c064ea45e.png",
      "socialMediaPost": "When your engine has a single brain, how do you keep it from collapsing under its own weight? This explores what happens when one place runs the whole show.",
      "readingTime": "25m",
      "url": "https://zalt.me/blog/2026/04/engine-single-brain",
      "hashtags": "#software #architecture #engines #orchestration"
    },
    {
      "slug": "2026/04/prometheus-tsdb-sanity",
      "file": "/data/automated-blog/2026/04/prometheus-tsdb-sanity.json",
      "publishedAt": "2026-04-03T07:28:30+02:00",
      "title": "How Prometheus Keeps Its TSDB Sane",
      "type": "automated",
      "featured": false,
      "imageUrl": "https://zalt-me-blog.s3.us-west-1.amazonaws.com/assets/blog-images/zalt-b2776337-0bc6-4c06-88a7-d16456eddd0a.png",
      "socialMediaPost": "Working with time-series data at scale? “How Prometheus Keeps Its TSDB Sane” breaks down how Prometheus keeps its own storage manageable and safe.",
      "readingTime": "30m",
      "url": "https://zalt.me/blog/2026/04/prometheus-tsdb-sanity",
      "hashtags": "#Prometheus #TSDB #timeseries #observability"
    }
  ],
  "totalPosts": 29,
  "generatedAt": "2026-04-10T06:06:17.683Z"
}