<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>josh.miami</title>
    <link>https://josh.miami</link>
    <description>Josh Echeverri's blog</description>
    <item>
      <title><![CDATA[Anthropic's Mythos card reads like a containment memo]]></title>
      <link>https://josh.miami/posts/mythos-containment-memo</link>
      <guid>https://josh.miami/posts/mythos-containment-memo</guid>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Anthropic built a stronger model and decided not to broadly ship it. That alone separates this from the usual frontier-model promo cycle. Skynet is a stupid frame for it. What's actually in the card is duller and a lot more serious.]]></description>
    </item>
    <item>
      <title><![CDATA[I built a starter template because I kept rebuilding the same thing]]></title>
      <link>https://josh.miami/posts/monolith-industries</link>
      <guid>https://josh.miami/posts/monolith-industries</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Monolith Industries is a Next.js starter kit with auth, Supabase, Sentry, background jobs, and every tooling decision already made. It came from a real product. That's the whole point.]]></description>
    </item>
    <item>
      <title><![CDATA[I built a Pokemon game inside Claude Code's statusline]]></title>
      <link>https://josh.miami/posts/statusmon-day-one</link>
      <guid>https://josh.miami/posts/statusmon-day-one</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[What started as 'can I put a Pokemon in the status bar' turned into a full companion system with ANSI sprites, evolution chains, and a Pokedex. All in one session.]]></description>
    </item>
    <item>
      <title><![CDATA[TokenGolf hit v1.0 because the two-mode system was the wrong abstraction]]></title>
      <link>https://josh.miami/posts/token-golf-v1</link>
      <guid>https://josh.miami/posts/token-golf-v1</guid>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The wizard asked you to commit a budget before you knew what the session needed. Par replaced that question with a better one: how efficient were you given what actually happened?]]></description>
    </item>
    <item>
      <title><![CDATA[What I shipped today in TokenGolf v0.4.0]]></title>
      <link>https://josh.miami/posts/token-golf-v040</link>
      <guid>https://josh.miami/posts/token-golf-v040</guid>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Expansion and hardening at the same time. More achievements, more hooks, more structure, and the release infrastructure to keep the rules from drifting.]]></description>
    </item>
    <item>
      <title><![CDATA[Sunday was when TokenGolf stopped feeling bolted on]]></title>
      <link>https://josh.miami/posts/token-golf-sunday</link>
      <guid>https://josh.miami/posts/token-golf-sunday</guid>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[By the end of Saturday, the score was believable. Sunday became the day of friction removal and deeper integration.]]></description>
    </item>
    <item>
      <title><![CDATA[The repo looked done until I tried to run it]]></title>
      <link>https://josh.miami/posts/token-golf-saturday</link>
      <guid>https://josh.miami/posts/token-golf-saturday</guid>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Saturday was where TokenGolf stopped being a neat concept and started becoming a real tool. The first milestone had nothing to do with the game.]]></description>
    </item>
    <item>
      <title><![CDATA[The Half-Second Buffer]]></title>
      <link>https://josh.miami/posts/the-half-second-buffer</link>
      <guid>https://josh.miami/posts/the-half-second-buffer</guid>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[You're doing your best work. You get comfortable. Then you catch a hit you didn't see coming. ADHD, stoicism, and the skill nobody talks about.]]></description>
    </item>
    <item>
      <title><![CDATA[Claudedogged the blog]]></title>
      <link>https://josh.miami/posts/claudedogged-the-blog</link>
      <guid>https://josh.miami/posts/claudedogged-the-blog</guid>
      <pubDate>Sun, 01 Mar 2026 12:00:00 GMT</pubDate>
      <description><![CDATA[My blog was a piece of shit. I fixed it. Eight features, one session, three mistakes. I'm coining a term.]]></description>
    </item>
    <item>
      <title><![CDATA[TokenGolf started with a simple question: what if AI cost had stakes?]]></title>
      <link>https://josh.miami/posts/token-golf-origin</link>
      <guid>https://josh.miami/posts/token-golf-origin</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Claude Code already tracked cost. The weird part was that the number didn't really matter. TokenGolf started there.]]></description>
    </item>
    <item>
      <title><![CDATA[Publishing blog posts from my phone with Claude and GitHub Actions]]></title>
      <link>https://josh.miami/posts/publishing-blog-posts-from-my-phone-with-claude-and-github-actions</link>
      <guid>https://josh.miami/posts/publishing-blog-posts-from-my-phone-with-claude-and-github-actions</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Three files, a GitHub label, and a Claude skill. The whole setup for going from post idea on my phone to live on the site without touching a code editor.]]></description>
    </item>
    <item>
      <title><![CDATA[Two Claude Code tricks I actually use every day]]></title>
      <link>https://josh.miami/posts/claude-code-profiles-and-audio-hooks</link>
      <guid>https://josh.miami/posts/claude-code-profiles-and-audio-hooks</guid>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Profile switching for clean account separation, and audio notifications so you stop babysitting the terminal. Both take five minutes to set up.]]></description>
    </item>
    <item>
      <title><![CDATA[The Model Is Not the Variable Anymore. The System Is.]]></title>
      <link>https://josh.miami/posts/the-model-is-not-the-variable-the-system-is</link>
      <guid>https://josh.miami/posts/the-model-is-not-the-variable-the-system-is</guid>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The real shift was not becoming a power user. It was realizing the model was no longer the main variable. The surrounding system was.]]></description>
    </item>
    <item>
      <title><![CDATA[I Canceled Cursor. Claude Code Is the Default.]]></title>
      <link>https://josh.miami/posts/i-canceled-cursor-claude-code-is-the-default</link>
      <guid>https://josh.miami/posts/i-canceled-cursor-claude-code-is-the-default</guid>
      <pubDate>Thu, 09 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Canceling Cursor was not a dramatic decision. The overlap phase was already over. Claude Code is the default and has been for a while.]]></description>
    </item>
    <item>
      <title><![CDATA[Claude Code Was Winning. I Just Wasn't Listening.]]></title>
      <link>https://josh.miami/posts/claude-code-was-winning-i-just-wasnt-listening</link>
      <guid>https://josh.miami/posts/claude-code-was-winning-i-just-wasnt-listening</guid>
      <pubDate>Thu, 26 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[The switch was not clean. The old lane still existed, but the terminal was already taking the work that mattered most before I was ready to call it the default.]]></description>
    </item>
    <item>
      <title><![CDATA[I Stopped Defaulting to OpenAI]]></title>
      <link>https://josh.miami/posts/i-stopped-defaulting-to-openai</link>
      <guid>https://josh.miami/posts/i-stopped-defaulting-to-openai</guid>
      <pubDate>Thu, 13 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[There is a real difference between sampling a model and repeatedly choosing it. This is the point where the preference stopped being theory and started becoming habit.]]></description>
    </item>
    <item>
      <title><![CDATA[The Interface Was Solved. The Model Wasn't.]]></title>
      <link>https://josh.miami/posts/the-interface-was-solved-the-model-wasnt</link>
      <guid>https://josh.miami/posts/the-interface-was-solved-the-model-wasnt</guid>
      <pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Once the surface stopped being the problem, the more interesting question became which model actually fit the work. That is where the preference started shifting.]]></description>
    </item>
    <item>
      <title><![CDATA[Cursor Fixed the One Thing Browser AI Couldn't]]></title>
      <link>https://josh.miami/posts/cursor-fixed-the-one-thing-browser-ai-couldnt</link>
      <guid>https://josh.miami/posts/cursor-fixed-the-one-thing-browser-ai-couldnt</guid>
      <pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[The biggest shift was not a smarter model. It was finally putting the tool where the work already lived and cutting out a huge amount of pointless setup.]]></description>
    </item>
    <item>
      <title><![CDATA[Copying Code Into a Chat Box Is Not a Workflow]]></title>
      <link>https://josh.miami/posts/copying-code-into-a-chat-box-is-not-a-workflow</link>
      <guid>https://josh.miami/posts/copying-code-into-a-chat-box-is-not-a-workflow</guid>
      <pubDate>Thu, 18 Apr 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[The model is useful. The interface is the problem. Copying code into a detached chat box and hauling the answer back is a workaround, not a workflow.]]></description>
    </item>
    <item>
      <title><![CDATA[ChatGPT Replaced the Worst Part of Technical Search]]></title>
      <link>https://josh.miami/posts/chatgpt-replaced-the-worst-part-of-technical-search</link>
      <guid>https://josh.miami/posts/chatgpt-replaced-the-worst-part-of-technical-search</guid>
      <pubDate>Thu, 18 Jan 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[The first real shift was not replacing engineering. It was getting past the dumbest part of technical search faster and preserving momentum.]]></description>
    </item>
    <item>
      <title><![CDATA[It Is Getting Easier to Spin Up Ideas Than Finish Them]]></title>
      <link>https://josh.miami/posts/it-is-getting-easier-to-spin-up-ideas-than-finish-them</link>
      <guid>https://josh.miami/posts/it-is-getting-easier-to-spin-up-ideas-than-finish-them</guid>
      <pubDate>Thu, 09 Nov 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[Ideation cost is down. Shipping cost is unchanged. That gap is real and I have no reason to think it closes on its own.]]></description>
    </item>
    <item>
      <title><![CDATA[I Keep Opening It Before I Fully Trust It]]></title>
      <link>https://josh.miami/posts/i-keep-opening-it-before-i-fully-trust-it</link>
      <guid>https://josh.miami/posts/i-keep-opening-it-before-i-fully-trust-it</guid>
      <pubDate>Thu, 17 Aug 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[The usefulness has outrun the comfort. That is the honest state of things right now.]]></description>
    </item>
    <item>
      <title><![CDATA[ChatGPT Is Weirdly Good at Front-End Grind Work]]></title>
      <link>https://josh.miami/posts/chatgpt-is-weirdly-good-at-front-end-grind-work</link>
      <guid>https://josh.miami/posts/chatgpt-is-weirdly-good-at-front-end-grind-work</guid>
      <pubDate>Thu, 11 May 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[The model is not doing the architecture. It is doing the part nobody wants to do, and doing it fast enough to matter.]]></description>
    </item>
    <item>
      <title><![CDATA[ChatGPT Is Replacing the Dumbest Part of Search]]></title>
      <link>https://josh.miami/posts/chatgpt-is-replacing-the-dumbest-part-of-search</link>
      <guid>https://josh.miami/posts/chatgpt-is-replacing-the-dumbest-part-of-search</guid>
      <pubDate>Thu, 16 Feb 2023 00:00:00 GMT</pubDate>
      <description><![CDATA[The first 20 minutes of every technical problem have always been stupid. I stopped paying them.]]></description>
    </item>
    <item>
      <title><![CDATA[Redacting personal identifiable information with Pino.js]]></title>
      <link>https://josh.miami/posts/redacting-personal-identifying-information-with-pino</link>
      <guid>https://josh.miami/posts/redacting-personal-identifying-information-with-pino</guid>
      <pubDate>Fri, 04 Mar 2022 00:00:00 GMT</pubDate>
      <description><![CDATA[Before Pino 5, developers using Pino to manage their applications logs would add a library known as pino-noir to hide sensitive information. Now Pino 5 has redaction built right in! The developer documentation is excellent, but I figured a microblog about configuring Pino to target specific information would still be helpful as the pattern has changed slightly.]]></description>
    </item>
    <item>
      <title><![CDATA[Yikes, It's Been a While]]></title>
      <link>https://josh.miami/posts/yikes-its-been-a-while</link>
      <guid>https://josh.miami/posts/yikes-its-been-a-while</guid>
      <pubDate>Thu, 24 Feb 2022 00:00:00 GMT</pubDate>
      <description><![CDATA[Big yikes. I haven't written anything in a while for a myriad of reasons. The easiest one to lean into is just 'life,' and it's appropriate because it's been an interesting one these past few years. Not only have I leveled up exponentially as an engineer, but I've also just flat out survived being a human being.]]></description>
    </item>
    <item>
      <title><![CDATA[Front End Developers: Activate CSS Grid Layout in Chrome]]></title>
      <link>https://josh.miami/posts/web-developers-activate-css-grid-in-dev-tools</link>
      <guid>https://josh.miami/posts/web-developers-activate-css-grid-in-dev-tools</guid>
      <pubDate>Wed, 05 Apr 2017 00:00:00 GMT</pubDate>
      <description><![CDATA[You’re probably sitting there and thinking: “Well I already use a grid layout, so yeah…” Just give it a try. Google might seem overly ambitious at times, but there’s a few things that CSS Grid Layout does really well. Maybe even better that current conventions.]]></description>
    </item>
    <item>
      <title><![CDATA[This Should Be the Miami MetroMover Extension]]></title>
      <link>https://josh.miami/posts/this-should-be-the-miami-metromover-extension</link>
      <guid>https://josh.miami/posts/this-should-be-the-miami-metromover-extension</guid>
      <pubDate>Thu, 16 Jun 2016 00:00:00 GMT</pubDate>
      <description><![CDATA[As you can see, Miami’s mark as a world class city is clearly nonexistent until we have some sort of public transit infrastructure that let alone makes sense. Forget about rivaling any of these beautifully architectured public transportation lines, because it’s not happening.]]></description>
    </item>
    <item>
      <title><![CDATA[Parsing an RSS Feed in Ruby on Rails]]></title>
      <link>https://josh.miami/posts/parse-an-rss-feed-in-ruby-on-rails</link>
      <guid>https://josh.miami/posts/parse-an-rss-feed-in-ruby-on-rails</guid>
      <pubDate>Wed, 16 Mar 2016 00:00:00 GMT</pubDate>
      <description><![CDATA[Earlier this week I was tasked to parse some data from an RSS feed with Ruby. As soon as I start googling I get a bunch of stuff about “simple” ways with gem’s like “simple-rss” or “feedjira.” Both have great documentation, but Ruby is already easy enough sometimes.]]></description>
    </item>
    <item>
      <title><![CDATA[The Bitcoin Halvening is Among Us]]></title>
      <link>https://josh.miami/posts/the-bitcoin-halvening-is-among-us</link>
      <guid>https://josh.miami/posts/the-bitcoin-halvening-is-among-us</guid>
      <pubDate>Thu, 10 Mar 2016 00:00:00 GMT</pubDate>
      <description><![CDATA[On October 6th, 2014 the BearWhale was slain on the BitStamp exchange. The people at shapeshift.io commissioned two artists rendering of the event. The more humanistic version is depicted above.]]></description>
    </item>
    <item>
      <title><![CDATA[Set up an http server in node in 3 steps]]></title>
      <link>https://josh.miami/posts/set-up-an-http-server-in-node-in-3-steps</link>
      <guid>https://josh.miami/posts/set-up-an-http-server-in-node-in-3-steps</guid>
      <pubDate>Wed, 07 Oct 2015 00:00:00 GMT</pubDate>
      <description><![CDATA[There’s a lot of mobile bitcoin wallets out there in today’s app market. Which one you choose is a matter of personal preference and choice of features. Most have built out extensive security features like easy ways to backup your wallet and rotating addresses for every transaction. Here’s a concise guide on how to start your first Bitcoin wallet using Breadwallet.]]></description>
    </item>
    <item>
      <title><![CDATA[Bitcoin Wallet Guide 101: Breadwallet Part 2]]></title>
      <link>https://josh.miami/posts/bitcoin-wallet-guide-101-breadwallet-part-2</link>
      <guid>https://josh.miami/posts/bitcoin-wallet-guide-101-breadwallet-part-2</guid>
      <pubDate>Wed, 09 Sep 2015 00:00:00 GMT</pubDate>
      <description><![CDATA[There’s a lot of mobile bitcoin wallets out there in today’s app market. Which one you choose is a matter of personal preference and choice of features. Most have built out extensive security features like easy ways to backup your wallet and rotating addresses for every transaction. Here’s a concise guide on how to start your first Bitcoin wallet using Breadwallet.]]></description>
    </item>
    <item>
      <title><![CDATA[Bitcoin Wallet Guide 101: Breadwallet Part 1]]></title>
      <link>https://josh.miami/posts/bitcoin-wallet-guide-101-breadwallet-part-1</link>
      <guid>https://josh.miami/posts/bitcoin-wallet-guide-101-breadwallet-part-1</guid>
      <pubDate>Wed, 09 Sep 2015 00:00:00 GMT</pubDate>
      <description><![CDATA[There’s a lot of mobile bitcoin wallets out there in today’s app market. Which one you choose is a matter of personal preference and choice of features. Most have built out extensive security features like easy ways to backup your wallet and rotating addresses for every transaction. Here’s a concise guide on how to start your first Bitcoin wallet using Breadwallet.]]></description>
    </item>
  </channel>
</rss>