<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Tech Stackups - Medium]]></title>
        <description><![CDATA[Real world experiences and comparisons of technical products, platforms, and vendors - Medium]]></description>
        <link>https://medium.com/tech-stackups?source=rss----a9b08524fc1a---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Tech Stackups - Medium</title>
            <link>https://medium.com/tech-stackups?source=rss----a9b08524fc1a---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 21:55:23 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/tech-stackups" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Herdr vs T3 Code vs Amp: Software Factory Test]]></title>
            <link>https://medium.com/tech-stackups/herdr-vs-t3-code-vs-amp-software-factory-test-59432684878c?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/59432684878c</guid>
            <category><![CDATA[orchestration]]></category>
            <category><![CDATA[tmux]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[ai-agent]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Tue, 03 Nov 2026 13:12:34 GMT</pubDate>
            <atom:updated>2026-11-03T13:12:34.644Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Herdr vs T3 Code vs Amp cover" src="https://cdn-images-1.medium.com/proxy/1*LZbMjW4V0s0i5rtpA8d_dQ.jpeg" /></figure><p>Herdr, T3 Code and Amp all promise to help you run lots of coding agents at once, but they aren’t the same kind of tool. Herdr and T3 Code are control surfaces for agents you already have: Herdr in your terminal, T3 Code as a desktop, web and mobile app. Amp is a coding agent with its own cloud machines and its own manager agent, Puck. To see how they compare in practice, I built the same minimal software factory with each one: open GitHub issues, let agents turn them into pull requests, and have the merges deploy a website to GitHub Pages.</p><p>All three got there, on free plans, with my Claude subscription doing the work. Each factory shipped five issues to the live site in under eight minutes with no help from me. None of them noticed new issues on its own. About an hour in, GitHub suspended my account, and I explain why below.</p><h3>Herdr vs T3 Code vs Amp: the quick verdict</h3><figure><img alt="Comparison table 1" src="https://cdn-images-1.medium.com/proxy/1*KW3hgfdEFeqAcEr2j5nmnA.png" /></figure><p>The speed differences are small and mostly reflect how long each Claude run took. What separates the tools is how you watch and steer the agents, and what each one locks behind a paid plan.</p><h3>What each tool actually is</h3><p>It’s easy to assume you’d use T3 Code to manage your Amp agents, until you notice Amp has its own manager, Puck. The tools sit in two layers: agents like Claude Code, Codex and Amp hold the model and do the work, and Herdr and T3 Code sit on top of agents you already have so you can run, watch and steer many at once. Amp is the odd one out, because it brings its own control layer too.</p><ul><li><a href="https://herdr.dev"><strong>Herdr</strong></a> is a terminal workspace manager for coding agents, written in Rust. It works like tmux, with panes, prefix keys and sessions that survive disconnects, but it also knows which agent is in each pane and whether it’s working, blocked or done. That’s the difference from plain tmux, which only shows you terminals. Its command-line tool lets one agent create worktrees, start other agents, prompt them and wait for them.</li><li><a href="https://t3.codes"><strong>T3 Code</strong></a>, from Theo Browne and Ping.gg, is a desktop, web and mobile app for the agents already installed on your machine, using your existing subscriptions. It isn’t a harness itself: it gives each Claude Code or Codex thread its own git worktree and shows its status and pull request. It also installs a t3 command for starting and messaging threads from a script. It calls itself &quot;very very early&quot;, and I used version 0.1.5.</li><li><a href="https://ampcode.com"><strong>Amp</strong></a> is a coding agent. Its threads can run on “orbs”, which are Amp’s cloud machines billed by the minute, or on your own computer as a “runner”. Puck, its manager agent, starts and monitors Amp threads from the web, the apps, Slack or any MCP client. Together they do the job of Herdr and T3 Code, but only for Amp.</li></ul><h3>How I tested</h3><p>The goal was the smallest software factory that’s still a factory: issues go in, a live website comes out, and I don’t touch the code.</p><ul><li><strong>The site.</strong> A static site called Cape Trails, about day hikes around Cape Town, in plain HTML, CSS and JavaScript. The starting code had three trail cards, a planted bug (the Kasteelspoort card opened the Pipe Track page) and a typo in the footer.</li><li><strong>The repo.</strong> Each tool’s agent created its own public repository from the same starting folder, turned on GitHub Pages, and confirmed the site was live. A check workflow ran a link checker on every pull request, and every push to main deployed the site.</li><li><strong>The rules.</strong> The same AGENTS.md in each repo: one branch per issue, open a pull request that says Closes #N, wait for the check, squash-merge, rebase if the merge conflicts. It also said to touch no other repository.</li><li><strong>Wave 1.</strong> I opened five issues at once: add a Lion’s Head trail page, add difficulty filter buttons, add dark mode with a toggle, fix the Kasteelspoort link, and “Homepage feels a bit plain. Can we make the homepage look nicer?” Filters, dark mode and the homepage polish all touch the same CSS, so conflicts were likely.</li><li><strong>The dispatcher.</strong> In each tool, one agent got the same prompt: list the open issues, start a separate agent per issue in its own git worktree using this tool, run them in parallel, keep them going until every issue is closed by a merged pull request, then check the live site. The only difference between the three prompts was one line naming the tool’s command.</li><li><strong>Wave 2.</strong> After wave 1, I opened two more issues (an About page and the footer typo) and waited ten minutes without saying anything, to see if anything picked them up. Then I told the dispatcher: “Two new issues have been opened. Handle them the same way.”</li><li><strong>Free plans only.</strong> Herdr and T3 Code are free. Amp was on the free Hobby plan with my Claude subscription linked, running in Amp’s “Claude Code mode” on my Mac as a runner. Every agent in every tool was Claude Opus 5.5 through the same subscription, so the tools are the only thing that changes.</li><li><strong>No approval prompts.</strong> Amp and T3 Code ran agents with full access by default. In Herdr I started Claude Code with --dangerously-skip-permissions to match.</li><li><strong>Timings</strong> come from GitHub: when each issue was opened, when its pull request was opened and merged, and when the Pages deploy containing it finished.</li></ul><p>I ran the tools one after another, on 30 October 2026, so they weren’t competing for the same subscription limits.</p><h3>Amp Code: works free, but Puck doesn’t</h3><p>Amp’s free Hobby plan lets you link a Claude or ChatGPT subscription and run Amp in “Claude Code mode”, with no Amp credits used. I ran amp --no-tui --runner-id ritza-mac in the project folder, and threads started from the Amp CLI or website ran on my Mac.</p><p>My first plan was to have Puck dispatch the work, since that’s what Puck is for, but on the free plan it refused.</p><p>So Amp’s dispatcher was an ordinary Amp thread instead. It created a git worktree per issue, added each one to the runner with amp runner dirs add, and started five threads with amp -m claude-code --executor runner:ritza-mac -x &quot;&lt;prompt&gt;&quot;. Each thread appeared in the Amp web app as it started, which made it easy to follow along.</p><figure><img alt="Comparison table 2" src="https://cdn-images-1.medium.com/proxy/1*LZw7T_4GpPj74nxT3lky-g.png" /></figure><p>Dark mode was last because by the time it was ready, the filter and Lion’s Head changes were already on main, and its pull request conflicted. The agent rebased, resolved the conflict by switching the new filter buttons to the dark mode colours, and added the theme toggle to the new Lion&#39;s Head page as well. The dispatcher then checked that the live files matched main, removed the worktrees and runner folders it had created, and noted that it hadn&#39;t looked at the site in a browser.</p><figure><img alt="The Amp factory&#39;s live site after wave 1, with dark mode, filters, the new Lion&#39;s Head card and a gradient header" src="https://cdn-images-1.medium.com/proxy/1*db-xNATLW5xclUP1Ez9Zyg.png" /></figure><p><strong>Wave 2:</strong> nothing happened in the ten minutes after I opened the two new issues. Once I messaged the dispatcher, both were merged within two minutes and live within four and a half.</p><p>Amp is the only one of the three that can react to new work on its own. Orbs can wake on a schedule, on outside events, and through webhooks a plugin registers, and Amp works Linear issues natively. But the <a href="https://ampcode.com/docs/orbs/automations">webhook docs</a> describe them for Amp-managed orbs, which on Hobby are pay-as-you-go (<a href="https://ampcode.com/pricing">from $0.08 an hour</a>). On a free plan with your own machine, Amp waits for you like the others.</p><h3>Herdr: multiple Claude Code agents in one terminal</h3><p>Herdr runs in your terminal, so I opened it in a Terminal window in the project folder. On first launch, it offered to install “agent integrations”. For Claude Code, that adds four hooks to your global ~/.claude/settings.json, so Claude Code reports its status to Herdr directly instead of Herdr reading it off the screen. I installed it, and removed it afterwards with herdr integration uninstall claude.</p><figure><img alt="Herdr&#39;s first-run integrations screen, listing claude, codex and hermes as available" src="https://cdn-images-1.medium.com/proxy/1*WUoqS9t7WwbxzMTdtX9dBw.png" /></figure><p>The setup agent created the repo and confirmed the live site in 51 seconds. The dispatcher then ran herdr --skill, read the instructions, and used Herdr&#39;s own commands rather than plain git:</p><pre>herdr worktree create --cwd &quot;$PWD&quot; --branch issue-1-lions-head-trail --base origin/main --label issue-1 --no-focus<br>herdr agent start issue1 --kind claude --pane w2:p1 -- --model claude-opus-5-5 --dangerously-skip-permissions<br>herdr agent prompt issue1 &quot;Resolve GitHub issue #1 in hashkader47/factory-herdr. Follow AGENTS.md.&quot;<br>herdr agent wait issue1</pre><p>herdr worktree create makes the git worktree and a Herdr workspace for it in one step, so every agent got its own named workspace in the sidebar, with a live working, blocked or done status. Of the three tools, this was the clearest view of what every agent was doing at any moment.</p><figure><img alt="Herdr with five issue agents working, each in its own workspace" src="https://cdn-images-1.medium.com/proxy/1*6SCSfMKgT8I6t_8RJjEe_Q.png" /></figure><figure><img alt="Comparison table 3" src="https://cdn-images-1.medium.com/proxy/1*V4qfc9HFxfIfLhBBbnfZ0g.png" /></figure><p>The dispatcher started all five agents within 30 seconds of being prompted, then waited on herdr agent wait in the background until they were done. No agent got stuck. One Pages deploy was cancelled because a newer merge replaced it, and the dispatcher spotted that and confirmed the later deploy had shipped the change.</p><p><strong>Wave 2:</strong> again, nothing in ten minutes. After the prompt, both issues were closed in under two minutes, but only one by a pull request. The agent working on “Homepage feels a bit plain” in wave 1 had fixed the footer typo in passing, so the wave 2 agent checked main, found the fix, and closed the issue with a comment pointing at the commit. That&#39;s tidy, but it&#39;s also an agent going beyond &quot;the smallest change that resolves the issue&quot;, which is worth knowing if your factory has stricter rules.</p><p>Herdr left the seven workspaces and worktrees open afterwards and offered to close them.</p><h3>T3 Code: a GUI with a CLI behind it</h3><p>T3 Code picked up my existing Claude Code login straight away. Its web interface on 127.0.0.1:3773 asks for a pairing token, so I used its command-line tool instead, which talks to the running desktop app. Setup took 59 seconds.</p><p>The dispatcher started each worker with one command, which created the worktree and branch for it:</p><pre>~/.t3/bin/t3 thread start . &quot;Resolve GitHub issue #1 in hashkader47/factory-t3. Follow AGENTS.md.&quot; \<br>  --provider claudeAgent --model claude-opus-5-5 --worktree main --branch issue-1-agent</pre><p>Each thread appeared in the T3 Code app with its worktree, status and pull request number.</p><figure><img alt="T3 Code&#39;s sidebar with the Dispatcher working and four issue threads waiting, each with a worktree and PR number" src="https://cdn-images-1.medium.com/proxy/1*Wzd-JxCAq-gg-a_OxATImA.png" /></figure><figure><img alt="Comparison table 4" src="https://cdn-images-1.medium.com/proxy/1*wDOkhrbUQRmyHHHVSYqRJw.png" /></figure><p>T3 Code was the fastest to a pull request every time, and the fastest to finish wave 1, but it also had the most confusing moment. The workers opened their pull requests and then ended their turns. One explained that it couldn’t sit and wait for CI in this environment, so it had asked T3 to wake it when the checks finished. The dispatcher saw four threads marked “completed” with open pull requests, decided they had stalled, and sent each one a message with t3 thread send telling it to merge.</p><p>Most of those messages weren’t needed: two workers had already merged by the time the message arrived, and replied to say so. The other two had conflicts by then and rebased. The dark mode agent, finding the filter buttons had arrived first, opened a second, follow-up pull request to give them dark colours, where Amp’s agent had fixed the same thing inside one pull request.</p><p><strong>Wave 2:</strong> T3 Code started no threads in the ten minutes after the new issues were opened. Then GitHub suspended my account, so I couldn’t finish it.</p><h3>Herdr vs T3 Code vs Amp: results side by side</h3><p>The vague issue, “Homepage feels a bit plain”, got three different answers. Amp and T3 Code both added a gradient header banner. Herdr’s agent coloured the title and added a rule under the header instead. All three gave the cards a coloured edge by difficulty, which none of the issues asked for. These screenshots are each repo’s final main branch, served locally after the suspension took the live sites down.</p><figure><img alt="Comparison table 5" src="https://cdn-images-1.medium.com/proxy/1*a68nKXldMhrUkdL_eGFcOw.png" /></figure><figure><img alt="Comparison table 6" src="https://cdn-images-1.medium.com/proxy/1*c40Mu1mGZv_RbncJJmlQiw.png" /></figure><p>Every agent in every tool used the same model and subscription, and one run per tool isn’t enough to rank them on speed. A dark mode rebase in one run and not another is the kind of thing that decides these times. What is consistent is that all three tools could be driven entirely by an agent, from the command line, on a free plan.</p><h3>How my GitHub account got suspended</h3><p>At 13:31 UTC, about an hour after the first repository was created, GitHub suspended my account and the three Pages sites went offline. GitHub hasn’t given a reason yet and I’ve asked support to reinstate it, but the hour’s activity looks like a bot: three new public repos, 21 issues, 19 agent-merged pull requests and about 40 Actions runs, all from one personal account. Every agent stayed inside its own test repository and stopped cleanly when requests failed.</p><p>If you build a factory like this, use a dedicated GitHub account or organisation, not your main one, and ramp up slowly. A suspension also cuts you off from every organisation you belong to.</p><h3>Can you manage Amp with T3 Code or Herdr?</h3><p><strong>Herdr: yes.</strong> Amp is one of Herdr’s built-in agent kinds (herdr agent start --kind amp), and Herdr ships rules for reading Amp&#39;s working, blocked and idle states.</p><p><strong>T3 Code: sort of.</strong> T3 Code doesn’t support Amp directly, but it can add agents from the <a href="https://agentclientprotocol.com">Agent Client Protocol</a> registry, and Amp is listed there as an “ACP wrapper for Amp”. It’s a community adapter built on Amp’s SDK, not something Amp or T3 publishes, and users in T3 Code’s <a href="https://github.com/pingdotgg/t3code/issues/1055">issue tracker</a> report that it streams whole blocks of output rather than token by token. I didn’t install it, because I couldn’t confirm it would use my Claude subscription rather than Amp credits.</p><figure><img alt="T3 Code&#39;s provider picker with Amp highlighted in the ACP registry list" src="https://cdn-images-1.medium.com/proxy/1*k7f6OJP_6RMLiOV3qEaCcA.png" /></figure><p><strong>Amp’s Puck: only Amp, and only paid.</strong> Puck manages Amp threads, not other agents, and on the free plan it doesn’t run at all.</p><h3>Which one should you use?</h3><ul><li><strong>You live in the terminal and want to see every agent’s state at a glance:</strong> Herdr. It was the clearest view of five agents at once, its command-line interface is the most complete of the three, and it supports Amp out of the box.</li><li><strong>You want a polished app over the agents you already pay for:</strong> T3 Code. Worktrees and pull requests are built into every thread, it works on your phone, and its t3 command means you can script it too. It&#39;s early software, and it showed: agents ending turns while waiting for CI confused its own dispatcher.</li><li><strong>You want agents to keep working after you close the laptop, and you’ll pay for it:</strong> Amp. It’s the only one with cloud machines, schedules, webhooks and a manager agent. On the free plan you get none of those, but a good agent that runs on your own Mac with your own subscription, and a web and phone view of every thread.</li><li><strong>You want issues to become deployed code with nobody watching:</strong> none of them, for free. You’d need Amp’s paid orbs and webhooks, or your own trigger, such as a GitHub Action or a scheduled script that starts the dispatcher.</li></ul><p>For more on the agents themselves, see our <a href="https://techstackups.com/comparisons/coding-agent-harness-comparison-2026/">coding agent harness comparison</a>, <a href="https://techstackups.com/comparisons/claude-code-vs-amp-code-comparison/">Claude Code vs Amp Code</a> and <a href="https://techstackups.com/comparisons/replit-vs-amp/">Replit vs Amp</a>.</p><h3>Frequently asked questions</h3><h4>What about Paseo?</h4><p><a href="https://github.com/getpaseo/paseo">Paseo</a> is closest to T3 Code and Herdr: a local service that runs Claude Code, Codex, OpenCode and others in git worktrees, with desktop, mobile, web and command-line clients, and built-in skills for agents to hand work to each other. I left it out to keep the test small. Its README doesn’t list Amp.</p><h4>Is T3 Code free?</h4><p>Yes. T3 Code is free and open source under the MIT licence, and it uses the subscriptions you already have for Claude Code, Codex and the other agents it supports. You can download it from <a href="https://t3.codes">t3.codes</a> or the GitHub releases page, or install it on a Mac with brew install --cask t3-code.</p><h3>Is Amp Code free?</h3><p>Amp’s Hobby plan is free, and you can link a Claude or ChatGPT subscription so that Amp uses it instead of Amp credits. Running threads on your own machine as a runner is free. Puck, Amp’s own agent modes and Amp-hosted orbs need credits or a paid plan.</p><h3>Is T3 Code any good?</h3><p>For running several agents you already pay for, yes. In this test it was the quickest to get every issue to a pull request, and each thread showed its worktree, status and pull request in one place. It’s also early (version 0.1.5): its workers ended their turns while waiting for CI, which confused the dispatcher watching them, and its web interface needs a pairing token before you can use it in a browser.</p><h3>How do you run multiple Claude Code agents with git worktrees?</h3><p>Give each agent its own git worktree and branch, so they never edit the same checkout. Herdr does this with herdr worktree create, which also opens a workspace for the agent. T3 Code does it with --worktree and --branch on t3 thread start. With Amp, the dispatcher ran git worktree add itself and served each worktree to the runner with amp runner dirs add. In all three, agents that touched the same files still had to rebase when the first one merged.</p><h3>Is Herdr better than tmux for Claude Code?</h3><p>If you run several Claude Code sessions at once, yes. Herdr keeps tmux’s panes, prefix keys and persistent sessions, and adds agent status (working, blocked, done), notifications when an agent needs you, and an API that lets one agent start and prompt others. For a single session, tmux is enough.</p><h3>Can Claude Code run multiple agents in parallel by itself?</h3><p>Claude Code has its own subagents, but they run inside one session. To run several independent Claude Code sessions, each in its own worktree and each opening its own pull request, you need something like Herdr, T3 Code or a script around git worktrees. In this test, a single Claude Code dispatcher used each tool’s command line to start and watch the others.</p><p>Originally published at <a href="https://techstackups.com/comparisons/herdr-vs-t3-code-vs-amp/">https://techstackups.com</a> on November 2, 2026.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=59432684878c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/herdr-vs-t3-code-vs-amp-software-factory-test-59432684878c">Herdr vs T3 Code vs Amp: Software Factory Test</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SigNoz vs Grafana vs Datadog for AI Agents]]></title>
            <link>https://medium.com/tech-stackups/signoz-vs-grafana-vs-datadog-for-ai-agents-e403e1d4445e?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/e403e1d4445e</guid>
            <category><![CDATA[datadog]]></category>
            <category><![CDATA[observability]]></category>
            <category><![CDATA[logging]]></category>
            <category><![CDATA[grafana]]></category>
            <category><![CDATA[monitoring]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Thu, 29 Oct 2026 13:17:23 GMT</pubDate>
            <atom:updated>2026-10-29T13:17:23.805Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="SigNoz vs Grafana vs Datadog for AI Agents cover" src="https://cdn-images-1.medium.com/proxy/1*330NehCZgCRT48gsjOemcQ.jpeg" /></figure><p>If you&#39;re choosing an observability platform and you&#39;ll set it up with an AI coding agent, the agent&#39;s preferences affect what you end up with. We asked Claude Code which tools it recommends for metrics, logs and traces, and the same three names kept coming up: Grafana Cloud, Datadog and SigNoz. SigNoz placed first because agents recommended it over both rivals and it needed the least help from us to get running. Grafana Cloud placed second as the easiest to find, and Datadog came third.</p><p>Using Claude Code, we followed our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">audit method</a> to assess their <a href="https://techstackups.com/articles/what-is-agent-experience-and-why-should-you-care/">agent experience (AX)</a> across four stages.</p><h3>The four stages of an AX audit</h3><p>The audit follows the funnel a developer goes through with their agent:</p><p>Explore the <a href="https://techstackups.com/articles/signoz-vs-grafana-vs-datadog/#the-four-stages-of-an-ax-audit">interactive audit questions</a> for each stage.</p><ul><li><strong>Awareness:</strong> Does the model already know about the product, without tools?</li><li><strong>Discoverability:</strong> Does it find the product when it searches online?</li><li><strong>Reputation:</strong> Does it recommend the product over alternatives, and get the facts right?</li><li><strong>Integration:</strong> Can it build and verify a small working integration?</li></ul><p>Each stage gets a score from 1 to 4: <strong>GOOD (4)</strong> means little friction; <strong>OK (3)</strong> means minor gaps; <strong>POOR (2)</strong> means a partial result with significant gaps; <strong>FAIL (1)</strong> means the product is unknown or the task doesn&#39;t work.</p><blockquote><strong><em>How we tested</em></strong></blockquote><blockquote><em>All testing used Claude Opus 5.5 (</em><em>claude-opus-5-5) in Claude Code 2.1.308, on 28 October 2026. Every session started in a fresh folder with no audit context or user customizations. Each integration used its own fresh Claude Code profile with no MCP servers and only built-in skills and plugins, and we approved every command. Awareness questions ran with no tools, and discoverability and reputation questions with web search and web fetch only. We ran each prompt once, so treat these results as one developer&#39;s experience rather than a benchmark.</em></blockquote><blockquote><em>We chose the three by asking six questions about monitoring a production app and about Datadog&#39;s alternatives, then counting the products the answers named. Datadog and Grafana appeared in all six. Twice the agent&#39;s own shortlist was Grafana Cloud, Datadog and SigNoz, so we took SigNoz over New Relic and OpenObserve, which it listed only as other options when we described the job. The shared questions describe general observability needs (metrics, logs, traces and alerts, with OpenTelemetry and an MCP server for agents).</em></blockquote><h3>What are SigNoz, Grafana Cloud and Datadog?</h3><p>All three collect your application&#39;s metrics, logs and traces, show them on dashboards and alert you when something goes wrong.</p><p><a href="https://signoz.io">SigNoz</a> is an open-source observability platform built on the OpenTelemetry standard, which stores all three kinds of data in one ClickHouse database. You can run it yourself for free with Docker, or pay for SigNoz Cloud from $49 a month with no per-user or per-host fees.</p><p><a href="https://grafana.com/products/cloud/">Grafana Cloud</a> is Grafana Labs&#39; hosted version of its open-source tools: Grafana dashboards plus separate stores for metrics, logs and traces, with a free tier that doesn&#39;t expire. <a href="https://www.datadoghq.com">Datadog</a> is a hosted-only platform that covers monitoring, security and other products, each priced separately (mostly per host or per GB), with a 14-day free trial. Asked for Datadog&#39;s main competitors, our agent also named New Relic, Dynatrace, Splunk and Elastic. For a hands-on setup comparison of the same three on Kubernetes, see our <a href="https://techstackups.com/comparisons/signoz-vs-datadog-vs-grafana/">beginner&#39;s guide to Kubernetes monitoring</a>.</p><h3>Results at a glance</h3><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*VXRC-R3URDDwd-RbNXD1VA.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*4DXQHJrgtEDruLaOXNBr-Q.png" /></figure><p>The averages are not rounded. SigNoz and Grafana Cloud scored the same in two stages, and SigNoz moves ahead on reputation and integration.</p><h3>SigNoz vs Grafana vs Datadog: which should you choose?</h3><p>The agents&#39; answer depended on what you care about most. Asked to pick between all three, the agent chose Grafana Cloud, and suggested SigNoz &quot;if you want the simplest stack and the lowest bill, or you need to self-host for data residency&quot; and Datadog &quot;if budget doesn&#39;t matter much and you want the most polished product with the least work.&quot;</p><p>SigNoz was the agents&#39; choice when OpenTelemetry is your standard and you want predictable costs. It won all four head-to-heads, and with no product named, the agent&#39;s pick was SigNoz &quot;using its official MCP server.&quot; If you describe your problem broadly, expect SigNoz to come up only once you add specific requirements: it first appeared at the third question in two of our three search funnels. Our agent installed it locally with Docker and needed us only to register the first admin and copy one API key.</p><p>For Grafana Cloud, the agent&#39;s condition was &quot;if Kubernetes depth, mature alerting and on-call, and a more established MCP server matter more.&quot; It appeared at the first question of every search funnel and won both head-to-heads with Datadog. Getting a working token took five rounds of help from us, partly because the Cloud Portal and each stack&#39;s own Grafana app both have pages for access policies.</p><p>Datadog came across as the most polished and most complete option, and the most expensive. Each head-to-head against Datadog came back to cost, and so did its risks answer: &quot;The biggest risk with Datadog right now is cost. The product itself is mature and the company is stable.&quot; Our agent&#39;s script ran with the API key Datadog creates at signup, but that key can only send data, and reading data back needs a second key.</p><h3>Awareness: does the model know SigNoz?</h3><p>Awareness tests what a model knows from training data alone, with no web search.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*ClmaMi2Pd-ja_TPjKOjBGg.png" /></figure><p>We first asked for monitoring tools without naming any product. For a production web app&#39;s metrics, logs and traces, the model listed Datadog, Grafana Cloud, Honeycomb, New Relic and Sentry as hosted options, and SigNoz among the self-hosted ones. Its default picks were Grafana Cloud if budget matters, Datadog if cost is secondary, and SigNoz &quot;If you want to self-host one simple system&quot;. When we added an MCP server for coding agents to the requirements, its answer was &quot;My pick: <strong>Grafana Cloud</strong>&quot;, with Datadog as the alternative and no mention of SigNoz.</p><p>Then we named each product with its domain: &quot;What is SigNoz (signoz.io)?&quot;, and the same question for Grafana Cloud (grafana.com) and Datadog (datadoghq.com). The model described all three accurately:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*25t3qozuA9UWNWKjEsNd1w.png" /></figure><p>It also got SigNoz&#39;s background right (&quot;Founded in 2021, backed by Y Combinator&quot;). For Datadog, it cited &quot;800+ integrations&quot;. Datadog&#39;s pricing page now says 1,000+.</p><p>Next we used each company&#39;s tagline from its own site, with no domain. The question for SigNoz was: &quot;What do you know about SigNoz, the &#39;Observability for your team and AI agents&#39;? What does it do, and who is it for? Say clearly if you don&#39;t know.&quot; Grafana Cloud&#39;s and Datadog&#39;s versions swapped in their own name and tagline:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*TkNZnl34nRlDRXjwbpU67A.png" /></figure><p>For SigNoz, it guessed the tagline probably covered &quot;an MCP server so coding agents like Claude Code can query traces, logs and metrics while debugging&quot;, which SigNoz does offer. For Datadog, it linked &quot;AI-powered&quot; to Watchdog and Bits AI.</p><p>Asked how to send a first OpenTelemetry trace from a Node.js app, the model gave step-by-step instructions for all three, which we didn&#39;t run. For SigNoz, it offered SigNoz Cloud or a self-hosted git clone and docker compose up route, which SigNoz has since deprecated in favour of an installer called Foundry.</p><h3>What this means if you&#39;re choosing</h3><p>Without web search, an agent knows all three and describes them correctly. It named Grafana Cloud and Datadog in both of our general questions, and SigNoz only as a self-hosting option.</p><h3>Discoverability: can an agent find SigNoz?</h3><p>Discoverability tests whether an agent with web search finds a product while looking for a tool like it. We repeated the two open awareness questions with web search, then ran three six-question funnels that narrowed a broad problem. The first four questions were the same for all three companies. Each funnel branched at question 5, where we asked for products using that company&#39;s tagline, and we named the company at question 6.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*-Q1Z1Oy3mzGEf0ohtybDoQ.png" /></figure><p>With web search, the open question about monitoring a web app produced a shortlist of all three: &quot;If you want metrics, logs, traces and alerting in one place, I&#39;d shortlist these three&quot;, with Grafana Cloud as &quot;my default pick for most teams&quot;, then Datadog, then SigNoz. With the MCP requirement added, it answered &quot;I&#39;d use <strong>Grafana Cloud</strong>&quot; and called Datadog &quot;the strong second choice&quot;. SigNoz wasn&#39;t in that answer.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*siS5IImiwFlfDl88wadwrw.png" /></figure><p>In funnel A, the agent recommended Grafana Cloud at question 2 and said Datadog was a poor fit for a team that doesn&#39;t want a huge monitoring bill. At question 3 it wrote: &quot;Two products fit all your requirements well: <strong>Grafana Cloud</strong> and <strong>SigNoz Cloud</strong>. I&#39;d pick Grafana Cloud&quot;. In funnel C, about monitoring costs, SigNoz was the pick: &quot;For your size and stack I&#39;d start with <strong>SigNoz Cloud</strong> and test <strong>Grafana Cloud</strong> against it.&quot;</p><p>Funnel B followed a developer who wants a coding agent to query production data, the audience SigNoz&#39;s tagline speaks to. Here it is on the SigNoz branch, with the start of each answer:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*NtjTTFXFhfdCUAIsjjUQ9w.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*wV1pEiqOslRVREUY1OsnQQ.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*QQiwLWg2ltvZwPf8aEIuCQ.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*dakbg0N61GAHWu4jFYLeGQ.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*ISTBNPSOyW6y0RlktDqkZQ.png" /></figure><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*JiHusuMwihl2YZQTLypoEA.png" /></figure><p>At question 3 in funnel B, Grafana Cloud was one of the six products the agent said fit. In its recommendations, though, it ranked Grafana Cloud last, after Honeycomb, Datadog, SigNoz Cloud and Dash0, and only with conditions, because of how its MCP server signs agents in:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*qWB9F6xsMu0l8GcXfeLJqw.png" /></figure><p>Searching for Grafana Cloud&#39;s tagline, &quot;open observability cloud&quot;, found Grafana Cloud in all three funnels. Datadog&#39;s &quot;AI-Powered Observability and Security&quot; found Datadog in one funnel, and in the other two the agent said the &quot;closest match&quot; was Dynatrace. SigNoz&#39;s tagline found nothing in any funnel, and each time the agent confirmed SigNoz uses that headline only after we named it. In one branch it said: &quot;I should have checked SigNoz&#39;s homepage directly, since it was already on the list.&quot;</p><h3>What this means if you&#39;re choosing</h3><p>If you ask an agent to search for a monitoring platform, expect Grafana Cloud and Datadog first. SigNoz appears without being named once you add OpenTelemetry and specific requirements, and it was the agent&#39;s pick when cost was the main concern.</p><h3>Reputation: do agents recommend SigNoz over Grafana Cloud and Datadog?</h3><p>Reputation tests what an agent with web search says about each product once it&#39;s in the conversation. Every question described the same use case: &quot;monitoring our Kubernetes services (metrics, logs, traces, alerts) with OpenTelemetry and an MCP server for agents&quot;.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*Qua6F3-gLYATZPWJhZ8AXw.png" /></figure><p>Asked for the single best tool, with no product named, the agent read SigNoz&#39;s MCP server docs and chose SigNoz:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*lhgRpPmgLbb5b9OaZybWxw.png" /></figure><p>With all three named, it chose Grafana Cloud. It called SigNoz &quot;a strong choice for a small team that is all-in on OTel&quot;, and said of Datadog: &quot;It has the most mature MCP server (generally available since March 2026, remote, no setup)&quot;.</p><h3>Grafana vs Datadog vs SigNoz: head-to-head results</h3><p>Grafana Cloud beat Datadog in both orders, and SigNoz beat both of them in both orders. We asked each pair in both orders because agents can favour the product named first, and a pair counts as a win only if the same product wins both ways.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*Lod306CFpjROiW6BMwCrJQ.png" /></figure><p>Five of the six answers opened by saying neither product was better for everyone. Against Grafana Cloud, the agent preferred SigNoz for one OpenTelemetry data store and simpler pricing, and Grafana Cloud for Kubernetes dashboards and alerting:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*YmSGb6Thq1QQTmoOaRVSWA.png" /></figure><p>Against Datadog, both SigNoz and Grafana Cloud won on cost and on how Datadog handles OpenTelemetry data. The agent said &quot;OTel metrics can also be billed as Datadog custom metrics, which is where many bills grow unexpectedly.&quot; Datadog&#39;s docs don&#39;t say this outright, but they class any metric that doesn&#39;t come from one of Datadog&#39;s own integrations as a custom metric.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*SfSEPhWKKRLL00xJqXNKoA.png" /></figure><p>The last question used each product&#39;s bare name: &quot;What are the main risks or downsides of adopting SigNoz right now?&quot;, and the same for Grafana Cloud and Datadog. None of the names caused confusion.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*OpQGBLy2BaC3KTNOm5NbrQ.png" /></figure><p>For SigNoz, it also noted that ThoughtWorks put it in the &quot;Trial&quot; ring of its Technology Radar in April 2026, which we confirmed.</p><h3>What this means if you&#39;re choosing</h3><p>For an OpenTelemetry setup on Kubernetes with agent access, agents lean towards SigNoz, then Grafana Cloud. The agents recommended Datadog only when budget matters less than polish. Our use case favours tools built around OpenTelemetry, so a team already invested in Datadog&#39;s agent and integrations may hear a different answer.</p><h3>Integration: can an agent build with SigNoz?</h3><p>Integration follows three steps: sign up or install, get a credential for a script, then write and run a script that returns real data. Each company had one continuous session. The agents had shell access, web search and fetch, but no browser tool. We handled browser steps when asked.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*kRKGH_3O_WS_sHkN1EsksA.png" /></figure><p>The first request was: “Sign me up for SigNoz, or install it if that’s how it works, and get it ready to use. Do what you can yourself and tell me where you need me.” Grafana Cloud and Datadog received the same prompts with their names substituted.</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*9Po0qFUxhMZ7e-fG67c6kQ.png" /></figure><p>None of the agents could create a key itself, so all three needed us for that step. We scored SigNoz OK because it needed no vendor account, and our part was a one-minute local registration and one copied key. Grafana Cloud and Datadog needed a browser signup first, and Grafana Cloud then needed five rounds of help with its token.</p><p>None of the three agents used the vendor’s own agent tooling, even though all three offer a Claude Code plugin and an MCP server, and Datadog and Grafana Cloud each have a command-line tool with a browser login (pup and gcx).</p><h3>SigNoz: the agent installed it, then asked for one key</h3><p>SigNoz’s agent chose to self-host. Its first attempt, a git clone of SigNoz&#39;s Docker setup, found the files had moved: &quot;The docker setup is no longer in the main repo&quot;. It read the repo&#39;s deploy notes, then SigNoz&#39;s install docs, downloaded the new Foundry installer, read the script before running it, and started SigNoz in Docker. It was the only agent in this audit to read the vendor&#39;s docs during integration.</p><p>Its test trace failed until a first user existed, and the agent found the reason in the server logs before handing over:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*mK8DrQyCyv86m_ObLwPhrQ.png" /></figure><p>For the key, it read SigNoz’s llms.txt and service-accounts page, then said: &quot;I can&#39;t create the key myself, because only a signed-in admin can do that and I don&#39;t have your login.&quot; We created a service account and key in the local UI, as it described, and copied the key. The agent saved it to .env without printing it, re-sent its test trace and wrote a short Python script. Its output:</p><pre>HTTP 200 — 1 service(s) in the last hour</pre><pre>SERVICE                   CALLS  ERRORS   AVG ms   P99 ms<br>setup-smoke-test              1       0     50.0     50.0</pre><h3>Grafana Cloud: signup, then five rounds for a working token</h3><p>Grafana Cloud’s agent opened the signup page, tried to install Grafana Alloy (Grafana’s collector) with Homebrew, and used Docker when Homebrew failed on our outdated Xcode tools. For the key, it said:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*ALaya9R3-boCD3CN4FyBkA.png" /></figure><p>Getting the token working took five rounds. We created an access policy and token from inside our stack’s Grafana app. The agent needed the stack’s metrics URL and user ID, and its directions pointed to the Prometheus card in the Cloud Portal, which we didn’t find because we were in the stack’s own app. The agent then tried to look the stack up with the token: first an empty list, then a 403. The stack-list address it called isn’t the one Grafana documents. It said: “I can’t tell from here why it’s refused, and I’d only be guessing at the cause.”</p><p>We copied the values from the stack’s Prometheus data source page instead. The URL there was an internal address, and the agent caught it: “the URL you pasted was Grafana’s internal address, which only their own servers can reach. I used the public address for the same server instead”. Its script then queried four metrics from Alloy, which it had already started sending to Grafana Cloud:</p><pre>Targets up  [up]<br>  {&#39;instance&#39;: &#39;76193f0ba51f&#39;, &#39;job&#39;: &#39;integrations/self&#39;} -&gt; 1.00</pre><pre>Alloy version  [alloy_build_info]<br>  {&#39;instance&#39;: &#39;76193f0ba51f&#39;, &#39;job&#39;: &#39;integrations/self&#39;, &#39;version&#39;: &#39;v1.21.2&#39;} -&gt; 1.00</pre><h3>Datadog: signup, the default key, and a write-only script</h3><p>Datadog’s agent checked the machine and handed over the signup: “Creating the account means choosing a password, confirming your email and agreeing to their terms, and I shouldn’t do those for you.” Asked for a key, it said “I can’t get into your browser session, so I can’t fetch the key from Datadog myself”, and asked us to copy one. Datadog had already created an API key when we signed up, so we copied that.</p><p>The agent read the key from the clipboard, tested it against each Datadog region to find ours, and saved it. Its script validated the key, sent a test metric and posted an event, which Datadog returned. Then it explained the limit:</p><figure><img alt="Audit evidence" src="https://cdn-images-1.medium.com/proxy/1*ZtFMEHuc9cxrAf_ykz28VQ.png" /></figure><p>Datadog’s docs confirm that reading data requires an application key as well as an API key.</p><h3>What this means if you’re choosing</h3><ul><li>SigNoz self-hosted needs no vendor account. Expect your agent to install it with Docker, then ask you to register the first user and copy an API key from the local UI.</li><li>With Grafana Cloud, create the access policy in the Cloud Portal at grafana.com, where the agent expects it, and give your agent the stack’s URL and metrics user ID up front.</li><li>With Datadog, copy the API key it creates at signup, and an application key too if your script needs to read data.</li><li>None of the agents reached for the vendors’ plugins, MCP servers or CLIs on their own, so ask for them if you want them used.</li></ul><p>Originally published at <a href="https://techstackups.com/articles/signoz-vs-grafana-vs-datadog/">https://techstackups.com</a> on October 28, 2026.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e403e1d4445e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/signoz-vs-grafana-vs-datadog-for-ai-agents-e403e1d4445e">SigNoz vs Grafana vs Datadog for AI Agents</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Voxtral TTS vs ElevenLabs: Voice Cloning & TTS]]></title>
            <link>https://medium.com/tech-stackups/voxtral-tts-vs-elevenlabs-voice-cloning-tts-a82a3f3af58c?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/a82a3f3af58c</guid>
            <category><![CDATA[eleven-labs]]></category>
            <category><![CDATA[voxtral]]></category>
            <category><![CDATA[text-to-speech]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Tue, 27 Oct 2026 13:26:58 GMT</pubDate>
            <atom:updated>2026-10-27T13:26:57.945Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*OfOUahM5n6rDrbAw.jpg" /></figure><p>If you’re choosing between Voxtral TTS and ElevenLabs, it comes down to whose voice you need. With stock voices, ElevenLabs won every test I ran. It sounded human, followed every emotion tag, and got the name, date and order number right where Voxtral didn’t. Voxtral sounded rushed and flat, like text-to-speech from a couple of years ago. Cloning my own voice went the other way: Voxtral kept my South African accent, even from five seconds of audio, while ElevenLabs gave me a thick British accent.</p><p>Mistral released Voxtral 3 on 20 October 2026, and the TTS model is in public preview. I tested the things Mistral says are new against Eleven v4, using the same scripts I used in my <a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/">Fish Audio</a> and <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">Gemini</a> comparisons, so you can compare ElevenLabs across all three, and every clip is below to listen to.</p><h3>Voxtral TTS vs ElevenLabs: the quick verdict</h3><figure><img alt="Voxtral TTS vs ElevenLabs: the quick verdict" src="https://cdn-images-1.medium.com/proxy/1*NQJn6FfB6N6ct7yzKBHHYA.png" /></figure><h3>How we tested</h3><ul><li><strong>Models.</strong> Voxtral TTS 3 (voxtral-mini-tts-3-0) against Eleven v4 (eleven_v4).</li><li><strong>Through the APIs.</strong> Mistral AI Studio has a text-to-speech page, but its voice picker only offered preset voices, with no way to clone. So I generated everything through the two APIs: a Mistral API account with prepaid credits, and an existing paid ElevenLabs Creator account.</li><li><strong>Stock voices.</strong> ElevenLabs’ Global Artist — Newsreader against Voxtral’s Mary. Both are British female voices. I picked Mary from three Voxtral British voices as the closest match to the Newsreader.</li><li><strong>Same words on both.</strong> Only the tag syntax differs, because each tool writes tags its own way.</li><li><strong>Single take, default settings.</strong> Every clip is the first output from one generation. I allowed one deliberate fix per test, labelled separately.</li><li><strong>One listener.</strong> These are my impressions, apart from a transcription pass I used to check that no clip skipped any text.</li></ul><h3>Voxtral TTS vs ElevenLabs: natural delivery</h3><p><strong>What this tests:</strong> Mistral’s headline claim that Voxtral 3 voices “adjust their emotion, pace, and emphasis based on conversational context” with no instructions. The script is someone getting good news at work, then remembering it isn’t public yet, read as plain text with no tags.</p><blockquote><em>I wasn’t going to tell anyone. We got the Lisbon project! I read the email three times before I believed it. Anyway, don’t tell anyone yet. It’s not official until Friday. Right. Now I just have to work out how to tell the team without grinning like an idiot.</em></blockquote><p><strong>Natural read</strong></p><p>Plain text, no tags. Does the voice infer the excitement, the secrecy and the pause?</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s1-natural-voxtral.mp3">Listen to Voxtral: Natural read (MP3)</a> — voxtral-mini-tts-3-0. Rushed; excitement sounds forced</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s1-natural-elevenlabs.mp3">Listen to ElevenLabs: Natural read (MP3)</a> — eleven_v4. Conversational, shifts emotion on its own</li></ul><p>ElevenLabs sounded more natural and more conversational. At 0:02 it puts secrecy into “I wasn’t going to tell anyone” and then switches to excitement, all inferred from the text.</p><p>Voxtral found the same moments: the excitement, the change at “Anyway” and the pause at “Right.” But it read the whole thing as if it were in a hurry, and the excitement on “Lisbon project” at 0:02 sounds forced. It sounded like someone reading from a sheet of paper. Its clip is 15 seconds against ElevenLabs’ 17, and you can hear the difference. I’d use the ElevenLabs take as it is.</p><h3>Voxtral TTS emotion tags vs ElevenLabs audio tags</h3><p><strong>What this tests:</strong> Voxtral 3’s new inline tags. Mistral documents 34 emotions, pace control, and sounds like [laugh] and [sigh]. Voxtral has no whisper tag, so I swapped the whisper from my <a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/">Fish Audio test</a> for directions both tools support, and kept the same words and voices as before.</p><figure><img alt="Voxtral and ElevenLabs emotion tag syntax" src="https://cdn-images-1.medium.com/proxy/1*E9aMgkAOANmkwswKugj2qg.png" /></figure><p>Voxtral tags last until the next tag of the same kind, so its script needs [pace=moderate] after &quot;Friday&quot; to get back to normal speed. ElevenLabs tags don&#39;t need resetting.</p><p><strong>Directed read</strong></p><p>Excitement, anxiety, a slow line, a sigh and a laugh, in the same places on both</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s2-directed-voxtral.mp3">Listen to Voxtral: Directed read (MP3)</a> — voxtral-mini-tts-3-0. Ignored &#39;anxious&#39;, overdid &#39;slow&#39;</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s2-directed-elevenlabs.mp3">Listen to ElevenLabs: Directed read (MP3)</a> — eleven_v4. Every tag landed; the laugh carries over</li></ul><p>ElevenLabs followed every direction and still inferred emotion where there was no tag, like the first sentence at 0:01. At 0:13 it moves from the sigh into the laugh naturally, and the laugh carries into the next sentence instead of stopping dead before it.</p><p>Voxtral’s emotions sounded read rather than acted. At 0:02 the [excited] sentence sounds the same as the untagged sentence before it. &quot;Anyway, don&#39;t tell anyone yet&quot; has no emotion at all, so [anxious] was ignored. Then at 0:09 it overdoes the slow line so much that I was waiting for it to finish, and against the rushed pace of everything else the change is very obvious. The sigh and the laugh both happen, but they sound like the model was told to do them. The pace reset did work: it went back to normal speed after &quot;Friday&quot;.</p><p>Direction improved both tools compared with their natural reads, but Voxtral still felt rushed. ElevenLabs used the tags to colour the whole paragraph, while Voxtral applied each emotion to its own sentence and moved on. I didn’t hear either tool read a tag aloud.</p><h3>Names, numbers and currency</h3><p><strong>What this tests:</strong> the kind of appointment message a clinic might send. This is where I expected Voxtral to do best, because Mistral says it benchmarked Voxtral 3 on numbers and unusual names, and on local formats like dates and currencies. Neither script had tags.</p><blockquote><em>Hi, it’s Dr. Nkosi’s office. Your appointment is on 3 April 2026 at 14:45. The total is R1,249.50. Your booking reference is A-7419-X. If you need to change it, call 0800 555 0147. For the video appointment, please use the 2.4 GHz network if the other connection drops. Thanks, and we’ll see you on Friday.</em></blockquote><p><strong>Names and numbers</strong></p><p>Name, date, time, rand amount, booking reference, phone number, frequency</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s3-practical-voxtral.mp3">Listen to Voxtral: Names and numbers (MP3)</a> — voxtral-mini-tts-3-0. Better amount and phone number, dropped a dash</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s3-practical-elevenlabs.mp3">Listen to ElevenLabs: Names and numbers (MP3)</a> — eleven_v4. Consistently correct</li></ul><figure><img alt="Names, numbers and currency results" src="https://cdn-images-1.medium.com/proxy/1*acp5Fuf2wXUNtHoboXRZbQ.png" /></figure><p>Both read 14:45 and 2.4 GHz correctly.</p><p>This was Voxtral’s best test, and I didn’t expect it to do this well after the first two. It read the rand amount and the phone number better than ElevenLabs. In my Fish comparison I wished ElevenLabs would say “oh-eight-hundred” for 0800, and Voxtral’s “zero eight hundred” is close to that. It was also less rushed here, at a perfectly reasonable speed.</p><p>But ElevenLabs was more consistently correct, and the error I care about most is Voxtral’s. Leaving out a dash in a booking reference is a problem when someone has to read it back. ElevenLabs’ take needs less editing before I’d use it.</p><h4>Trying Voxtral’s pronunciation fix</h4><p>Voxtral lets you tell it exactly how to say a word with phoneme_hints, which maps a word to IPA phonemes. Studio also has a Pronunciations panel. I gave &quot;Nkosi&#39;s&quot; the sounds ŋ k ɔ s i z and regenerated the same message once.</p><p><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s3-practical-voxtral-fix1.mp3">Listen to Voxtral pronunciation fix (MP3)</a></p><p>It didn’t work: the name changed from “nir-kow-see” to “nin-kaw-see”: the vowel is right now, but there’s an extra sound at the start. And because the fix regenerates the whole message, everything else changed too. The rand amount lost the “and” that I liked, and the booking reference lost both dashes this time. I couldn’t get the name right, and the takes were very inconsistent between generations, so for me it wasn’t worth the effort. You also have to write the hint in IPA, which most people won’t know.</p><h3>Voxtral TTS voice cloning vs ElevenLabs voice cloning</h3><p><strong>What this tests:</strong> whether each tool sounds like me from a short recording, and keeps sounding like me when the mood changes. Mistral says Voxtral can clone a voice “from as little as 2–3 seconds of audio, capturing emotion, speaking style, and accent”. I’m South African, so accent drift is easy for me to hear.</p><p>I used the same recording of my voice as in my Fish and Gemini comparisons, but Voxtral rejected it:</p><blockquote><em>Reference audio duration 33.90s exceeds the maximum allowed duration of 30.0s</em></blockquote><p>Mistral’s docs say a reference can be “a few seconds to a few minutes”, so that limit came as a surprise. I cut the recording at a natural pause to 29.8 seconds and gave that file to both tools, so ElevenLabs had about four seconds less of my voice than in the earlier articles.</p><p>On Voxtral the recording is sent with each request and nothing is saved. On ElevenLabs I made a temporary instant clone with background noise removal off, then deleted it after the tests. Both clones read a passage I never recorded:</p><blockquote><em>I left my keys next to the kettle again. If you’re heading out, could you check whether the back door is locked? I should be home before the rain starts. Oh, and the good news: they finally approved the project! I can stop refreshing my inbox every five minutes. Let’s get dinner somewhere nice tonight.</em></blockquote><p><strong>Instant voice cloning</strong></p><p>Same 29.8 s recording of my voice, same new text</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s4-clone-voxtral.mp3">Listen to Voxtral: Instant voice cloning (MP3)</a> — voxtral-mini-tts-3-0. Keeps my accent and tone</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s4-clone-elevenlabs.mp3">Listen to ElevenLabs: Instant voice cloning (MP3)</a> — eleven_v4. Cleaner audio, British accent over mine</li></ul><p>Voxtral wins clearly, because it kept my accent and tone. At 0:09 the word “finally” sounds very close to how I say it, and “They finally approved the project!” still sounded like me, without the rushed pace of its stock voice.</p><p>The ElevenLabs clone is the cleaner recording, but it doesn’t sound much like me. There’s a thick British accent laid over my own, and the expressive parts sound nothing like me. It’s the same thing I heard in my <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">Gemini comparison</a>. My impression is that ElevenLabs gives up a lot of the original voice to make the clone expressive, and the result sounds more like a stock voice. Voxtral struggles with expression, but it keeps what makes the voice mine.</p><p>If I had to use one of these clones, I’d use Voxtral.</p><h4>Cloning from five seconds</h4><p>To test Mistral’s short-reference claim, I also cloned on Voxtral from just the first 4.9 seconds of the same recording. ElevenLabs needs at least 10 seconds, so this one is Voxtral only.</p><p><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s4-clone-voxtral-5s.mp3">Listen to Voxtral clone from five seconds (MP3)</a></p><p>It was surprisingly good, almost as good as the 29.8-second clone. It sounds a little flatter, but it still sounded more like me than ElevenLabs’ clone from six times as much audio. That’s one voice, mine, but it backs up Mistral’s claim.</p><p>Only clone a voice you own or have permission to use.</p><h3>Voxtral TTS languages: a French test</h3><p>Voxtral 3 supports 35 languages, with stock voices in 22 of them, so I generated a short French version of the Lisbon scene on both. It includes a date, a time and a euro amount written the French way. I don’t speak French well enough to judge accent or pronunciation, so there’s no verdict here, and you can listen and decide for yourself.</p><blockquote><em>Je ne voulais le dire à personne. On a décroché le projet de Lisbonne! J’ai relu l’e-mail trois fois avant d’y croire. La réunion de lancement est le 3 avril à 14 h 45, et le budget est de 1 249,50 €. Bon, n’en parle à personne avant vendredi.</em></blockquote><p>The stock voices are Voxtral’s Marie and ElevenLabs’ Claire, a native French library voice:</p><p><strong>French, stock voices</strong></p><p>Plain text with a date, a time and a euro amount</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s5-french-voxtral.mp3">Listen to Voxtral: French, stock voices (MP3)</a> — voxtral-mini-tts-3-0</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s5-french-elevenlabs.mp3">Listen to ElevenLabs: French, stock voices (MP3)</a> — eleven_v4</li></ul><p>Mistral also says a cloned voice can speak languages other than the one it was recorded in. These are my two clones from the English recording, speaking French:</p><p><strong>French, cloned voice</strong></p><p>Clones made from an English recording, reading the same French text</p><ul><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s5-french-clone-voxtral.mp3">Listen to Voxtral: French, cloned voice (MP3)</a> — voxtral-mini-tts-3-0</li><li><a href="https://techstackups.com/img/comparisons/voxtral-vs-elevenlabs/vx-s5-french-clone-elevenlabs.mp3">Listen to ElevenLabs: French, cloned voice (MP3)</a> — eleven_v4</li></ul><p>The one thing I can judge is likeness: the Voxtral clone sounds like English-speaking me reading French from a piece of paper. I’m not sure that’s a good thing, but for a clone made from an English recording it’s more accurate than the ElevenLabs one.</p><h3>Is Voxtral TTS free? Voxtral vs ElevenLabs pricing</h3><p>Yes, you can create TTS clips with Voxtral Mini TTS 3.0 in Mistral Studio on a free account, with a 4,000-character input limit per generation. Free accounts don’t have API access. The UI doesn’t show a total free token or character allowance, so the 4,000-character limit shouldn’t be read as your total free quota.</p><p>I used an API account with prepaid credits for the comparisons in this article. In Studio, I could generate speech with preset voices but saw no cloning option. API prices below were checked on 26 October 2026, in US dollars; free-plan access was checked on 27 October 2026.</p><figure><img alt="Voxtral vs ElevenLabs pricing, including confirmed free-plan access" src="https://cdn-images-1.medium.com/max/1024/1*YLRIKPlnCsScsDelw6BDDg.png" /></figure><p>On paper, Voxtral is about six times cheaper than Eleven v4, but in practice I don’t think the gap is that big. Most of the ElevenLabs takes in this article were usable as they were, and none of the Voxtral stock-voice takes were, so you’d spend more generations getting a usable Voxtral clip. The cost per usable clip ends up closer than the list prices suggest.</p><p>For scale, these tests used 1,938 characters on my ElevenLabs account, about $0.16 at API rates. The Voxtral requests, including three short samples I used to pick a voice, came to about 2,600 characters, about $0.03 at list price.</p><p>Sources: <a href="https://docs.mistral.ai/inference/pricing">Mistral API pricing</a>, <a href="https://elevenlabs.io/pricing/api">ElevenLabs API pricing</a>, <a href="https://elevenlabs.io/pricing">ElevenLabs plans</a>.</p><h4>A note for developers using Voxtral’s MP3 output</h4><p>Voxtral returns MP3s without the header that tells a player how long the file is. My player showed the first clip as 16 seconds long, stopped at 14, and wouldn’t replay it. I fixed every Voxtral clip in this article by rewriting the header with ffmpeg -i in.mp3 -c:a copy -write_xing 1 out.mp3, which leaves the audio untouched. If you serve Voxtral MP3s directly to users, request WAV or fix the header first.</p><h3>Is Voxtral TTS open source?</h3><p>Voxtral TTS 3, the model I tested, isn’t: Mistral hasn’t published its weights, and self-hosting it means contacting Mistral’s sales team. The older Voxtral TTS from March 2026 has <a href="https://huggingface.co/mistralai/Voxtral-4B-TTS-2603">open weights on Hugging Face</a>, but under a non-commercial licence (CC BY-NC 4.0), so you can run it locally for personal projects but not in a paid product. That March model is the Voxtral I included in my <a href="https://techstackups.com/comparisons/best-tts-2026-blind-benchmark/">16-provider blind TTS benchmark</a>.</p><h3>Is Voxtral a good ElevenLabs alternative?</h3><p>For cloning your own voice, yes. For ordinary text to speech, not yet: ElevenLabs is significantly more refined and ready for commercial use, and Voxtral still feels slightly like a pet project. If you want something that works out of the box, use ElevenLabs.</p><ul><li><strong>Voiceovers and anything with emotion:</strong> ElevenLabs. It sounded human, and it followed direction. Voxtral sounded flat and rushed in every stock-voice test.</li><li><strong>Prices, references and phone numbers:</strong> ElevenLabs. Voxtral read some numbers more naturally, but it dropped a dash in a booking reference and got the date order wrong.</li><li><strong>Cloning your own voice:</strong> Voxtral. It kept my accent where ElevenLabs didn’t, even from five seconds of audio.</li><li><strong>Cost at scale:</strong> Voxtral’s list price is far lower, but check how many takes you need before assuming it’s cheaper.</li></ul><p>This covers two models, one listener and a handful of short tests. For a wider view, see my <a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/">Fish Audio vs ElevenLabs</a> and <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">Gemini vs ElevenLabs</a> comparisons, and for live conversation, <a href="https://techstackups.com/comparisons/best-voice-agent-2026/">the best realtime voice agent in 2026</a>. I didn’t test Voxtral’s voice agent SDK, its professional voice cloning, or long-form narration.</p><h3>Frequently asked questions</h3><h4>Is ElevenLabs good for voice cloning?</h4><p>ElevenLabs makes clean, expressive clones, but they haven’t sounded like me. In this article, my <a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/">Fish Audio comparison</a> and my <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">Gemini comparison</a>, its instant clone of my South African voice came out with a British accent. Its professional voice cloning, which needs more audio, may do better, but I haven’t tested it.</p><h4>Does Voxtral TTS support voice cloning?</h4><p>Yes. Voxtral TTS 3 clones a voice from a short recording sent with each request, up to 30 seconds long, in MP3 or WAV. It worked through the API, on an account with prepaid credits, but the Studio website showed no cloning option. Mistral also offers professional voice cloning from 30 minutes to 3 hours of audio, which I didn’t test.</p><h4>Is Voxtral better than ElevenLabs?</h4><p>Only for cloning your own voice, where Voxtral’s clone sounded more like me. For ordinary text to speech with stock voices, ElevenLabs was better at emotion, direction and getting names and references right.</p><p>Originally published at <a href="https://techstackups.com/comparisons/voxtral-tts-vs-elevenlabs/">https://techstackups.com</a> on October 26, 2026.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a82a3f3af58c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/voxtral-tts-vs-elevenlabs-voice-cloning-tts-a82a3f3af58c">Voxtral TTS vs ElevenLabs: Voice Cloning &amp; TTS</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Firecrawl vs Tavily vs Exa vs DeepSeek: Best Search API for AI Agents (2026)]]></title>
            <link>https://medium.com/tech-stackups/firecrawl-vs-tavily-vs-exa-vs-deepseek-best-search-api-for-ai-agents-2026-b320846a6c0f?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/b320846a6c0f</guid>
            <category><![CDATA[firecrawl]]></category>
            <category><![CDATA[deepseek]]></category>
            <category><![CDATA[exa]]></category>
            <category><![CDATA[search]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Tue, 27 Oct 2026 09:10:28 GMT</pubDate>
            <atom:updated>2026-10-27T09:27:29.340Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*fBeCrmfltdB3DLle.jpg" /></figure><p>Python 3.15.1 came out on 21 October 2026. Two days later, I asked four search APIs built for AI agents for the latest stable Python release, and only one of them knew. Exa returned the 3.15.1 release page. Firecrawl, Tavily and DeepSeek returned pages that still named 3.15.0 or 3.14, and an agent reading those results would have given the wrong answer without knowing it.</p><p>Because an agent trusts whatever its search tool hands back, I ran 40 searches, 40 page fetches and two site crawls through all four tools. DeepSeek’s Search API is the newest of them, launched on 17 October at $0.75 per 1,000 calls, about a ninth of Exa’s price.</p><p>Exa returned the best search results for 31 of the 40 queries, so it’s the one to search with. For reading pages, use Firecrawl, which got usable content from 37 of 40 pages, including every PDF, and was the only tool that crawled a docs site reliably. DeepSeek was the cheapest and fastest at search, but it couldn’t fetch a single PDF. Tavily returned the leanest results, but it didn’t win any category outright. Everything ran on free plans, apart from five cents of DeepSeek credit.</p><h3>What these tools actually do</h3><p>All four give an AI agent access to the live web, through three kinds of call:</p><ul><li><strong>Search:</strong> send a query and get back ranked results with page text, ready to drop into a model’s context. This is what Exa, Tavily and DeepSeek lead with.</li><li><strong>Fetch (or scrape):</strong> send a URL and get back the page as clean markdown, without the navigation, ads and scripts. This is Firecrawl’s core product, and the other three offer it too.</li><li><strong>Crawl:</strong> send a site and get back many pages. Only Firecrawl and Tavily do this.</li></ul><p>A SERP API such as SerpApi is a different product: it scrapes Google and returns Google’s results as JSON. The four tools here run their own search index or a mix of sources, and return page content for a model to read. Our <a href="https://techstackups.com/comparisons/best-serp-api-comparison-serpapi-exa-tavily/">best SERP API comparison</a> covers that category.</p><h3>Firecrawl vs Tavily vs Exa vs DeepSeek: the quick verdict</h3><figure><img alt="Firecrawl vs Tavily vs Exa vs DeepSeek: the quick verdict" src="https://cdn-images-1.medium.com/proxy/1*9bhrwFTCutIMdKYoQ7vtAw.png" /></figure><h3>How we tested</h3><p><strong>Plans.</strong> Firecrawl, Exa and Tavily on new free accounts, with no card. DeepSeek has no free tier for its API, so I topped up the $2 minimum, of which the tests used $0.05.</p><p><strong>Search.</strong> 40 queries, 8 for each of five jobs, each run once, asking for 5 results. Firecrawl returned page content (scrapeOptions) for 32 of the 40 queries. Its free credits ran out before the 8 news queries, so those got titles and descriptions only. Exa used type: auto with page text, Tavily ran at both basic and advanced depth, and DeepSeek used need_content: true.</p><p><strong>Grading.</strong> Each query’s five result sets were shuffled under anonymous labels and graded blind by an LLM, using a written rubric for each job. Every tool’s results were cut to the same 1,200-character excerpt: the opening plus the passages that best match the query’s words. Current-facts answers were checked against official sources on the day, such as python.org, the Federal Reserve and the South African Reserve Bank.</p><p><strong>Fetch.</strong> 40 URLs, in four groups of 10: static pages, JavaScript-heavy pages, PDFs and bot-protected sites. For each page I loaded it in Chrome, captured three to five exact sentences from the main content, and checked whether each tool’s markdown contained them.</p><p><strong>Crawl.</strong> docs.astral.sh/uv and docusaurus.io/docs, limited to 25 pages.</p><p><strong>Single runs.</strong> Latency comes from one run per call, on 23 October 2026, so treat it as indicative.</p><h3>Search results by job</h3><h4>Current facts: Exa found the answer nobody else did</h4><p><strong>What this tests:</strong> whether an agent could answer a factual question correctly from the results alone, when the answer changed recently.</p><p>Exa scored 8.4 out of 10 and had the right answer in all 8 result sets. For the Python question in the introduction, all five of its results were python.org pages, including the 3.15.1 release page.</p><figure><img alt="Current facts: Exa found the answer nobody else did" src="https://cdn-images-1.medium.com/max/1024/1*JbjZzp6JPA6qHB8GzcTA7w.png" /></figure><p>For the other tools, the usual problem was stale pages mixed in with current ones. On the South African repo rate, every tool found the current 7.25%, but Tavily basic returned four pages still quoting the old 7%, which would mislead an agent that goes with what most of its sources say.</p><h4>Breaking news: Exa first, DeepSeek a close second</h4><p><strong>What this tests:</strong> whether each tool surfaces coverage of an event from the last 48 hours, rather than older related stories.</p><p>I wrote the 8 news queries on the morning of the test from that week’s headlines, such as US jobless claims falling to 194,000 and Nvidia launching its DSX POD.</p><figure><img alt="Breaking news: Exa first, DeepSeek a close second" src="https://cdn-images-1.medium.com/max/1024/1*07yXrpxqv4kjn4JKWQoPhA.png" /></figure><p>* Titles and descriptions only, because the free credits ran out.</p><p>For the jobless claims query, Exa returned AP, Reuters, CNBC and the Department of Labor’s own release, all with the 194,000 figure. DeepSeek also had the figure in every result, though two of its five were Bulgarian and Korean news sites. Tavily basic missed one query entirely, returning pages about AI in India for the Nvidia launch.</p><h4>Docs lookups for coding agents: Exa, then Tavily</h4><p><strong>What this tests:</strong> whether a coding agent gets the official documentation page, with enough content to write correct code.</p><figure><img alt="Docs lookups for coding agents: Exa, then Tavily" src="https://cdn-images-1.medium.com/max/1024/1*80v9KBo5DHRWTHEqxg98Ow.png" /></figure><p>Firecrawl’s ranking was as good as Exa’s: the official page came first for 7 of 8 queries. Its score suffers because it returns whole pages, and on pages like Stripe’s webhook docs the start of the markdown was bot-check and navigation text. Tavily ranked official pages lower, but its short excerpts were cut around the part of each page that matched the query. One query asked about uuidv7, a PostgreSQL function that generates time-ordered IDs. Both Tavily modes returned the line from the official docs that shows how to call it, uuidv7([shift interval]), which is what a coding agent needs to use the function correctly. Exa ranked the same page first, but its excerpt left that line out.</p><p>DeepSeek was weakest on docs. For “verify Stripe webhook signature in Node.js”, it returned only third-party npm packages and no Stripe docs, and for the uuidv7 query it returned mailing-list threads instead of the documentation page.</p><h4>Research and “find similar”: Exa won all 8</h4><p><strong>What this tests:</strong> open-ended discovery, where a good answer is a list of actual companies, papers or essays rather than articles about them.</p><p>Research showed the widest gap in the test: Exa won all 8 queries and returned 33 distinct matching entities. DeepSeek was next with 23, and Firecrawl and both Tavily modes were between 11 and 14.</p><p>For “open-source alternatives to Firecrawl for web scraping”, Exa returned five GitHub repositories. Both Tavily modes and Firecrawl returned vendor listicles titled “Firecrawl alternatives”. For “climate tech startups in Africa that raised funding in 2026”, Exa named five startups with 2026 rounds. DeepSeek returned four copies of the same press release about a fund.</p><h4>Regional and non-English queries: Exa, with DeepSeek on Chinese</h4><p><strong>What this tests:</strong> South African local queries in English, plus queries in Chinese, German, Spanish and Japanese.</p><figure><img alt="Regional and non-English queries: Exa, with DeepSeek on Chinese" src="https://cdn-images-1.medium.com/max/1024/1*q4bTtZ5W3Hv-1JmUQ1DIcg.png" /></figure><p>DeepSeek won the Spanish query outright, and tied with Exa on the Chinese query about the latest AI regulation, with current official Chinese sources. Most other tools leaned on 2023 law-firm summaries. On the German query about a Deutsche Bahn strike, DeepSeek did worst, returning Swiss and Austrian pages that recycled 2024 strike stories. Exa was the only tool to make it clear that there was no current Deutsche Bahn strike.</p><p>Every tool found local sources for the South African queries, and Exa and DeepSeek tied on Eskom’s 2026 tariff increase.</p><h4>Search speed and size</h4><figure><img alt="Search speed and size" src="https://cdn-images-1.medium.com/max/1024/1*tZJ6a0smhbOA8OGX93gUng.png" /></figure><p>Payload size matters because an agent pays to read every token. Firecrawl’s search returns the full page for each result. Those pages contained the right answer for all 8 current-facts queries, but at around five times Exa’s volume, and one search that hit a PDF returned 2.4 million characters.</p><h3>Fetching pages: Firecrawl returned the most complete markdown</h3><p><strong>What this tests:</strong> give each tool a URL and check whether the returned markdown contains three to five exact sentences captured from the page in Chrome.</p><figure><img alt="Fetching pages: Firecrawl returned the most complete markdown" src="https://cdn-images-1.medium.com/max/1024/1*YNR3jx1iUO_MzI4vNvUYpg.png" /></figure><p>Firecrawl got content from Zillow, G2, Glassdoor and Takealot, which Tavily failed outright. It refused two sites by policy: Instagram returned “we do not support this site”, and a LinkedIn company page needs a separate enrichment setting turned on. The South African government site returned a server error to Firecrawl twice, while it loaded normally in a browser.</p><p>Exa was the fastest by a wide margin, probably because it can serve pages from its own index rather than loading them live. Its index also caught it out once: for the 100-page GPT-4 technical report, it returned a citation record with the author list and references instead of the paper.</p><p>DeepSeek returned a 404 for every PDF, which its docs list as the response for unsupported content types. On static pages it found 96% of the key facts, but its median fetch took 7.4 seconds.</p><h3>Crawling a docs site: Firecrawl vs Tavily</h3><p><strong>What this tests:</strong> crawl a documentation site and return 25 pages. Exa and DeepSeek don’t offer crawling.</p><figure><img alt="Crawling a docs site: Firecrawl vs Tavily" src="https://cdn-images-1.medium.com/proxy/1*m4iBAfAVyKXXFIqIrqYhZQ.png" /></figure><p>Tavily’s crawl followed links off the site by default, into GitHub and the documentation theme’s own site. Its allow_external: false option, which should keep it on the site, returned at most one page in every run. Tavily&#39;s map endpoint found the right 20 to 25 URLs on both sites, so it can discover the pages, and the failure is in the crawl step.</p><p>Each Firecrawl crawl cost 25 credits, and I only ran it once per site because the free credits had run out. Tavily’s empty runs weren’t billed.</p><h3>Firecrawl, Tavily, Exa and DeepSeek pricing: is Firecrawl free?</h3><p>All four are free to start except DeepSeek. Prices below were checked on 23 October 2026, in US dollars.</p><figure><img alt="Firecrawl, Tavily, Exa and DeepSeek pricing: is Firecrawl free?" src="https://cdn-images-1.medium.com/proxy/1*jXo1EKzgd4XHDyUqUx7tJQ.png" /></figure><h4>Firecrawl charges per PDF page</h4><p>The free plan’s 1,000 credits went much faster than I expected. The 194-page RFC 9110 PDF cost 194 credits on its own, and the GPT-4 technical report cost 100. The 10 PDFs used 564 credits, more than half the month’s allowance. Firecrawl’s billing docs do list this, as an extra credit per PDF page, but it’s easy to miss when the headline is “1 credit per page”. By the end of the test, Firecrawl had used 992 of its 1,000 free credits.</p><p>The others used much less:</p><ul><li><strong>Tavily:</strong> 194 of its 1,000 credits.</li><li><strong>Exa:</strong> $0.32 of $20.</li><li><strong>DeepSeek:</strong> $0.05 of my $2 top-up.</li></ul><h4>What 1,000 searches costs</h4><figure><img alt="What 1,000 searches costs" src="https://cdn-images-1.medium.com/max/1024/1*0Azpx-F4Viaw1_PjhyLBvg.png" /></figure><h3>DeepSeek Search API: what you need to know</h3><p>DeepSeek’s Search and Fetch APIs launched on 17 October 2026. Each is a single POST to api.deepseek.com/v1/tools/search or /v1/tools/fetch with your API key.</p><ul><li><strong>Search results carry more than the others’ do.</strong> Each result has a short snippet, a summary of around 600 to 800 characters, the full page if you ask for it, a publication date, an authority score from 0 to 4 and a rerank_score from 0 to 3.</li><li><strong>Price doesn’t change with result count.</strong> Asking for 50 results costs the same $0.75 per 1,000 as asking for 1. Failed and empty calls aren’t billed.</li><li><strong>Queries are capped at 128 characters.</strong> That’s fine for keyword search, but too short for a long natural-language question.</li><li><strong>It doesn’t de-duplicate URLs.</strong> For “Firecrawl Hobby plan price”, it returned Firecrawl’s pricing page three times, each with a different affiliate code in the URL. Across 40 queries it returned 7 duplicates, the most of the four.</li><li><strong>Your data is stored in China.</strong> DeepSeek’s privacy policy says it stores personal data in the People’s Republic of China, and that it shares search keywords with unnamed third-party search APIs. A <a href="https://www.searchenginejournal.com/deepseek-opens-its-in-house-search-engine-to-developers/593526/">Search Engine Journal report</a> notes that a provider called Bocha names itself as DeepSeek’s web search supplier. Check this with your compliance team before sending customer queries.</li></ul><h4>Using DeepSeek search inside Claude Code</h4><p>DeepSeek’s docs say its search is free until 1 November when called through Claude Code, Codex or DeepSeek’s own harness. That works by pointing Claude Code at DeepSeek’s API, so DeepSeek’s model replaces Claude in that session. I tried it first, and it isn’t the same as using the API:</p><ul><li>Claude Code’s WebSearch tool passed only titles and URLs to the model, without DeepSeek’s summaries, page content or scores.</li><li>WebFetch fetched the page itself rather than calling DeepSeek’s Fetch API. Asked for a Paul Graham essay verbatim, it returned a summary instead, saying quotations were limited to 125 characters.</li><li>The search calls were free, but the model’s tokens weren’t, and a new account has no starting balance. My first attempt failed with 402 Insufficient Balance until I topped up.</li></ul><p>If you want DeepSeek’s results in an agent, call the API directly.</p><h3>Using them with AI agents</h3><p>All four publish an llms.txt file for coding agents to read. Firecrawl, Exa and Tavily each have an official MCP server that covers search and fetch. Firecrawl&#39;s and Tavily&#39;s servers also cover crawling. I couldn&#39;t find an MCP server from DeepSeek. For deeper agent setup testing of two of these tools, see <a href="https://techstackups.com/comparisons/firecrawl-vs-tavily/">Firecrawl vs Tavily</a>.</p><h3>Which should you use?</h3><ul><li><strong>Search for an AI agent:</strong> Exa. It won on current facts, news, research and non-English queries, and its results are compact enough to put straight into context.</li><li><strong>Reading specific URLs, PDFs or protected pages:</strong> Firecrawl. It returned usable content from the most pages and handled every PDF. Budget for PDFs, which cost a credit per page.</li><li><strong>Crawling a whole site:</strong> Firecrawl. Tavily’s crawl wandered off-site or came back empty in our runs.</li><li><strong>Lowest cost at high volume:</strong> DeepSeek, if your queries are public data and data stored in China is acceptable. It was fast and fresh on news, but weaker on docs lookups and it can’t fetch PDFs.</li><li><strong>Smallest, cheapest results to feed a model:</strong> Tavily. Its basic search returned about 5,600 characters and did well on docs lookups, though it didn’t win any category outright in our tests.</li></ul><h3>Frequently asked questions</h3><h4>How much does Firecrawl cost?</h4><p>Firecrawl’s free plan gives you 1,000 credits a month without a card, and Hobby costs $19 a month for 5,000 credits. A search costs 2 credits per 10 results, a page costs 1 credit, and each PDF page costs another credit, so long PDFs use credits fast.</p><h4>Is there a free web search API?</h4><p>Three of the four have free plans with no card: Tavily gives 1,000 credits a month, Firecrawl 1,000 credits a month, and Exa $10 of credit a month. DeepSeek has no free tier for direct API calls.</p><h4>What are the best alternatives to Firecrawl?</h4><p>For search, Exa returned better results in our tests, and DeepSeek is much cheaper. For turning pages into markdown, none of the alternatives we tested matched Firecrawl: Tavily found 74% of the key facts, Exa 69% and DeepSeek 41%, against Firecrawl’s 85%.</p><h4>Is Tavily search better than Exa search?</h4><p>No. Exa produced the best results for 31 of our 40 queries, against 7 for Tavily basic and 5 for Tavily advanced, and it scored higher on every type of query. Tavily came closest on docs lookups, where it averaged 7.5 against Exa’s 7.8.</p><p>Originally published at <a href="https://techstackups.com/comparisons/firecrawl-vs-tavily-vs-exa-vs-deepseek/">https://techstackups.com</a> on October 23, 2026.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b320846a6c0f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/firecrawl-vs-tavily-vs-exa-vs-deepseek-best-search-api-for-ai-agents-2026-b320846a6c0f">Firecrawl vs Tavily vs Exa vs DeepSeek: Best Search API for AI Agents (2026)</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Gemini vs ElevenLabs Voice Cloning and TTS (2026): Gemini 3.8 Flash vs Eleven v4 | Tech Stackups]]></title>
            <link>https://medium.com/tech-stackups/gemini-vs-elevenlabs-voice-cloning-and-tts-2026-gemini-3-8-flash-vs-eleven-v4-tech-stackups-1c81feccf261?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/1c81feccf261</guid>
            <category><![CDATA[eleven-labs]]></category>
            <category><![CDATA[comparison]]></category>
            <category><![CDATA[voice-cloning]]></category>
            <category><![CDATA[text-to-speech]]></category>
            <category><![CDATA[gemini]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Wed, 21 Oct 2026 14:23:14 GMT</pubDate>
            <atom:updated>2026-10-21T14:23:14.261Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iIAn0_VcDgjCB5Qe4opMUg.jpeg" /></figure><p>Google released Gemini 3.8 Flash TTS on 23 September 2026. ElevenLabs released Eleven v4 five days later. I put both through the same five tests, covering emotional tags, hard-to-say text, long-form narration, a two-person argument, and cloning my own voice.</p><p>ElevenLabs won three of the five (hard text, long-form, dialogue). Gemini won two: emotion, and voice cloning, where it kept my South African accent and ElevenLabs gave me a British one. If you came here for the ElevenLabs voice cloning question specifically, that result is the interesting one, and it’s further down.</p><p>Google ships a “Flash TTS” and a “Flash-Lite TTS” under the same 3.8 label, which is confusing. I tested Flash, and Eleven v4 on the ElevenLabs side.</p><h3>Gemini vs ElevenLabs: the quick verdict</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yYbCdMY8GLoVAmuVkJYxrg.png" /></figure><h3>How we tested</h3><p>This is one person listening. I tested in English only, and I ran each scenario once with default settings.</p><ul><li><strong>Same text, same direction.</strong> Both models got identical text. Direction went inline, sentence by sentence ([whispering] for ElevenLabs, &lt;whispering&gt; for Gemini). I left Gemini&#39;s separate Style instructions box untouched so the comparison is like for like. (My first Gemini attempt used one overall style line and came out hushed throughout, so I threw it out as a test-design flaw.)</li><li><strong>Free-tier web UIs</strong> for everything except cloning: ElevenLabs with v4 selected, and Google AI Studio.</li><li><strong>One caveat in ElevenLabs’ favour.</strong> It returns two outputs per prompt and I picked the better one. Gemini returns one.</li><li><strong>Cloning ran through the APIs</strong>, because AI Studio wouldn’t run cloning without billing and instant voice cloning on ElevenLabs needs a paid plan in the UI. I cloned my own voice from the same 29.5 second sample on both. A friend listened to the cloning results too, so that verdict isn’t mine alone. The other four are mine only.</li><li><strong>Voices.</strong> Scenarios 1 to 3 used Gemini’s Cleo (warm and engaging) against ElevenLabs’ Lauren (friendly, comforting and soft). The dialogue test added Mako and Jack John.</li></ul><p>Tested in early October 2026</p><h3>Gemini voice cloning vs ElevenLabs voice cloning</h3><p><strong>What this tests:</strong> can the model sound like a specific person from about 30 seconds of audio, and keep that identity when the line changes from neutral to emotional to narration. I’m South African, which makes accent drift easy to hear.</p><p>Gemini asks for a 10 to 30 second sample plus a spoken consent recording, and the consent has to come from the same voice as the sample. ElevenLabs takes just the sample. Creating the clean clone took 5.54 seconds on Gemini and 3.23 on ElevenLabs.</p><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#gemini-voice-cloning-vs-elevenlabs-voice-cloning">Listen to Gemini and ElevenLabs voice clones on Techstackups: neutral, emotional and narration samples</a></p><p>Gemini wins this one clearly. Its clones kept my accent and tone far better. The ElevenLabs clones kept a slight resemblance to my voice, but it sounded like my voice and tone had been overlaid on someone else’s accent, a heavily British one. That held across all three lines, so it looks like a general problem with ElevenLabs cloning on my sample. Neither model captured expression well from a 30 second sample, though Gemini was less bad, and its emotional line didn’t convey the emotion accurately. The Gemini narration clip had the best voice and accent match of anything I tested, but it sounded damp and fuzzy next to Gemini’s other clips, like a recording of me.</p><h4>What happens with a noisy sample</h4><p>I also recorded the same text in a noisier setting. Gemini rejected it outright at clone creation:</p><blockquote><em>Voice mismatch detected. The speaker in the consent audio does not match the speaker in the voice sample.</em></blockquote><p>My consent clip was recorded in a quiet room, so Gemini was comparing a quiet recording against a noisy one and decided they weren’t the same person. That’s a useful safeguard and an annoying one if your only sample is noisy.</p><p>ElevenLabs accepted the same noisy sample with no consent step. The clone was much worse than its clean one: a very slight resemblance, and bad accent and expression. Here’s the noisy narration, ElevenLabs only, since Gemini produced nothing:</p><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#what-happens-with-a-noisy-sample">Hear the ElevenLabs voice clone made from a noisy recording on Techstackups</a></p><p>Only clone a voice you own or have permission to use. Gemini enforces consent at this step and ElevenLabs doesn’t, which matters if you’re building a product that lets users clone voices.</p><h3>Expressive tags and emotion</h3><p><strong>What this tests:</strong> does the model perform the whisper, the laugh and the sigh, or just read the word, and how smooth is the shift between them. The script runs from a whisper to excitement to a laugh to a voice cracking with emotion.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*5U8xIhh06EI9JUfXN5zCzQ.png" /></figure><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#expressive-tags-and-emotion">Compare Gemini and ElevenLabs on whispers, excitement, laughter and emotion on Techstackups</a></p><p>Gemini sounded significantly more natural. It inferred pauses from context, and the pauses sound like someone talking to a person and waiting for their reaction. My favourite moment is at 0:16. The line is “We’re giving you the Lisbon project,” and Gemini went from a whisper to a slight exclamation with no emotion tag at all, purely because it understood the news was exciting. The worst moment was ElevenLabs at 0:18, where the shift from laugh to whispering is jarring.</p><p>My read on why: ElevenLabs seems to treat the emotion tag as a parameter and then read that sentence with it. Gemini seems to read the current sentence together with the next one, so the emotion spans both. That is my impression from listening. I didn’t hear any tag spoken aloud in this test.</p><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#expressive-tags-and-emotion">Hear Gemini and ElevenLabs perform a two-person argument with an interruption on Techstackups</a></p><p>ElevenLabs won the dialogue test by a distance. On Gemini the interruption feels like a pause, and the emotion lands as a pre-sentence emote. For the [laughs, then quietly] tag, Gemini produced a normal laugh and then kept speaking loudly, ignoring &quot;then quietly&quot;. ElevenLabs produced a laugh that fit the conversation. At 0:12 it also inferred the severity of the emotion from context, which it did well in every scenario. Neither is perfect, and I flagged robotic glitches and some overacting. Generation took 14.55 s on Gemini and 6.26 s on ElevenLabs.</p><h3>Numbers, names and hard text<a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#numbers-names-and-hard-text">​</a></h3><p><strong>What this tests:</strong> the stuff that breaks customer-facing voice. An order number, a date, a currency amount, a phone number, a URL, and a run of hard names. No tags on either side.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9drD2p11WHzM2Iium4wXTw.png" /></figure><p>The rest were fine on both: $1,249.50, R22,800, acme-labs.io/returns, 14:45, “Thursday the 9th,” HTTP 404, 2.4 GHz, Xiaomi, Worcestershire, Leicester and Edinburgh. I’m not giving a score.</p><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#numbers-names-and-hard-text">Compare how Gemini and ElevenLabs read numbers, names and difficult text on Techstackups</a></p><p>ElevenLabs wins, mostly on the dropped dash in the order number and the Irish name. But remember the two-takes caveat: ElevenLabs gave me two outputs and I chose the better one. Generation took 18.88 s on Gemini and 17.53 s on ElevenLabs.</p><h3>Long-form narration</h3><p><strong>What this tests:</strong> about 2.5 minutes of Dickens (the opening of <em>Great Expectations</em>), plain text with no tags, to see whether pace creeps, the voice changes character, or the tone jumps.</p><p>ElevenLabs handled it without trouble. No pace creep, the voice kept its character, the paragraph breaks sounded intentional, and there were no sudden tone or loudness jumps.</p><p>Gemini failed on my first day of testing. It would speak only the first four to six words of the passage and then fail, repeatedly. I lost several retries to it.</p><p>I retried the next day and the full passage generated. I don’t know why it failed the first time. But even the successful run has a problem: between 2:06 and 2:08 the tone drops jarringly, in a way that doesn’t match the emotion the surrounding text calls for. Generation took 45.9 s on Gemini and 48.28 s on ElevenLabs.</p><p><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/#long-form-narration">Listen to the Gemini and ElevenLabs long-form narration comparison on Techstackups</a></p><p>ElevenLabs was the better read of context here. I was impressed at how well it inferred expression from the text alone.</p><h3>Which is the best TTS model? Which is the best voice cloning model?</h3><p>This covers two models. For the 16-provider view, see <a href="https://techstackups.com/comparisons/best-tts-2026-blind-benchmark/">Best TTS in 2026: blind benchmark</a>, and for the realtime and price angle see <a href="https://techstackups.com/comparisons/cartesia-vs-elevenlabs/">Cartesia vs ElevenLabs</a>. Within these two:</p><ul><li><strong>Creators and audiobooks:</strong> ElevenLabs. It stayed consistent across 2.5 minutes of narration and Gemini didn’t.</li><li><strong>Customer-facing voice and IVR:</strong> ElevenLabs, with caveats. Gemini’s phone-number read was better, but the dropped dash in an order number is the kind of error that costs real money.</li><li><strong>Developers watching API cost:</strong> Gemini, by a wide margin, if its long-form reliability holds up for you.</li><li><strong>Voice cloning:</strong> Gemini, at least for an accent like mine and a clean sample. It also enforces consent. ElevenLabs may do better with other voices, but I only cloned one.</li><li><strong>Dialogue and character voices:</strong> ElevenLabs.</li><li><strong>Expressive reads where you want the model to infer emotion:</strong> Gemini.</li></ul><h3>My recommendation</h3><p>I’d use ElevenLabs for anything that has to be right first time: narration, dialogue, and text full of numbers. I’d use Gemini when cost matters, when I want a model that reads emotion across sentences, or when I need a clone of a real voice that keeps its accent. If you take one thing from this, take the cloning result. On a clean 30 second sample, Gemini kept me sounding like me while ElevenLabs didn’t. Test with your own voice before you commit.</p><p>I didn’t test voice design from a text description, re-roll consistency, other languages, or the UI friction of each tool.</p><p><em>Originally published at </em><a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/"><em>https://techstackups.com</em></a><em> on October 2, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1c81feccf261" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/gemini-vs-elevenlabs-voice-cloning-and-tts-2026-gemini-3-8-flash-vs-eleven-v4-tech-stackups-1c81feccf261">Gemini vs ElevenLabs Voice Cloning and TTS (2026): Gemini 3.8 Flash vs Eleven v4 | Tech Stackups</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Monospace from Directus Review: An AX Audit | Tech Stackups]]></title>
            <link>https://medium.com/tech-stackups/monospace-from-directus-review-an-ax-audit-tech-stackups-d8f5e929b67f?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/d8f5e929b67f</guid>
            <category><![CDATA[monospace]]></category>
            <category><![CDATA[audit]]></category>
            <category><![CDATA[directus]]></category>
            <category><![CDATA[agent-experience]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Wed, 21 Oct 2026 13:05:23 GMT</pubDate>
            <atom:updated>2026-10-21T13:05:23.087Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DFYQsHFxm0hcuZv1DVMoXw.jpeg" /></figure><p><a href="https://monospace.io">Monospace</a> is a new product for giving AI agents safe access to company data, from Monospace Inc., the company behind <a href="https://directus.io">Directus</a>. In our tests, a coding agent connected to it over MCP and answered questions about our data correctly. But the agent only found Monospace when we searched for its tagline, and for Monospace’s own use case it recommended other tools, including Directus.</p><p>Four days after launch, we put Monospace through our <a href="https://techstackups.com/articles/what-is-agent-experience-and-why-should-you-care/">agent experience (AX)</a> audit, following our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">AX audit method</a>. The audit has four stages:</p><ul><li><strong>Awareness:</strong> does the model know Monospace without searching?</li><li><strong>Discoverability:</strong> can an agent find Monospace when it’s looking for a tool like it?</li><li><strong>Reputation:</strong> does the agent speak well of Monospace, and recommend it over other options?</li><li><strong>Integration:</strong> can the agent build a working proof of concept with Monospace?</li></ul><blockquote><strong>How we tested</strong></blockquote><blockquote>All testing used Claude Opus 5.5 (claude-opus-5-5) in Claude Code 2.1.285, on 6 October 2026. Every session started in a fresh, empty folder with no project files, memory, MCP servers, skills or plugins. Awareness questions ran with no tools at all, and discoverability and reputation questions with web search and web fetch only. We ran each prompt once, so treat these results as one developer&#39;s experience rather than a benchmark.</blockquote><h3>Scores at a glance</h3><p>Agents don’t know Monospace, and only find it when they search for its own tagline. Once they do find it, they like the design but hedge every recommendation, and often fill gaps with facts about Directus. In the integration, the agent installed Monospace, loaded our data and answered questions over MCP with a few short human steps, but the free plan blocks the governance features Monospace leads with.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RtHl51tzJhhbDwI0TYRczg.png" /></figure><p>See our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">AX audit rubric</a> for how we score each stage.</p><h3>Awareness: does the model know Monospace?</h3><p>Awareness tests what a model knows from training data alone, with no web search. For a product launched four days earlier, we expected the answer to be no. What matters is how the model fails, whether it admits it doesn’t know, makes something up, or confuses Monospace with something else.</p><p>We started with two questions that describe Monospace’s pitch without naming it. Each answer below comes from a fresh session with no tools.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*477ZnAUSomzsPspynFiZxw.png" /></figure><p>The first answer describes the gap Monospace says it fills, and the second picks a competitor with confidence. Then we named Monospace:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b8a10BB7q00dx4sLTgXwew.png" /></figure><p>Given the domain, the model knew the company but not the product. Given the tagline, it said it didn’t know. It never invented features, which is good behaviour, but a developer asking their agent about Monospace today either hears about Directus or gets “I don’t know”. In other sessions the agent also raised two name clashes, monospace fonts and Google’s old internal “Monospace” codename for what became Project IDX.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/974/1*NdQLLZipbs2uE_7tK0tVsw.png" /></figure><h4>What Monospace can do about it</h4><p>Training data catches up slowly, so there’s no quick fix here. The useful work is making sure the next training cut sees Monospace as a product in its own right. That means launch posts, guides and comparisons that pair the name with what it does (“Monospace, the governed API layer from Directus”).</p><h3>Discoverability: can an agent find Monospace?</h3><p>Discoverability tests whether an agent with web search finds the product when it’s looking for something like it. We ran three six-question “funnels” in a single session each. Each funnel starts with a broad problem and narrows towards Monospace one question at a time, then names it at question 6. We recorded the first question where Monospace appeared.</p><p>Each funnel asks from a different angle, because different people describe the same problem differently.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FiHJmlrrCBImHJY_GcEHSA.png" /></figure><p>Here are funnel A’s six questions, asked in one session, with the start of each answer.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZNXvJ1suCTsJHnClWSwIzg.png" /></figure><p>At question 3, the agent searched the web for a product that does what Monospace does and concluded that none exists. In funnel C it said the same thing in different words: “No product does this as a drop-in layer, and a gateway can’t do it reliably.”</p><p>Funnel B, the developer’s angle, went worse. At question 3, the agent recommended Monospace’s parent company’s older product for Monospace’s job:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*EbhvoxHE3pxo7iavfDjo4g.png" /></figure><p>And searching for Monospace’s own tagline didn’t find it either:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JlYo4gVM_jp-eElWlC7TqA.png" /></figure><p>Once found, Monospace became the agent’s top pick in all three funnels. It called Monospace “the closest match to your requirements of anything I’ve found” in funnel A, and “the best conceptual fit of everything we’ve looked at” in C. In B it said “the product is brand new but the team isn’t.” Each time it added the same caveat, that Monospace was days old and unproven.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GEwz7U7fCVxPMbMBfDlX7g.png" /></figure><h4>What Monospace can do about it</h4><p><strong>Publish pages built around the problems agents are asked about.</strong><br>Agents ran searches like MCP gateway agent identity fine-grained authorization audit log Postgres SaaS 2026 and AI agent data access control plane field-level permissions MCP new product 2026, and none of them surfaced Monospace. Guides and docs titled around those problems, in a developer&#39;s words, would give agents something to find.<a href="https://techstackups.com/articles/monospace-directus-ax-audit/#get-into-the-comparison-articles-agents-already-read">​</a></p><p><strong>Get into the comparison articles agents already read.</strong><br>The recommendations agents made instead came from vendor comparison posts and round-ups, Bytebase and Cerbos blog posts, Product Hunt, and MCP directories like Glama. That’s where Hasura, WunderGraph Cosmo, DreamFactory and Cerbos got their mentions.</p><p><strong>Separate Monospace from Directus on purpose.</strong><br>In funnel B the agent recommended Directus for Monospace’s use case. A clear “Monospace vs Directus: which should I use?” page on both sites would teach agents when to send developers to which product.</p><h3>Reputation: do agents recommend Monospace?</h3><p>Reputation tests what the agent thinks once Monospace is named, including whether it recommends it over competitors and whether it gets the facts right. We ran eight questions, each in a fresh session with web search. Hasura and WunderGraph Cosmo were among the competitors the agent named most often before it found Monospace. We added Directus on purpose, because of funnel B.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*afDbL0p_r9dTOwdyWPyeiw.png" /></figure><p>Whenever the agent found Monospace, it liked the design. For a regulated company, it called it “the right design for a regulated environment: agents never hold database credentials directly.” But it never recommended Monospace without conditions, and most verdicts came back to how new it is.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L2Pd_D77wsOpeKCdJ8BtNw.png" /></figure><p>The answers’ quality depended on which pages the agent reached. The most accurate answer, the startup “Not yet”, came from Monospace’s own homepage, pricing page and connectors page. It found that Stripe and HubSpot are listed as “Coming Soon”, and that row/column-level security and audit logs aren’t on the free plan. When the agent read less, it filled the gaps with outdated or borrowed information:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IZCBBDU5iC_33jLBGD56uw.png" /></figure><p>The two questions that named Monospace without its domain went worst:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P7H-CGBMZVTkbP6gh4vZ5w.png" /></figure><p>For the risks question, the agent searched for “Monospace developer tool” and “Monospace launch 2026”, and neither search found the product. The pricing comparison never reached monospace.io.</p><h4>Monospace vs Directus</h4><p>Directus is Monospace Inc.’s older product, and it has its own MCP server. When we asked whether to choose Monospace over Directus for exposing Postgres and internal APIs to apps and agents, it leaned towards Monospace, “mainly because you need internal APIs as well as Postgres”. Its reasoning was that Directus is built around a single SQL database, while Monospace applies one permissions model across several sources. It described the two as “a sibling product, not an unknown vendor”, and still pointed teams that only need Postgres towards Directus, for its proven field-level permissions and its admin UI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7wS_VjBVQogFO_usV5E1Rg.png" /></figure><h4>What Monospace can do about it</h4><p><strong>Put the key facts on the pages agents read first.</strong><br>The homepage was the page agents read most, and it doesn’t name Postgres or state a licence. Agents that stopped there guessed both. A line on the homepage naming the supported databases, the licence and where pricing lives would have fixed several wrong answers.</p><p><strong>Settle “public preview” or “GA”.</strong><br>Monospace’s launch article calls it a public preview, and the Directus community announcement calls it GA. Agents picked up both (“Their own posts disagree on whether it’s “GA” or “public preview””), and used “preview” as a reason not to recommend Monospace for production. One status everywhere would remove that reason.</p><p><strong>Publish what agents told our test user to ask sales.</strong><br>For the regulated company, the agent listed five questions to ask Monospace’s sales team. They covered whether audit logs record the full query, whether the log is tamper-evident and can stream to a SIEM, whether SAML or OIDC work self-hosted, what licence covers self-hosting, and what compliance reports exist. Docs pages that answer those would give agents what they need to move past “don’t approve it yet”.</p><h3>Integration: can an agent build with Monospace?</h3><p>Integration tests whether an agent can install the product and build a “hello world” with as little human help as possible. We gave it three spreadsheets for a fictional business (50 customers, 30 products, 300 orders with 741 line items) and asked it to:</p><ol><li>Set up Monospace and give us a localhost link.</li><li>Get the spreadsheet data into Monospace and connect itself to it.</li><li>Answer a question using Monospace: which region had the most revenue in the last three months, and who were its top three customers?</li><li>Create a restricted key for an “analyst” agent that can’t see customer emails, and prove it.</li><li>Mark one order as refunded through Monospace.</li></ol><p>We ran it in Claude Code’s default permission mode, approving each command, so we could stop the agent from reading anything outside its folder. Monospace has no hosted signup (“Get Started” leads to a contact form), so the agent had to self-host it with Docker.</p><h4>Installing: one hint, then four minutes</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4FB_EY4tqp1Y-zSNHZAkmw.png" /></figure><p>We replied “It’s the one at monospace.io.”, and the agent then read the installation page, downloaded the official Docker Compose file, and had Monospace v1.0.0 running with Postgres, RabbitMQ and Redis in 4 minutes 12 seconds, with no errors.</p><p>Creating the admin account, accepting the licence agreement and creating a workspace took us 6 and a half minutes in the browser, with no email verification. The last onboarding screen shows how to connect Claude Code (a claude mcp add command) and how to install Monospace&#39;s agent skills plugin.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*YNjLX3omlEudm_Uj.png" /></figure><h4>Loading the data and connecting over MCP</h4><p>Monospace’s homepage illustrates its data sources as files like customers.xlsx and inventory.xlsx, but its connectors are PostgreSQL, MySQL and MariaDB, with no spreadsheet connector. The agent worked this out from the docs and took a sensible route. It converted the spreadsheets to SQL, loaded them into a new database inside Monospace&#39;s own Postgres container, and registered that database as a data source through Monospace&#39;s API. Monospace detected the relationships between the tables on its own, and the agent checked that every table&#39;s row count matched the spreadsheets.</p><p>The agent leaned heavily on Monospace’s agent-friendly docs, including llms.txt, the 1.4 MB llms-full.txt, and raw Markdown versions of each docs page. The agent said the OpenAPI spec served by the running instance &quot;mattered most&quot;. The docs have no request examples for creating a data source, so it worked out the format from that spec, by trial and error.</p><p>It then needed one thing it couldn’t do itself, an API key. It asked us to create one in the UI and write it to a file with a ! pbpaste command, so the key never appeared in the chat. With a key in place, the agent tested Monospace&#39;s MCP server by hand with curl and found 7 tools. It then wrote a project-level .mcp.json that reads the key from the file at runtime, so the key isn&#39;t stored in the config either. Claude Code needed a restart to load the new MCP server.</p><h4>The hello world: a correct answer</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZtMW-HPFxpMnMQIdLu20qw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YKQ6gq1jNOuRS6uqe5o6Ow.png" /></figure><p>Every figure matched what we calculated from the spreadsheets beforehand. The agent stated its date window and which order statuses it counted, showed how the ranking changes if pending orders are included, and cross-checked the result in Postgres.</p><p>Monospace can’t calculate totals itself (its docs have a page called “No Aggregates”), so the agent pulled the rows through MCP and added them up in a Python script. That’s fine for 300 orders, but a bigger dataset would mean moving a lot of rows through the agent’s context.</p><h4>Field-level permissions: blocked by the free plan</h4><p>Asked for a restricted “analyst” key that can’t see customer emails, the agent read the access control docs, built a policy, and tried to create it. Monospace refused, and the agent queried Monospace’s licence API to find out why:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*THbMEJkH4Z_IpFB4o0KZWQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1018/1*xPtyYMgmyuVlgBtVaymZOQ.png" /></figure><p>It confirmed nothing had been half-created, and declined to fake the result by hiding the column in Postgres instead, saying that “isn’t what you asked for”.</p><p>This matches Monospace’s pricing page, which lists row/column-level security, service accounts and custom roles and policies as Business-plan features. But it means the features Monospace leads with, per-agent identities and field-level rules, can’t be tried on the free self-hosted version without contacting sales. The agent also noted that the licence limits weren’t on any docs page it read. It only found them through the API, after being refused.</p><h4>A live write: done</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2C6WDF4exl6lTi3FPvozZg.png" /></figure><h4>What it took</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iSDuYKJVcmEGr7voAr1fmA.png" /></figure><p>The whole session took about an hour and a half, including our steps. The agent never used Monospace’s agent skills plugin, SDK or CLI. It skipped the skills plugin because “it wasn’t needed for this”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XwIwz6jch4OPMqnoOhtpVQ.png" /></figure><h4>What Monospace can do about it</h4><p><strong>Let people try governance without a sales call.</strong><br>A trial licence that a developer can get without contacting sales, or a small allowance of custom policies and service accounts on the free plan, would let agents demonstrate per-agent identities and field-level rules.</p><p><strong>Document the free plan’s limits where agents look.</strong><br>Put the Starter limits (0 custom policies, roles and service accounts) in the docs next to the access control and API key pages, so an agent can tell a user before it builds a policy that can’t be saved.</p><p><strong>Add request examples for the API calls agents need.</strong><br>Creating a data source and writing a policy were the two places the agent had to guess. One complete example request for each would remove most of the trial and error.</p><p><strong>Make the API keys page point to personal keys.</strong><br>On the free plan, the prominent API Keys page leads to a paywall, while the working option is under Account → Access. A link from one to the other would save the confusion.</p><h3>What this means for Monospace</h3><p>Monospace has built a lot for agents. It has an MCP server, llms.txt and llms-full.txt, Markdown docs, an OpenAPI spec on every instance, an agent skills plugin, and an onboarding screen that tells you how to connect Claude Code. Once an agent was connected, it loaded data, answered questions correctly and made live writes, all through MCP.</p><p>The problems come before and around that:</p><ul><li>Agents only found it by searching for its tagline, and in one test the agent recommended Directus for its job.</li><li>Without the domain in the prompt, the agent either couldn’t identify it or priced Directus instead.</li><li>Field-level permissions and agent identities can’t be tried on the free plan.</li></ul><p>The first two are fixable with content, such as pages built around the problems agents get asked about, clear “Monospace from Directus” naming, and the key facts on the homepage. The third is a pricing decision, but documenting the limits would at least stop agents and developers from running into them by surprise.</p><p>Cloudflare’s <a href="https://isitagentready.com/">isitagentready.com</a>, which checks how readable a website is for AI agents, scored Monospace’s docs at <a href="https://docs.monospace.io/en">docs.monospace.io</a> 20 out of 100. Those are the docs the agent relied on in the integration, through their llms.txt and Markdown pages.</p><p><em>Originally published at </em><a href="https://techstackups.com/articles/monospace-directus-ax-audit/"><em>https://techstackups.com</em></a><em> on October 6, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d8f5e929b67f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/monospace-from-directus-review-an-ax-audit-tech-stackups-d8f5e929b67f">Monospace from Directus Review: An AX Audit | Tech Stackups</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SpacetimeDB AX Audit: A Review for AI Agents | Tech Stackups]]></title>
            <link>https://medium.com/tech-stackups/spacetimedb-ax-audit-a-review-for-ai-agents-tech-stackups-0c268c10691b?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/0c268c10691b</guid>
            <category><![CDATA[audit]]></category>
            <category><![CDATA[spacetime]]></category>
            <category><![CDATA[agent-experience]]></category>
            <category><![CDATA[database]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Wed, 21 Oct 2026 09:29:58 GMT</pubDate>
            <atom:updated>2026-10-21T09:30:00.073Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4xKYYQasJ8LCeehqASLbwg.jpeg" /></figure><p>SpacetimeDB’s homepage is written for AI agents. Its headline is “Let AI ship the whole backend, glue-free”, and the site ships an llms.txt, an agent setup guide, a Claude Code plugin, agent skills, an MCP server built into its CLI, and a public benchmark of how well LLMs write code for it.</p><p>In our tests, a coding agent built a working, live-updating app on SpacetimeDB with no help from us. It used none of that tooling. And when we asked agents which backend to use for a web app, they picked Convex or Supabase.</p><p><a href="https://spacetimedb.com">SpacetimeDB</a> is a database that is also your server, made by Clockwork Labs. We put it through our <a href="https://techstackups.com/articles/what-is-agent-experience-and-why-should-you-care/">agent experience (AX)</a> audit, following our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">AX audit method</a>. The audit has four stages:</p><ul><li><strong>Awareness:</strong> does the model know SpacetimeDB without searching?</li><li><strong>Discoverability:</strong> can an agent find SpacetimeDB when it’s looking for a tool like it?</li><li><strong>Reputation:</strong> does the agent speak well of SpacetimeDB, and recommend it over other options?</li><li><strong>Integration:</strong> can the agent build a working proof of concept with SpacetimeDB?</li></ul><blockquote><strong>How we tested</strong></blockquote><blockquote>All testing used Claude Opus 5.5 (claude-opus-5-5) in Claude Code 2.1.285, on 7 October 2026. Every session started in a fresh, empty folder with no project files, memory, MCP servers, skills or plugins. Awareness questions ran with no tools at all, and discoverability and reputation questions with web search and web fetch only. The integration ran in a fresh Claude Code profile with no settings, plugins or history, with every command approved by us. We ran each prompt once, so treat these results as one developer&#39;s experience rather than a benchmark.</blockquote><h3>Scores at a glance</h3><p>The model knows SpacetimeDB well, but as the game backend it was in 2025. It doesn’t know the 2026 rebrand, the push into web apps or the agent tooling. Agents find it straight away for multiplayer games, but for web apps it comes second to Convex, and agents recommend Convex or Supabase over it. In the integration, the agent installed it, built a live page and hid private data without any help from us.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2mNExZ1UGCtwXXERPKjpFw.png" /></figure><p>See our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">AX audit rubric</a> for how we score each stage. The overall score is the average of the four.</p><h3>Awareness: does the model know SpacetimeDB?</h3><p>Awareness tests what a model knows from training data alone, with no web search. SpacetimeDB has been public since 2023 and reached 1.0 in March 2025, so we expected the model to know it. The open question was whether it knew what SpacetimeDB has become in 2026.</p><p>We started with two questions that don’t name SpacetimeDB. Each answer below comes from a fresh session with no tools.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WOLWJ90B7J-GO4unIVImTg.png" /></figure><p>That’s the opposite of SpacetimeDB’s idea, which is to put game state and logic in the database. When we described that idea without the name, the model picked SpacetimeDB at once:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7gM21VKDPrwvFY7WP04aBQ.png" /></figure><p>Asked “What is SpacetimeDB (spacetimedb.com)?”, it gave an accurate description of the product as it was around its 1.0 launch, including the Clockwork Labs and BitCraft background. It didn’t mention 2.0, the web push, C++ support or any agent tooling, and it called the product “open source” under a licence that “converts to a permissive license”. SpacetimeDB’s FAQ calls it source-available, and the AGPL it converts to isn’t a permissive licence.</p><p>Then we asked about the new brand and the homepage tagline, and asked how to connect an agent to it over MCP:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*clW6X4bsg_tGttSBpmP-TA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kFJ79UHbRxGH2FD_haR_qQ.png" /></figure><p>The model didn’t invent anything, and it said when it didn’t know. Its picture of SpacetimeDB is the game backend from before 2.0.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Q8CEZ2OX-Jm2yBubPVDhLg.png" /></figure><h4>What SpacetimeDB can do about it</h4><p>Training data catches up slowly, so the fix is content that teaches the next training cut about 2.0. Posts and guides that pair the name with the new pitch (“SpacetimeDB, a reactive backend for web apps and AI agents”) will help, as will a short page explaining that “Spacetime” and “SpacetimeDB” are the same product. Using one name everywhere would remove the doubt the model had about the rebrand.</p><h3>Discoverability: can an agent find SpacetimeDB?</h3><p>Discoverability tests whether an agent with web search finds the product when it’s looking for something like it. We ran three six-question “funnels”, one session each. Each funnel starts with a broad problem and narrows towards SpacetimeDB one question at a time, then names it at question 6. We recorded the first question where SpacetimeDB appeared.</p><p>Each funnel asks from a different angle. Funnel A is a web developer, the audience SpacetimeDB 2.0 is aimed at. Funnel B is a game developer, the audience it started with. Funnel C builds apps by prompting a coding agent, which is who its homepage now speaks to.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ji8DKV4aT3HqFqMnmmLaZg.png" /></figure><p>For game developers, SpacetimeDB was the answer from the second question to the last:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XZkN3InBgntX1cQDWG3Gcw.png" /></figure><p>For the web app in funnel A, SpacetimeDB appeared at question 3, when we asked for server logic inside the database, ACID transactions and query subscriptions. The agent’s opening line was “Only two tools meet all four of your requirements: Convex and SpacetimeDB. For your app I’d choose Convex.” Convex stayed the pick until the end. Then question 5 used SpacetimeDB’s homepage tagline, and the search found Convex instead:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Coc16f-7lHd66OQ7Geg-5w.png" /></figure><p>Funnel C is the one SpacetimeDB’s new homepage is written for. Here are its six questions, asked in one session, with the start of each answer.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iybJKOy96rWl4vLhnoCUjg.png" /></figure><p>Question 3 described SpacetimeDB’s agent tooling almost item by item. The agent ran a search for “SpacetimeDB MCP server llms.txt agent skills AI”, found a community MCP server and the benchmark page, and concluded the official tooling wasn’t there. It only found the plugin, the MCP server and llms.txt after we named SpacetimeDB and it read the homepage. It also noticed a weakness of the benchmark: &quot;The benchmark scores are at the ceiling. Opus 5.5 and two GPT-6 models all score 99.5%.&quot;</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/1*gwLTvGRsM7Ju1tOD-tllbw.png" /></figure><h4>What SpacetimeDB can do about it</h4><p><strong>Make the MCP server and agent skills findable by search.<br></strong>The agent searched for SpacetimeDB’s MCP server, llms.txt and agent skills by name and found a community MCP server instead. A docs page titled in plain words, such as &quot;Using SpacetimeDB with AI coding agents: MCP server, agent skills and llms.txt&quot;, would give that search an official result.</p><p><strong>Put the taglines where search engines index them.</strong><br>Searches for “reactive backend platform” returned pages about Convex, and searches for “glue-free” and “ship the whole backend” returned nothing. The agent found both phrases on spacetimedb.com only after we named the product. Using them in page titles, the docs and launch posts would let a tagline search land on SpacetimeDB.</p><p><strong>Win the web app recommendation.</strong><br>For web apps and agent-built apps, Convex was the agent’s answer from the first or second question, before it had searched anything. The web articles it read were vendor round-ups of backends for AI coding agents, and SpacetimeDB wasn’t in the ones it opened. Guides and comparisons written for web developers would give agents something to cite there.</p><h3>Reputation: do agents recommend SpacetimeDB?</h3><p>Reputation tests what the agent thinks once SpacetimeDB is named, including whether it recommends it over competitors and whether it gets the facts right. We ran seven questions, each in a fresh session with web search. Convex and Supabase were the two products the agent named most often before it found SpacetimeDB, five answers each, so we used them for the head-to-heads. (We’ve audited Supabase’s own agent experience before, in <a href="https://techstackups.com/comparisons/supabase-vs-planetscale-agent-experience/">Supabase vs PlanetScale</a>.)</p><h4>Is SpacetimeDB good for web apps?</h4><p>Four of the five verdict questions were about web apps, the market SpacetimeDB 2.0 is aimed at, and all four went against it. The agent kept SpacetimeDB for very high-frequency shared state and recommended Convex or Supabase for everything else. The one game question got a clear yes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lVDW6RUCm88kDLpv-lY4rw.png" /></figure><h4>SpacetimeDB vs Convex and Supabase</h4><p>Both head-to-heads used the same scenario, a real-time collaborative web app built in TypeScript and React. Here’s the answer against Convex:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fJadStXZjdbo0mIW4wO4cQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HLoYI9h8a5qsPZxYh4_g_w.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*y_GrcGbBn8tZARj_lwXZdQ.png" /></figure><p>The facts were mostly right, including when we used only the name. The pricing and licensing answer read SpacetimeDB’s pricing page and its licence file and got every plan, price and licence term right. The answer on risks identified the product from its bare name, and its storage limits match SpacetimeDB’s limits page. Here’s how its main claims checked out. The two errors came from pages the agent read instead of SpacetimeDB’s own.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MmfIdjp7edcHiw3DeVEaiw.png" /></figure><p>Five of the seven answers cited the same unofficial mirror of SpacetimeDB’s repository, and two took the out-of-date version number from it. The answer that compared SpacetimeDB with Supabase never opened spacetimedb.com. In our own check afterwards, we found a Spacetime vs Supabase comparison page on SpacetimeDB’s site that it didn’t reach.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/980/1*DKYMpGlwgP0gt2MS7h7G3g.png" /></figure><h4>What SpacetimeDB can do about it</h4><p><strong>Answer the web app objections where agents look.</strong><br>Every web app verdict came back to the same few concerns, which were reporting queries, webhooks, file storage, auth and a smaller ecosystem. Some were wrong, such as file storage, and some were right, such as the SQL limits. A docs page that addresses each one for web developers, including how to build reporting with only COUNT in SQL, would give agents something to quote back.</p><p><strong>Write comparisons that agents can use as a recommendation.</strong><br>The agent quoted SpacetimeDB’s own Convex post as evidence against it (“Even SpacetimeDB’s team says so.”). A comparison page that names the web apps SpacetimeDB is the better choice for would give agents a reason to recommend it for those apps.</p><p><strong>Keep the official sources ahead of copies.</strong><br>The mirror’s out-of-date version number reached two answers. Release notes and the current version on pages that rank, such as the docs home and the GitHub README, would help the official sources win those searches.</p><h3>Integration: can an agent build with SpacetimeDB?</h3><p>Integration tests whether an agent can install the product and build a “hello world” with as little human help as possible. We gave it four CSV files for a fictional business (50 customers, 30 products, 300 orders with 742 line items) and asked it to:</p><ol><li>Set up SpacetimeDB and get a local instance running.</li><li>Load the CSV data into a database and make sure it can query it.</li><li>Answer a question using the database: which region had the most revenue in the last three months, and who were its top three customers?</li><li>Build a web page that shows revenue per region live, then refund one order and prove the page updated without a reload.</li><li>Stop client apps reading customer email addresses, and prove it.</li></ol><p>We ran it in Claude Code’s default permission mode, approving each command, so we could stop the agent from reading anything outside its folder. The integration ran in a brand-new Claude Code profile, so SpacetimeDB’s plugin and skills would have loaded normally if the agent had installed them.</p><h4>Installing: four and a half minutes, no help</h4><p>The agent knew which product we meant and how to install it. It downloaded the official install script, read the top of it, and ran it. It then started a local server, made the local server the CLI’s default, and tested the setup with a throwaway test project, which it deleted afterwards.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zDGLjUTfoSeYORW4lGOdCQ.png" /></figure><h4>Loading the data, guided by the CLI’s rules file</h4><p>The agent wrote server code that defines four tables, storing money as whole cents, and loader functions that refuse to load the same table twice. It then wrote a Python script that sent the CSV rows to those functions. The row counts matched the files. It found that order is a reserved word in SpacetimeDB&#39;s SQL and renamed the tables to plurals.</p><p>Its main reference for SpacetimeDB’s TypeScript API was the rules file that spacetime init writes into every new project, as AGENTS.md, CLAUDE.md and Cursor rules. It found the file in its throwaway test project and read it before writing any code.</p><p>The agent then probed SpacetimeDB’s SQL and found it couldn’t total, group or sort:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dC00UZC3xh84zLSYI3SajA.png" /></figure><p>That matches SpacetimeDB’s SQL reference, where COUNT is the only aggregation. The workaround is fine for 300 orders, but a real reporting workload would copy a lot of data on every query.</p><h4>The hello world: a correct answer</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YNgxPRj10Lq6c9AvJim8eQ.png" /></figure><p>The answer matched the figures we calculated from the CSVs: $212,620.84 for North, excluding refunds. The only slip was in the wording, because “61 orders” includes the four refunded ones.</p><h4>The live page: updated 23 ms after the refund</h4><p>This step tests SpacetimeDB’s headline feature, which is that clients subscribe to data and get changes pushed to them. The agent added a database function to change an order’s status, deployed it without losing data, and generated typed client code with spacetime generate. It then built a small web page with SpacetimeDB&#39;s TypeScript client library that subscribes to the orders and customers tables.</p><p>To prove the page updated without a reload, it opened the page in headless Chrome and refunded order 1001 from the command line. Then it ran seven checks, such as a marker stored in the page surviving the change and the page’s update counter going from 0 to 1.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*pI_eTfH3VmH_FdaJ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*-DFDR6XlQnYGZGS-.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0f024g3wqWt2Hu_tM1OduA.png" /></figure><p>Both figures match our own: West went from $225,607.88 to $219,182.69.</p><h4>Hiding customer emails: a private table and a public view</h4><p>The agent made the customers table private and added a public view that exposes only each customer’s ID, name and region. It recorded the “before” state first, when any anonymous client could read all 50 emails. SpacetimeDB applied the change to the running database without losing data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Fj_tIcgxnZvzHvKslHZs9g.png" /></figure><p>We checked it ourselves as an anonymous client. Reading the customers table returned “no such table: customers. If the table exists, it may be marked private.&quot;, and the view returned names and regions without emails.</p><h4>What it used, and what it didn’t</h4><p>Finally, we asked which SpacetimeDB docs and agent tools it had used:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IVc0qZ2pd68Csfi83xLxQQ.png" /></figure><p>The whole session took 45 minutes, including the time we spent checking each step, and we typed nothing but the six prompts.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/892/1*zsNVvqERZ9o1auVCqaGXqA.png" /></figure><h4>What SpacetimeDB can do about it</h4><p><strong>Point the rules file at the rest of the agent tooling</strong><br>The rules file that spacetime init writes was the only piece of SpacetimeDB&#39;s agent tooling the agent used. A short section in that file on the plugin, spacetime mcp and agent-setup.md would introduce agents to the rest at the point they&#39;re already reading.</p><p><strong>Document the reporting pattern.</strong><br>The agent hit the SQL limits by trial and error and built its own workaround. A docs page showing the intended way to compute totals and rankings in SpacetimeDB, such as in a view or a procedure, would give agents a pattern to follow instead of a SQLite copy.</p><h3>What this means for SpacetimeDB</h3><p>SpacetimeDB is a good product for an agent to build on. Working from its training data, the rules file the CLI writes and the npm package’s own code, the agent installed it, loaded data, answered a question correctly, built a page that updated 23 ms after a database change, and hid private data.</p><p>The problems come before an agent starts building:</p><ul><li>From memory, agents know SpacetimeDB as a game backend, and its new tagline sounds like Convex to them.</li><li>For web apps, agents recommend Convex or Supabase. SpacetimeDB lost both head-to-heads and the SaaS question.</li><li>Agents searching for its MCP server, skills and llms.txt found a community MCP server instead.</li></ul><p>Guides for web developers, comparison pages that recommend SpacetimeDB for specific kinds of app, and an agent tooling page that ranks for those searches would each address one of these.</p><p><em>Originally published at </em><a href="https://techstackups.com/articles/spacetimedb-ax-audit/"><em>https://techstackups.com</em></a><em> on October 7, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0c268c10691b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/spacetimedb-ax-audit-a-review-for-ai-agents-tech-stackups-0c268c10691b">SpacetimeDB AX Audit: A Review for AI Agents | Tech Stackups</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Orbital vs Hasura vs Apollo: AI Agent Review | Tech Stackups]]></title>
            <link>https://medium.com/tech-stackups/orbital-vs-hasura-vs-apollo-ai-agent-review-tech-stackups-5432ba25cfa0?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/5432ba25cfa0</guid>
            <category><![CDATA[orbital]]></category>
            <category><![CDATA[hasura]]></category>
            <category><![CDATA[audit]]></category>
            <category><![CDATA[apollo]]></category>
            <category><![CDATA[agent-experience]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Tue, 20 Oct 2026 12:26:47 GMT</pubDate>
            <atom:updated>2026-10-20T12:34:12.618Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8sfw81mF0mO0lo6WM6hDHQ.jpeg" /></figure><p>Orbital, Hasura, and Apollo all do similar things. But when agents write most of your software, the choice between them is made for you. Here’s which one your agent prefers, and why.</p><p>Using Claude Code, we followed our <a href="https://techstackups.com/articles/how-to-do-an-ax-audit/">audit method</a> to assess their <a href="https://techstackups.com/articles/what-is-agent-experience-and-why-should-you-care/">agent experience (AX)</a> across four stages.</p><p>The audit follows the funnel a developer goes through with their agent:</p><ul><li><strong>Awareness:</strong> Does the model already know about the product, without tools?</li><li><strong>Discoverability:</strong> Does it find the product when it searches online?</li><li><strong>Reputation:</strong> Does it recommend the product over alternatives, and get the facts right?</li><li><strong>Integration:</strong> Can it build and verify a small working integration?</li></ul><p>Each stage gets a score from 1 to 4: <strong>GOOD (4)</strong> means little friction; <strong>OK (3)</strong> means minor gaps; <strong>POOR (2)</strong> means a partial result with significant gaps; <strong>FAIL (1)</strong> means the product is unknown or the task doesn’t work.</p><blockquote><strong>How we tested</strong></blockquote><blockquote>All testing used Claude Opus 5.5 (claude-opus-5-5) in Claude Code 2.1.287, on 13–14 October 2026. Every session started in a fresh folder with no audit context or user customizations. Each integration used its own fresh Claude Code profile and a folder containing the supplied test data. Those profiles loaded no MCP servers and only built-in skills and plugins, and we approved every command. Awareness questions ran with no tools, and discoverability and reputation questions with web search and web fetch only. We ran each prompt once, so treat these results as one developer&#39;s experience rather than a benchmark.</blockquote><blockquote>We chose Hasura and Apollo GraphQL by asking six questions about Orbital’s job and its alternatives, and taking the products the answers named most. Both appeared in all six answers. WunderGraph Cosmo did too, and we picked Apollo because Orbital’s own comparison pages measure it against GraphQL tools like Apollo. The shared questions describe Orbital’s problem (data spread across REST APIs, databases and Kafka), so they suit Orbital more than the other two.</blockquote><h3>What are Orbital, Hasura and Apollo GraphQL?</h3><p>All three let an app or an agent ask one API for data that lives in several systems.</p><p><a href="https://orbitalhq.com">Orbital</a> sits in front of your existing APIs, databases and message streams. You describe what the data in each system means once, then ask Orbital for the data you want, and it works out which systems to call and joins the results. Our <a href="https://techstackups.com/guides/orbital-quickstart/">Orbital quickstart</a> covers how it works in more detail.</p><p><a href="https://hasura.io">Hasura</a> turns databases and APIs into one GraphQL API, and its company now also sells an AI agent product, PromptQL. <a href="https://www.apollographql.com">Apollo GraphQL</a> makes widely used GraphQL tools, including a router that combines many services into one API and Connectors that map REST APIs into it without code.</p><h3>Results at a glance</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Aa4UYnBFHUljnefC8SVbgw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*a-jghLJczpV-R-NQ6LUqoQ.png" /></figure><p>The averages are not rounded. Hasura places first because its agent obtained credentials after browser login; Apollo needed us to create its key too.</p><h3>Orbital vs Hasura vs Apollo GraphQL: which should you choose?</h3><p>The agent’s recommendation depended on your data: “use Orbital to combine mixed sources including Kafka without code, Hasura for an instant API over mainly SQL databases, and Apollo to federate GraphQL services owned by many teams.”</p><p>Agents chose Orbital when the data includes Kafka topics and you want joins without writing code for each system, and it won every head-to-head on those grounds. Name Orbital explicitly, and be prepared to check script authentication yourself: our agent installed Orbital but couldn’t get data back with the key we supplied.</p><p>Agents recommended Hasura when “your data is mostly relational and what you want is a fast, auto-generated GraphQL API over it”. Against Apollo, the agent preferred Hasura in one order and neither in the other. Our agent used Hasura DDN, retrieved a token after our browser login, and ran a script that authenticated to Hasura Cloud and fetched local customer and order data. The local data queries used no token. When we asked about risks, the agent raised Hasura’s shift towards its AI product, PromptQL.</p><p>Agents preferred Apollo when “Your consumers want GraphQL” or “Your sources are mostly REST”, and said it “has a much larger community and is easier to hire for”. It doesn’t connect to databases or Kafka without extra services, which is why it lost both head-to-heads with Orbital. After we signed in and created a personal key, our agent used it to query GraphOS account information and also queried local customer and order data. The local router used no credentials.</p><h3>Awareness: does the model know Orbital?</h3><p>Awareness tests what a model knows from training data alone, with no web search.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*a8PlYM-n4sp9_rGgLHS6gw.png" /></figure><p>We first described Orbital’s job without naming any product. Asked which tools let apps and AI agents query data across REST APIs, databases and Kafka without integration code, the model named Hasura, Apollo and WunderGraph Cosmo, among others. When we described one self-hosted layer with Orbital’s main capabilities, it picked Grafbase, with Hasura DDN and Apollo as the alternatives. Orbital appeared in neither answer.</p><p>Then we named each product with its domain, in a fresh session with no tools: “What is Orbital (orbitalhq.com)?”, and the same question for Hasura (hasura.io) and Apollo GraphQL (apollographql.com). The model described all three accurately:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-hDaFVA1xkLBTAaV_NF4GA.png" /></figure><p>For Orbital, it described Taxi, the query language, joins across APIs, databases and Kafka, and the self-hosted Docker setup, but didn’t mention AI agents or MCP. For Apollo, it mentioned the Apollo MCP Server.</p><p>Next we used each company’s tagline from its own site, with no domain. The question for Orbital was: “What do you know about Orbital, the ‘governed context layer’? What does it do, and who is it for? Say clearly if you don’t know.” Hasura’s and Apollo’s versions swapped in their own name and tagline. Orbital’s homepage turns “your existing APIs, databases and streams into a governed context layer”, and the model didn’t connect that phrase to Orbital:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NoGZDJAuOsANuWhfr15dXQ.png" /></figure><p>For Orbital, it listed Orbital Insight, a geospatial analytics company, as one of several unrelated things called Orbital. For Hasura and Apollo, it described the products accurately either way.</p><p>Asked how to join two REST APIs with Orbital on a laptop, the model gave the right shape of a setup: Docker, a Taxi project with a shared customer ID type, and a query. Its first command saved https://start.orbitalhq.com as a Docker Compose file, even though that address serves Orbital&#39;s launcher script. It also didn&#39;t mention the sign-in Orbital needs on first start.</p><h4>What this means if you’re choosing</h4><p>Without web search, an agent suggests Hasura or Apollo for this job. If you want Orbital considered, name it. The model knows it as a data gateway, which is how Orbital’s docs describe it, but not by the “governed context layer” description on its homepage.</p><h3>Discoverability: can an agent find Orbital?</h3><p>Discoverability tests whether an agent with web search finds a product while looking for a tool like it. We repeated the two awareness questions with web search, then ran two six-question funnels that narrowed a broad problem towards Orbital. The first four questions were the same for all three companies. Each funnel branched at question 5, where we asked for products using that company’s tagline; we named the company at question 6.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IYwC1OD6EUm33IEsv-lcCg.png" /></figure><p>With web search, the two open questions named Hasura and Apollo again, but not Orbital. One query came close to Orbital’s description: self-hosted GraphQL federation REST databases Kafka no resolvers field-level authorization 2026. The answer said no tool absorbs upstream API changes:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ew1HeJZfWINDa0Jt3zgGyg.png" /></figure><p>Funnel A targeted a platform engineer tired of glue code between microservices; funnel B followed a team building AI agents, the audience Orbital’s homepage now speaks to. Here is funnel B on the Orbital branch, with the start of each answer:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*H22fhU3bwrFdKY0sI179iQ.png" /></figure><p>At question 4 the agent searched for &quot;context layer&quot; OR &quot;data gateway&quot; for AI agents startup launch 2026 governed access internal systems, which uses both of Orbital&#39;s descriptions, without finding Orbital. At question 5, Orbital&#39;s tagline led to Cube, whose AI Context Layer page says &quot;Cube gives your AI agents a governed context layer&quot;. Funnel A&#39;s tagline search went the same way, listing Cube, Starburst, Denodo and Atlan:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gZO3I248MFe73dYmg2TVaw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tlX-5P5lLIj_bTsmghBF-w.png" /></figure><p>Hasura’s tagline, “universal data access layer”, returned Hasura in both funnels. Searching Apollo’s tagline, “domain model for AI”, returned Apollo in funnel A and SAP’s domain models in funnel B.</p><h4>What this means if you’re choosing</h4><p>If you shortlist tools by asking an agent to search, expect GraphQL federation tools: The Guild’s Hive stack, Grafbase, WunderGraph Cosmo, Apollo and Hasura. Orbital didn’t come up in any of our searches for this problem, so add it to the list yourself.</p><h3>Reputation: do agents recommend Orbital over Hasura and Apollo GraphQL?</h3><p>Reputation tests what an agent with web search says about each product once it’s in the conversation. Every question described the same use case: “joining data across our REST APIs, databases and Kafka, self-hosted, without integration code”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*H2PhdvZtZftrTMhlwZxapA.png" /></figure><p>Asked for the single best tool, with no product named, the agent picked ClickHouse and didn’t mention any of the three.</p><p>Once all three were named, the agent chose Orbital, answering from what it already knew without a search:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BldKldNJPYxqux8FMOzQAg.png" /></figure><h3>Apollo vs Hasura: how do they compare with Orbital?</h3><p>Orbital beat both Hasura and Apollo, in both orders. For Hasura vs Apollo GraphQL, the result was a split. We asked each pair in both orders because agents can favour the product named first, and a pair counts as a win only if the same product wins both ways.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ykk1ax6eODj07lBNG38dmg.png" /></figure><p>In each Orbital head-to-head, the agent searched for Orbital and cited its Kafka support and joins that need no code per system. With Hasura named first against Apollo, it recommended Grafbase or WunderGraph Cosmo if Kafka matters.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-xy0mE6Ie5Z-n-vNUMQ-DA.png" /></figure><p>The last question used each product’s bare name, with no domain. The agent recognised Hasura and Apollo GraphQL and flagged Hasura’s shift towards PromptQL and v2.45 LTS reaching end of support on 1 January 2027, plus Apollo’s Elastic License and usage-based pricing. Asked about “Orbital” on its own, it returned information about a different industry:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OF-ZEMEsSK6lSB-HkhTPxw.png" /></figure><h4>What this means if you’re choosing</h4><p>Named side by side, Orbital won on Kafka support and joins without per-system code. Hasura and Apollo each won a narrower case: Hasura for data that sits mostly in databases, Apollo for mostly REST APIs. Our questions described a mix of REST APIs, databases and Kafka, which is Orbital’s own use case. When you ask an agent about Orbital, give it the URL: on its own, “Orbital” brought up data centres in space.</p><h3>Integration: can an agent build with Orbital?</h3><p>Integration follows three steps: sign up or install, get a credential for a script, then write and run a script that returns real data. Each company had one continuous session. The agents had shell access, web search and fetch, but no browser tool. We handled browser steps when asked. The test folders included two small REST services for customers and orders.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*W6ig24uBk21GmEa-bblOCA.png" /></figure><p>The first request was: “Sign me up for Orbital, or install it if that’s how it works, and get it ready to use. Do what you can yourself and tell me where you need me.” Hasura and Apollo GraphQL received the same prompts with their names substituted.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sYIlNfATOG9juzY10KpYeQ.png" /></figure><h4>Orbital: installed, then stopped at authentication</h4><p>Orbital’s agent downloaded and read the official launcher, started the Docker stack, and checked that its health endpoint returned 200. Our existing Orbital account signed in automatically in the browser.</p><p>Asked to get a credential, the agent searched the docs, probed the API and inspected the local UI. It didn’t obtain a key or write .env. We created an API key and saved it ourselves so the next step could test whether the agent could use it. Requests with that key returned HTTP 500, and the agent found this message in Orbital&#39;s logs: API Key authentication is not enabled.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OReNnka8IzQhEg_7y8fVOg.png" /></figure><p>We didn’t test script authentication with other Orbital configurations.</p><h4>Hasura: browser login, then the agent got the token</h4><p>Hasura’s agent chose DDN, installed its CLI and asked us to complete browser authentication. After that it used ddn auth print-access-token to save a token privately, without asking us to create or copy one.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jau0_hCpyHgWQc4XIaIkPw.png" /></figure><p>The agent generated two OpenAPI connectors, fixed a Docker build failure and missing environment settings, then ran query_hasura.py. Its saved token authenticated a Hasura Cloud project-list request. Separately, the local engine returned Luca Ibrahim and nine orders, with a completed-order total of 2,669.39, matching our test data. That local engine didn&#39;t require a key. The script fetched the customer and orders with two queries in one request; it hadn&#39;t created a relationship between them.</p><h4>Apollo: we created the key, then the script worked</h4><p>Apollo’s agent installed Rover through Homebrew and tested a local customer query. When asked for credentials, it started a browser login but stopped to ask which account, organization and key type to use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7fpoqbVnfCO5ATNzixMgjA.png" /></figure><p>We created a personal key in Studio and saved it to .env. The agent wrote query.py, fixed a missing client-version header, and ran it successfully. The key authenticated a GraphOS query returning our account and team information. A separate request to the local router returned Luca Ibrahim with the same nine orders. The local router answered without credentials.</p><p>Hasura’s and Apollo’s integration scores reflect who handled account access and credentials, plus whether a script ran successfully.</p><h4>What this means if you’re choosing</h4><ul><li>Orbital installed successfully, but browser sign-in and a supplied key didn’t get our agent to a working script.</li><li>Hasura required browser authentication, then the agent obtained its token and completed the script. It also repaired generated connector files along the way.</li><li>Apollo’s agent completed the script after we created and saved the personal key. With either Hasura or Apollo, check local API authentication before using the demo with private data.</li></ul><p><em>Originally published at </em><a href="https://techstackups.com/articles/orbital-ax-audit/"><em>https://techstackups.com</em></a><em> on October 13, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5432ba25cfa0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/orbital-vs-hasura-vs-apollo-ai-agent-review-tech-stackups-5432ba25cfa0">Orbital vs Hasura vs Apollo: AI Agent Review | Tech Stackups</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fish Audio vs ElevenLabs: Voice Cloning & TTS | Tech Stackups]]></title>
            <link>https://medium.com/tech-stackups/fish-audio-vs-elevenlabs-voice-cloning-tts-tech-stackups-532272948eb5?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/532272948eb5</guid>
            <category><![CDATA[text-to-speech]]></category>
            <category><![CDATA[eleven-labs]]></category>
            <category><![CDATA[voice-cloning]]></category>
            <category><![CDATA[comparison]]></category>
            <dc:creator><![CDATA[Hash]]></dc:creator>
            <pubDate>Tue, 20 Oct 2026 09:09:47 GMT</pubDate>
            <atom:updated>2026-10-20T09:09:48.807Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZdLBOHQJsz3O_HCjmvm6CQ.jpeg" /></figure><p>If you’re choosing between Fish Audio and ElevenLabs, the answer depends on whose voice you need. With stock voices, ElevenLabs sounded more human, handled emotional direction better and read an appointment message correctly, while Fish turned R1,249.50 into more than a million dollars. For cloning your own voice from a short sample, Fish got much closer to sounding like me, although ElevenLabs’ clone was the cleaner recording.</p><p>I tested Fish Audio Drama 3, released on 13 October 2026, against Eleven v4 using the same scripts and one take each, then cloned my own voice on both. Every clip is below, side by side, so you can hear the differences for yourself. Neither instant clone would convince someone who knows my voice, so if cloning is why you’re here, read that section with that in mind.</p><h3>Fish Audio vs ElevenLabs: the quick verdict</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fl0qnwEWEUR4wG_2iVnNFw.png" /></figure><h4>How we tested</h4><ul><li><strong>Models.</strong> Eleven v4 against Fish Audio Drama 3.</li><li><strong>Stock voices.</strong> ElevenLabs’ Global Artist — Newsreader against Fish’s Formal Announcer. Both are British female voices.</li><li><strong>Same words on both.</strong> The directed scripts used each tool’s own tag wording ([whispers] and [laughs] on ElevenLabs, [whispering] and [laughing] on Fish), with [excited] and [pause] on both.</li><li><strong>Single take.</strong> Unlike <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">my Gemini vs ElevenLabs comparison</a>, where I picked the better of two ElevenLabs outputs, every clip here is the first output from a single generation, with default settings.</li><li><strong>Cloning</strong> used the same 33.94-second recording of my voice on both. Fish’s clone was made on the free website. ElevenLabs wouldn’t let me save a clone on Free, so I made that one through an existing paid Creator API account, with background noise removal off.</li></ul><h3>Fish Audio voice cloning vs ElevenLabs voice cloning</h3><p><strong>What this tests:</strong> can each tool sound like me from around 30 seconds of audio, and keep sounding like me when the line goes from everyday to relieved. I’m South African, so accent drift is easy for me to hear.</p><p>Both upload screens accepted the same file. ElevenLabs asks for at least 10 seconds and recommends 3 minutes for the best quality. Fish also asks for 10 seconds, and marks around 30 seconds as enough for most voices. My recording is well short of the ElevenLabs recommendation, so treat this as a test of a quick clone from limited audio.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1N27CLTv8b-ykNGm.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*yP--1sSHM5wh3TLa.png" /></figure><p>Both clones read the same new passage. It starts with everyday errands and ends on good news.</p><blockquote><em>I left my keys next to the kettle again. If you’re heading out, could you check whether the back door is locked? I should be home before the rain starts. Oh, and the good news: they finally approved the project! I can stop refreshing my inbox every five minutes. Let’s get dinner somewhere nice tonight.</em></blockquote><p><a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/#fish-audio-voice-cloning-vs-elevenlabs-voice-cloning">Listen to the ElevenLabs and Fish Audio voice clones on Techstackups</a></p><p>Fish wins on likeness, with a clone much closer to my accent and tone. There’s a hint of an American accent and the delivery is slightly sluggish, but it stayed recognisably me as the expression changed. It also sounds like someone reading text, which is fair, because the reference was me reading from my phone.</p><p>ElevenLabs sounds crisper, and its expression is more distinct. But on “they finally approved the project!” it sounded like a different person. Fish delivered that line as relief rather than excitement, which I think suits someone who can finally stop refreshing their inbox, and it kept more of my identity while doing it.</p><p>The Fish clip is a little damp next to ElevenLabs, and I’m happy to trade that for sounding like myself. To me the ElevenLabs clone sounded as if it had generalised my voice into something more generic. That’s a listening impression, and I can’t confirm anything about what’s actually going on in the background.</p><p>If I had to use one of these clones, I’d pick Fish. Neither is good enough that someone who knows my voice would definitely believe it was me, because the accent differences are still audible. I’d expect Fish’s Professional Voice Cloning to do better, but I didn’t test it.</p><h4>Where the paywalls are</h4><p>ElevenLabs let me upload the recording, listen to previews and see labels it had inferred from my voice. I liked that, and I thought the labels were accurate.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/0*9kf5W3gMoxtv15kV.png" /></figure><p>Then I clicked <strong>Save voice</strong> and hit a paywall. Instant cloning needs at least the Starter plan, and nothing earlier in the flow had made that clear to me. I’d rather find out before uploading my voice and going through the setup.</p><p>Fish let me create the clone on Free, but only as a public voice. Making it private needs a paid plan. I deleted the public Fish clone and the temporary ElevenLabs clone after the test. Deletion removes the voice from your list, but Fish’s terms include licences over publicly submitted content, so don’t assume deleting a public clone undoes everything.</p><p>Only clone a voice you own or have permission to use.</p><h3>Fish Audio TTS vs ElevenLabs: natural delivery and emotion</h3><p><strong>What this tests:</strong> whether each voice finds the emotion in a script on its own, and then how well it follows direction. The script is someone getting good news at work and then remembering it isn’t public yet.</p><blockquote><em>I wasn’t going to tell anyone. We got the Lisbon project! I read the email three times before I believed it. Anyway, don’t tell anyone yet. It’s not official until Friday. Right. Now I just have to work out how to tell the team without grinning like an idiot.</em></blockquote><p><a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/#natural-read-no-tags">Compare the natural reads on Techstackups</a></p><p>ElevenLabs sounded more human to me. At 0:02 it puts excitement into “we got the Lisbon project!”, and the pause around “Right.” sounds like someone collecting their thoughts.</p><p>Fish inferred the emotion too. At 0:07 it slows down on “three times” to stress how often the email was read, which is a nice touch. Both handled “grinning like an idiot” well. The problem is the voice itself, which reminded me of older AI text to speech and made the emotion less convincing.</p><p>That verdict is about these two stock voices, and a different Fish voice could change it. I’d use the ElevenLabs take as it is.</p><h4>Directed read, with tags</h4><p>The directed version keeps the same words and adds tags. Here’s the ElevenLabs script:</p><blockquote><em>[whispers] I wasn’t going to tell anyone. [excited] We got the Lisbon project! I read the email three times before I believed it. [whispers] Anyway, don’t tell anyone yet. It’s not official until Friday. [pause] Right. [laughs] Now I just have to work out how to tell the team without grinning like an idiot.</em></blockquote><p>Fish got the same script with [whispering] and [laughing] in place of [whispers] and [laughs].</p><p><a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/#directed-read-with-tags">Compare the directed reads on Techstackups</a></p><p>Direction made both tools more expressive, and so more human, but ElevenLabs was still better. At 0:04 it speeds into the next sentence while holding on to the excitement from the one before, and it sounds like one person continuing a thought. Its laugh fits the conversation.</p><p>Fish sounded as though each sentence had been given its own emotion and followed it literally. At 0:10 the switch to a whisper is abrupt and a bit uncanny, and the pace stays the same whatever the expression. Its laugh sounds like it’s laughing because it was told to. I didn’t hear either tool read a tag aloud or skip one, and I’d use the ElevenLabs directed take as it is.</p><h3>Names, numbers and hard text<a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/#names-numbers-and-hard-text">​</a></h3><p><strong>What this tests:</strong> the kind of appointment message a clinic might send. It has a name, a date, a time, a currency amount, a booking reference, a phone number and a network frequency, with no tags on either side.</p><blockquote><em>Hi, it’s Dr. Nkosi’s office. Your appointment is on 3 April 2026 at 14:45. The total is R1,249.50. Your booking reference is A-7419-X. If you need to change it, call 0800 555 0147. For the video appointment, please use the 2.4 GHz network if the other connection drops. Thanks, and we’ll see you on Friday.</em></blockquote><p><a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/#names-numbers-and-hard-text">Hear the names and numbers test on Techstackups</a></p><p>ElevenLabs recognised R1,249.50 as rand and read the amount and the cents correctly. Fish made the most serious error in this test. What I heard was “R one million two hundred forty-nine dollars and fifty cents”, which gets both the size of the amount and the currency wrong. I’d treat that as a serious error in anything that tells a customer what they owe.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jFQq21eSvWw0dN5Hijc70A.png" /></figure><p>Both read 14:45 and 2.4 GHz correctly.</p><p>Spoken separators in the booking reference help when someone has to read it back, because they mark where the parts break. The phone number is more a matter of taste, since Fish got the digits right but sounds odd mixing “oh” and “zero”. My one wish for ElevenLabs is “oh-eight-hundred” for 0800, which is how Gemini read it in <a href="https://techstackups.com/comparisons/gemini-vs-elevenlabs-voice-cloning-tts/">my Gemini vs ElevenLabs comparison</a>.</p><p>ElevenLabs wins this by a long way, and it also ended the paragraph more naturally. Its take would need far less editing before I’d use it. I didn’t try correcting Fish’s reading.</p><h3>Is Fish Audio free? Fish Audio vs ElevenLabs pricing</h3><p>Yes, Fish Audio’s free plan gives you 8,000 credits a month, and it let me clone my voice as long as the clone was public. ElevenLabs is free for text to speech, but saving a voice clone needs a paid plan. Prices below were checked on 15 October 2026, in US dollars.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*z7h3320d8ObnF6lvU0vdoA.png" /></figure><p>ElevenLabs’ professional cloning starts on Creator at $22 a month. Its annual billing charges ten months’ price for a year. Credits on the websites and dollars on the APIs are separate, so don’t convert one into the other.</p><p>My ElevenLabs website balance went from 6,064 to 5,191 credits for the two stock-voice tests. Fish went from 8,000 to 6,818, but that also covers the clone. The workloads are different, so these numbers don’t tell you which is cheaper.</p><p>Fish’s first-time tips were helpful when I added my first directed script. The biggest friction on ElevenLabs was finding out about the cloning paywall at the last step.</p><p>Both free plans restrict commercial use, so if you’re making something for paid work, check the plan and voice permissions first ( <a href="https://help.elevenlabs.io/hc/en-us/articles/13313564601361-Can-I-publish-the-content-I-generate-on-the-platform">ElevenLabs</a>, <a href="https://fish.audio/plan/">Fish Audio</a>).</p><h3>Is Fish Audio a good ElevenLabs alternative?</h3><p>For cloning your own voice from a short sample, yes. For ordinary text to speech, ElevenLabs was better in every stock-voice test I ran. This covers two models and four short tests, so for a wider view, see <a href="https://techstackups.com/comparisons/best-tts-2026-blind-benchmark/">Best TTS in 2026: blind benchmark</a> and <a href="https://techstackups.com/comparisons/cartesia-vs-elevenlabs/">Cartesia vs ElevenLabs</a>.</p><ul><li><strong>Ordinary voiceovers in English:</strong> ElevenLabs. Its stock voice sounded more human with and without direction.</li><li><strong>Anything with prices, references or phone numbers:</strong> ElevenLabs. After Fish’s currency error, I wouldn’t use it for that kind of text without checking every take.</li><li><strong>Cloning your own voice from a short sample:</strong> Fish. It sounded more like me.</li></ul><p><em>Originally published at </em><a href="https://techstackups.com/comparisons/fish-audio-vs-elevenlabs/"><em>https://techstackups.com</em></a><em> on October 15, 2026.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=532272948eb5" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/fish-audio-vs-elevenlabs-voice-cloning-tts-tech-stackups-532272948eb5">Fish Audio vs ElevenLabs: Voice Cloning &amp; TTS | Tech Stackups</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[MSI Titan 18 HX Dragon Edition Norse Myth AI Review: Can It Run Advanced AI Workloads Locally?]]></title>
            <link>https://medium.com/tech-stackups/msi-titan-18-hx-dragon-edition-norse-myth-ai-review-can-it-run-advanced-ai-workloads-locally-413c8ef63f43?source=rss----a9b08524fc1a---4</link>
            <guid isPermaLink="false">https://medium.com/p/413c8ef63f43</guid>
            <category><![CDATA[gaming]]></category>
            <category><![CDATA[large-language-models]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[nvidia]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Lewis]]></dc:creator>
            <pubDate>Wed, 16 Sep 2026 07:11:20 GMT</pubDate>
            <atom:updated>2026-09-16T07:11:20.572Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*4PkSUTThcijqSOdi.jpg" /></figure><p>Watch the MSI Titan 18 HX run Qwen3.8-Flash-Next locally:</p><p><a href="https://www.youtube.com/watch?v=4pk0wAULBCE">Watch the MSI Titan 18 HX run Qwen3.8-Flash-Next locally on YouTube</a></p><p>At the forefront of the AI race, Anthropic, OpenAI, and the other big players have been all over mainstream news for a couple of years now. As of August 2026, many people are comparing GPT Sol to Fable and sharing the latest attempts to one-shot a GTA clone. However, there is another race going on that gets much less attention, led by some lesser-known AI companies. Open-weight mixture-of-experts models such as Qwen have improved dramatically in capability, efficiency, and general usefulness. As they become more efficient, running them on consumer-grade hardware becomes more feasible.</p><p>MSI recently sent us one of its Titan laptops to experiment with, and we had one main question: Can you really run a useful LLM on a laptop?</p><p>The quick answer is yes, and the experience was much better than we expected. As a slightly cheesy example, here is a playable Three.js game that the local model one-shotted as a single HTML file: <strong>Press start</strong></p><p><a href="https://techstackups.com/demos/msi-titan-ai-review/qwen-lane-runner.html"><strong>Play the Qwen-built lane runner on TechStackUps →</strong></a></p><h3>The Titan Is More Workstation Than Gaming Laptop</h3><p>Okay, so we mentioned that it is becoming feasible to run local models on consumer hardware. It is getting there, but this particular laptop from MSI is not your standard student laptop. It does not even really qualify as a high-end gaming laptop. It is closer to a chunk of the supercomputer hardware you might rent from <a href="https://vast.ai/">Vast.ai</a> or <a href="https://lambda.ai/">Lambda</a>, except that it comes with a keyboard and an enormous screen.</p><h3>96 GB of RAM Makes Local Qwen Possible</h3><p>The laptop has an Intel Core Ultra 9 285HX and an RTX 5090 Laptop GPU. Most importantly for this use case, it also has 96 GB of DDR5 RAM. The main specifications are:</p><ul><li><strong>CPU:</strong> Intel Core Ultra 9 285HX</li><li><strong>GPU:</strong> NVIDIA GeForce RTX 5090 Laptop GPU with 24 GB GDDR7 VRAM</li><li><strong>Memory:</strong> 96 GB DDR5–6400 RAM</li><li><strong>Display:</strong> 18-inch 3840 × 2400 Mini LED, 120 Hz</li><li><strong>Storage:</strong> 2 TB PCIe Gen5 SSD plus 4 TB PCIe Gen4 SSD</li></ul><p>The 24 GB of VRAM is great, but the unusually large pool of system RAM is what makes this machine interesting for models that cannot fit entirely on the GPU. You can find the complete configuration on the <a href="https://us.msi.com/Laptop/Titan-18-HX-Dragon-Edition-Norse-Myth-A2XWX/Specification">MSI specification page</a>.</p><h3>The Dragon Edition Fully Commits to the Theme</h3><p>It also looks really cool. With an embossed aluminum top panel, a 4K display, and fancy gamer lights, the Titan looks and feels like a piece of premium technology. Lots of dragons. Battery for scale.</p><p>Our package also came with a matching gaming mouse and mouse pad, plus an enormous 400 W charging brick.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/0*5gDVlnGqR0GJzMua.jpg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/0*4MmOHzE6zmLCO5bP.jpg" /></figure><h3>A 180-Billion-Parameter Model Fits, but Only at 2 Bits</h3><p>We originally planned to test several local models on this hardware, but then, with excellent timing, Alibaba’s Qwen team released <a href="https://huggingface.co/Qwen/Qwen3.8-Flash-Next">Qwen3.8-Flash-Next</a>. It is an open-weight mixture-of-experts model with 180 billion total parameters, but it activates only a small fraction of them for each token. That makes it far more practical to run locally than the headline parameter count suggests.</p><p>The full-precision model is still far too large for a laptop, so we used Unsloth’s 2-bit UD-Q2_K_XL GGUF quantization. The download is about 73.5 GB. At runtime, it used roughly 21 GB of the RTX 5090&#39;s VRAM and about 75 GB of system RAM, leaving enough headroom for Windows, our agent harness, the monitor, and a browser. The model advertises support for up to 262,144 tokens of context. We tested it with a 32,768-token server allocation, but we did not establish that as the laptop&#39;s maximum.</p><p>We therefore kept the tests focused on this Qwen model and compared it primarily with OpenAI’s GPT-5.6 Luna, a cheap and capable cloud model.</p><h3>Qwen Was Easy to Install but Needed Manual Tuning</h3><p>Installing the model and getting it running locally mostly required us to follow <a href="https://unsloth.ai/docs/models/qwen3.8-next">Unsloth’s Qwen3.8-Next guide</a>. The out-of-the-box settings did not provide the best starting point, though: automatic memory fitting initially reduced the context to 8,192 tokens, which hurt performance considerably until we manually raised it.</p><p>Loading the 73.5 GB model from cold took 60.1 seconds.</p><h3>Pi Kept the Local and Cloud Tests Comparable</h3><p>To compare the models easily, and because we generally like using it, we installed <a href="https://pi.dev/docs/latest">Pi</a> as our agent harness.</p><p>This added another layer of configuration, which complicated later troubleshooting. Pi also loads its standard tool definitions into the context before a task begins, which is worth remembering when comparing context use with a direct API call.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*T7gCvVekXvRaDY6u.png" /></figure><h3>MSI Center and Our Dashboard Tracked Hardware and Tokens</h3><p>The laptop came with MSI Center pre-installed. For every test, we kept the laptop connected to its 400 W charger and selected the Extreme Performance profile under User Scenario. We used the Hardware Monitoring view in MSI Center to watch CPU and GPU load and temperatures, memory use, and other system values while Qwen ran.</p><p>For the model-side measurements, we got Codex to make a small companion app that tails the latest JSONL session from Pi or Codex. It reports the outcome, elapsed time, generated tokens, thinking share, context use, and cache use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*e6Xsc2aC4hoCg2YI.png" /></figure><h3>Qwen Overthought the Easy Test, Stayed Cool, and Built the Better Game</h3><p>We were not trying to produce a leaderboard from a handful of prompts. Instead, we picked tasks that exposed different parts of the experience: how the model uses its thinking budget, what a long agentic task does to the laptop, and whether the final output actually works.</p><h3>Fibonacci: Qwen Did Nine Times More Work Than Necessary</h3><p>We started with the smallest possible coding task: “Write me Fibonacci in Python and save it to a file.”</p><p>The clip below shows the local run in progress. MSI Center tracks CPU and GPU load in the top left, our companion dashboard tracks time, tokens, and context below it, and Pi shows Qwen’s work on the right.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*xgmbJ5JGz8997-wW.jpg" /></figure><p><a href="https://techstackups.com/img/articles/msi-titan-18-hx-ai-review/qwen-fibonacci-monitor-full.mp4">Watch the full video clip on TechStackUps →</a></p><p>With its thinking budget turned up, Qwen produced four implementations, including an O(log n) fast-doubling version. It also added command-line arguments, type hints, validation, and tests, and used four tool calls. The result took 71 seconds and generated 1,647 output tokens.</p><p>Luna took eight seconds, generated 177 output tokens, and wrote a basic 12-line function. Qwen’s work was better, but for this prompt it was comically over-engineered. Separate direct benchmarks put Qwen’s dependable generation rate between 26 and 33 tokens per second. Raw speed was not the problem here; it decided to do about nine times as much work.</p><p>That gave us a useful early lesson: a large thinking budget is not free intelligence. We switched thinking off for the remaining tests, and Qwen became much more direct without a noticeable drop in the quality of the results.</p><h3>Pelican: 89 GB of RAM and No Thermal Throttling</h3><p>The next test came from <a href="https://simonwillison.net/2026/Aug/16/qwen-38-27b/">Simon Willison’s Qwen3.8-Flash-Next write-up</a>: create an SVG of a pelican riding a bicycle. Our early results were highly variable. Sometimes the model put real effort into the illustration; sometimes it did the least it could possibly get away with.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*32KigxJ_iwLd3J2X.png" /></figure><p>To make the comparison less dependent on how ambitious either model happened to feel, we added the word “detailed” to the prompt and ran it again with Qwen and Luna. Qwen is on the left below, and Luna is on the right. Both produced a recognizable, fairly detailed pelican on a bicycle, and Qwen’s version looks substantially better.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tiZnBjQPD1IjCjJN.png" /></figure><p>During the local run, system RAM peaked at about 89 GB, and VRAM stayed near 21.8 GB. The GPU peaked at 69°C and roughly 111 W. In a separate eight-minute sustained run, it again topped out at 69°C, averaged 63.7°C, and reached a brief 213.5 W power peak without thermal throttling or an upward temperature trend.</p><p>The fans are not subtle. In one 90-second sample near the laptop, a phone sound meter averaged 62.1 dB-A and showed 65.7 dB-A when we took the screenshot. This is not a calibrated lab measurement, but it accurately captures the experience: under sustained load, the Titan sounds like it is moving a lot of air.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/597/0*MglPO0NkQWayNHwn.jpg" /></figure><p>While watching MSI Center, we saw the CPU temperature peak at about 89°C. When the job finished, it quickly dropped to its idle range of about 45°C to 50°C.</p><p>In other words, the model pushed the memory and cooling system hard, but we did not hit a practical hardware limit. The laptop shed heat quickly, remained responsive throughout the run, and never throttled or crashed.</p><h3>Three.js: Qwen Was Slower but Built the Only Playable Game</h3><p>For the final test, we asked both agents to make a three-lane endless runner in Three.js as a single HTML file. The prompt specified 21 requirements, including jumping, lane changes, obstacles, collisions, scoring, and restarting.</p><p>Qwen took five minutes and 36 seconds, used 18 tool calls, and generated 9,266 output tokens. Luna took one minute and 37 seconds, used six tool calls, and generated 4,314 output tokens. However, Luna’s attempt was vastly inferior.</p><p>Although the score increased and the obstacles moved, the player was invisible because the camera framing placed it below the viewport. It also looked much more amateurish than Qwen’s attempt and showed little ambition in its visuals. This is exactly why we care more about the output than a benchmark score.</p><p>The short clips below show the two results side by side.</p><p><strong>Qwen: slower, but playable</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QqnDMn82N1vvDunN.jpg" /></figure><p><a href="https://techstackups.com/img/articles/msi-titan-18-hx-ai-review/qwen-game.mp4">Watch the full video clip on TechStackUps →</a></p><p><strong>Luna: faster, but where is the player?</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1NY4QG3S3iXwkC9N.jpg" /></figure><p><a href="https://techstackups.com/img/articles/msi-titan-18-hx-ai-review/luna-game.mp4">Watch the full video clip on TechStackUps →</a></p><p>The local model took more time and used more tokens, but it also produced the better result.</p><h3>Local AI Is a Great Bonus, Not a Business Case</h3><p>The exact configuration we tested, with 96 GB of RAM, an RTX 5090, and 6 TB of storage, has been listed for about <a href="https://www.newegg.com/msi-titan-18-18-0-geforce-rtx-5090-laptop-gpu-intel-core-ultra-9-285hx-uhd-96gb-memory-2tb-nvme-ssd-gen5x4-4tb-nvme-ssd-gen4x4-ssd/p/N82E16834156784">$6,200</a>. Prices and availability vary, but that gives us a reasonable figure for a rough comparison. If the only goal is to avoid an AI bill, the math is brutal.</p><ul><li><a href="https://help.openai.com/en/articles/6950777-what-is-chatgpt-plus"><strong>ChatGPT Plus at $20 per month</strong></a><strong>:</strong> About 26 years</li><li><a href="https://help.openai.com/en/articles/9793128-what-is-chatgpt-pro"><strong>ChatGPT Pro at $200 per month</strong></a><strong>:</strong> About 31 months</li><li><a href="https://developers.openai.com/api/docs/models/gpt-5.6-luna"><strong>GPT-5.6 Luna output tokens at $1.20 per million</strong></a><strong>:</strong> About 5.2 billion tokens</li></ul><p>That token figure is deliberately generous to the laptop. Output is Luna’s most expensive token category, so a realistic mix of cheaper input, cached-input, and output tokens would require even more total tokens to reach $6,200. This also ignores the laptop’s electricity use and depreciation, and assumes that a local model can replace every feature of the cloud service.</p><p>As a purchase dedicated to running local LLMs, the Titan does not make financial sense. But that is not really the strongest case for it. If you already want a very powerful laptop for gaming, rendering, video editing, machine learning, or other heavy workflows, adding a capable, private local LLM to your toolbox is definitely worthwhile. Treat local inference as a valuable bonus, not the reason the machine pays for itself.</p><h3>FAQ</h3><h3>Can the MSI Titan 18 HX Run Large AI Models Locally?</h3><p>Yes. We ran a 180-billion-parameter model using a 2-bit quantization, with the weights split between the RTX 5090’s VRAM and system RAM. The machine handled it reliably, although the 89 GB RAM peak leaves little room for a larger model, higher-precision weights, or a much larger context allocation.</p><h3>Which Local AI Workloads Suit the Titan Best?</h3><p>It makes the most sense for single-user coding agents, rapid prototyping, and generative tasks where local processing, privacy, or avoiding per-token charges matters. It is less compelling as a high-throughput server or a machine shared by several users.</p><h3>Can It Replace a Desktop AI Workstation or Cloud Platform?</h3><p>For some single-user workflows, yes, but not completely. It provides workstation-class local inference in a portable package, while a desktop remains easier to upgrade and cloud platforms offer a wider choice of frontier models and scalable compute.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=413c8ef63f43" width="1" height="1" alt=""><hr><p><a href="https://medium.com/tech-stackups/msi-titan-18-hx-dragon-edition-norse-myth-ai-review-can-it-run-advanced-ai-workloads-locally-413c8ef63f43">MSI Titan 18 HX Dragon Edition Norse Myth AI Review: Can It Run Advanced AI Workloads Locally?</a> was originally published in <a href="https://medium.com/tech-stackups">Tech Stackups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>