Jul 28, 2026 / AI Engineering A single M5 Max is a genuinely good inference box for a steady stream of requests, and if your load were flat you would never need anything else. Real load is not flat. It has a baseline you can size hardware against and spikes you cannot, and the spike is where a local only setup fails: the queue depth climbs, time to first token blows past your latency budget, and users wait behind a machine that is already at full decode. The fix is not a bigger Mac, because you would be buying capacity for a peak that shows up a few hours a week and sitting idle the rest of the time. The fix is a hybrid: keep the baseline on local hardware where each token is nearly free and no data leaves your network, and burst only the overflow to a cloud API that you pay for by the token and only when you actually need it. The design problem is the router. A router that spills too early throws away the cost advantage you built the local tier for, and one that spills too late lets the queue hurt users before it reacts. This post covers how to set the spill threshold against queue depth rather than raw request rate, how to keep the cloud path from leaking data you meant to keep in house, what the blended cost actually looks like, and when a hybrid is worth its extra failure modes versus when one tier is the honest answer.
Jul 28, 2026 / Headless Commerce
In a packaged storefront, inventory is mostly the platform's problem: it owns the number, it decrements it at checkout, and it hides the fact that the number is a lie for the few seconds it takes to settle. Go headless and add an ERP as the system of record, plus a marketplace or two and a retail POS, and that convenient fiction falls apart, because now four systems each hold their own idea of how many units exist and they update on different clocks. The storefront reads a cached count that is seconds or minutes stale, the ERP commits the truth on its own schedule, the marketplace polls when it feels like it, and somewhere in the gaps two customers buy the last unit. Overselling is not an edge case in this architecture; it is the default outcome of treating a distributed count as if it were a single authoritative one. This post is about the sync design that keeps a headless stack honest: which system owns the number, how updates propagate without hammering the ERP, why a safety buffer is a real strategy rather than an admission of defeat, and how a reservation pattern turns the last unit problem from a race condition into a queue. The right answer depends on your order volume, your channel count, and how much oversell your margins can actually absorb.
Jul 27, 2026 / AI Models
Most coding benchmarks grade whether a model can write code that passes tests, which rewards generation but says little about whether the model actually understands what a program does when it reads one. CRUXEval flips that: it hands the model a short function and either an input and asks for the output, or an output and asks for an input that produces it, so the only way to score is to execute the code in your head and reason about control flow, mutation, and edge behavior. That skill is the one that matters most for agents that read a codebase before they change it, because a model that misreads what a function returns will confidently break the call site that depends on it. We ran Claude Sonnet 5, a mid tier frontier model, against Qwen 3.6, the strongest open weight option you can self host, on both the input prediction and output prediction splits, and measured not just headline pass rates but where each model's reasoning breaks: loops, nested data, integer edge cases, and functions whose behavior depends on state. Because code reasoning is cheaper to buy in a small model than code generation, the gap here decides whether the open weight option is good enough to sit inside an agent loop or whether the frontier model earns its cost.
Jul 27, 2026 / AI Engineering If you run a single large model locally for everything, you are paying the full decode cost of that model on questions a much smaller one could have answered in a fifth of the time. A cascade fixes that: a small fast model takes the first pass, a cheap gate decides whether the answer is good enough, and only the queries that fail the gate get escalated to the big model. On an M5 Max the economics are compelling because the small model and the large model share the same unified memory, so there is no extra hardware and no network hop, just a routing decision. The catch is that a cascade only pays off if the escalation rate is low and the gate is cheap and accurate, because a gate that sends everything upstream anyway just adds latency on top of the big model you were already running. This post walks through how to size the two tiers, how to build a gate that is cheaper than the model it protects, what the measured latency and throughput look like on an M5 Max, and when the pattern is worth the extra moving parts versus when a single model is the honest answer.
Jul 27, 2026 / Headless Commerce
In a packaged commerce platform, the order confirmation, the shipping notification, and the password reset all just happen, sent by the platform on a shared sending domain you never think about. Go headless and every one of those becomes your responsibility: your service has to catch the event, render the email, hand it to a sending provider, and prove it arrived, and if any link in that chain breaks the customer does not learn their order shipped. Transactional email is separate from marketing email in a way that trips teams up, because deliverability, latency, and reliability matter far more than templates and segmentation, and the provider you would pick for a campaign is not necessarily the one you want behind a checkout. This is a comparison of three providers that solve the transactional job from different starting points: Postmark, built narrowly around transactional deliverability and speed; SendGrid, the broad incumbent that does both transactional and marketing at scale; and Resend, the developer first newcomer built around a modern API and code driven templates. They overlap in the middle and diverge at the edges, and the right pick depends on whether your priority is raw deliverability, one vendor for everything, or the cleanest developer experience for a code owned email layer.
Jul 26, 2026 / Headless Commerce
When a brand goes headless, the product imagery and video that used to live inside the commerce platform suddenly need a home of their own, and teams reach for whatever is nearest: the CDN they already use, a folder in cloud storage, the media library in the CMS. That works until the asset count crosses a few thousand SKUs, the brand team wants approval workflows and usage rights tracked, and three channels all need the same hero shot in different crops. At that point you are running a digital asset management problem whether or not you bought a DAM. This is a comparison of three tools that solve it from different starting points: Bynder, a brand-first DAM built around governance and workflow; Cloudinary, a developer-first media platform built around transformation and delivery; and Aprimo, an enterprise DAM built around content operations and rights at scale. They overlap in the middle and diverge sharply at the edges, and the right pick depends on whether your bottleneck is delivery, governance, or the operating model of a large content team feeding a headless storefront.
Jul 26, 2026 / AI Models
Most coding benchmarks hand the model a self-contained problem and grade the answer, which tells you nothing about whether it can finish a line that calls a helper defined three files away. RepoBench is built for exactly that: every task lives inside a real multi-file repository, and completing it correctly means retrieving the right context from elsewhere in the codebase and using it, which is the thing that actually breaks in day-to-day autocomplete. We ran Gemini 3.5 Pro, with its very large context window, against Grok 4.5, the cheaper and faster challenger, on both the cross-file retrieval split and the completion split, and measured not just exact-match rate but how each model uses the surrounding repository: whether it pulls the right definitions into scope, whether a bigger context window actually converts into better completions, and what each correct completion costs. Because repo-level completion is where a coding assistant either feels native to your codebase or feels like a stranger, the retrieval behavior matters as much as the headline pass rate when you are choosing the model behind an in-editor tool.
Jul 26, 2026 / AI Engineering You bought a Mac with 128GB of unified memory to run a big model locally, and then the model that should fit refuses to stay resident and your tokens per second collapse. The reason is that macOS does not hand the whole pool to the GPU. There is a wired limit, the amount of memory the graphics side is allowed to pin, and by default it sits well below the installed capacity so the CPU, the window server, and the rest of the system keep breathing room. When the weights plus the KV cache push past that ceiling, the runtime spills to slower paths and the decode rate falls off a cliff, which people misread as a bandwidth or quantization problem when it is really an allocation problem. This post measures the default headroom on M4 and M5 machines, shows exactly where common model sizes cross the line, and gives the one sysctl knob that raises the ceiling safely, along with how far you can push it before you starve the OS. If you are speccing or tuning a machine to hold a large model resident, this is the number that actually decides whether it fits.
Jul 25, 2026 / AI Engineering When people shop for a Mac to run models locally, they read the GPU core count and the neural engine numbers. Those are the wrong numbers. Single stream token generation is bound almost entirely by memory bandwidth, because producing each token means reading every active weight out of unified memory, and the arithmetic per byte is tiny. That is why a chip with twice the bandwidth gives you roughly twice the tokens per second on the same model, and why adding GPU cores without adding bandwidth barely moves the decode figure. We measured llama style decode across M5 Pro, M5 Max, and M5 Ultra, put the tokens per second next to the rated bandwidth, and show where the picture flips: batched serving and prefill are compute bound and reward the cores, while everyday single user chat is bandwidth bound and rewards GB/s. If you are speccing a machine or trying to explain why your throughput is what it is, this is the model to reason with.
Jul 25, 2026 / AI Models
Most coding benchmarks reward self contained functions that never touch a real dependency, which is not the code your team actually writes. BigCodeBench is built the other way: every task requires calling real libraries with the right arguments, chaining several of them, and getting the integration correct, which is exactly where models tend to hallucinate an API that does not exist. We ran GPT-5.6 Sol, the new flagship, against Grok 4.5, the cheaper and faster challenger, on both the full split and the harder subset, and measured not just pass rate but how each model fails: whether it invents a function signature, imports the wrong module, or calls a real API with the wrong shape. Because a wrong library call fails silently more often than a wrong algorithm, the failure profile matters as much as the headline score when you are deciding which model to put behind a coding tool.
Jul 25, 2026 / Headless Commerce
Client side tracking has been leaking for years, and a headless storefront makes the leak wider: no platform pixel is injected for you, intelligent tracking prevention caps cookie lifetimes, ad blockers drop the third party scripts, and a strict consent banner blocks the rest before they fire. What reaches your analytics and your ad platforms is a partial, biased sample, and you optimize spend against it without knowing how much you are missing. A server side tracking layer moves the collection point from the browser to your own infrastructure, so events are captured first party, enriched, deduplicated against the browser signal, and forwarded to each destination through a server API rather than a fragile pixel. This is a comparison of the three ways teams build that layer, GTM server container, Segment, and Stape, with the integration trade offs that decide which fits a headless build.
Jul 24, 2026 / AI Models
Most coding benchmarks reward a green unit test. SWE-Lancer rewards money: every task is a real freelance software job with a real payout attached, and a model only earns the payout when its work passes the full acceptance check a paying client would apply. That reframes the question from can the model write code to can the model finish a job someone would actually pay for. We ran Claude Fable 5 and GPT-5.6 Sol across the SWE-Lancer task set, measured how much each one earned, how often it resolved a task end to end, and what a solved task cost in API spend, because the model that tops a pass rate leaderboard is not always the one that clears the most billable work.