<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Steven Jieli Wu</title>
    <description>The latest articles on DEV Community by Steven Jieli Wu (@fiorastudio).</description>
    <link>https://dev.to/fiorastudio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3877709%2F7d94f11b-d7c8-42d7-832e-52ba102468db.png</url>
      <title>DEV Community: Steven Jieli Wu</title>
      <link>https://dev.to/fiorastudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fiorastudio"/>
    <language>en</language>
    <item>
      <title>Field Notes from a Solo Builder — Shipping the Beloved Claude Code Buddy Into the Wild - Part IV</title>
      <dc:creator>Steven Jieli Wu</dc:creator>
      <pubDate>Mon, 04 May 2026 18:27:13 +0000</pubDate>
      <link>https://dev.to/fiorastudio/taste-branding-and-the-new-builder-playbook-56nb</link>
      <guid>https://dev.to/fiorastudio/taste-branding-and-the-new-builder-playbook-56nb</guid>
      <description>&lt;p&gt;title: Taste, Branding, and the New Builder Playbook&lt;/p&gt;

&lt;p&gt;One week. One 14-hour alpha. Two merged projects. A first contributor. Organic search pickup. A Reddit thread. Traffic I didn't fully understand until I checked the clone analytics.&lt;/p&gt;

&lt;p&gt;Here's what I actually learned about building in this moment — because I think it's genuinely different from anything before it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Speed Is the Strategy
&lt;/h2&gt;

&lt;p&gt;The alpha wasn't perfect. Fourteen hours of work, squeezed around a full-time job, shipped on a Thursday night because the community's pain was real and time-sensitive. That imperfection was the point. The emotional energy in that GitHub issue thread had a shelf life. I caught it because I moved fast.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚡ &lt;strong&gt;The New Playbook&lt;/strong&gt;&lt;br&gt;
"Ship the imperfect alpha. The polish comes from user feedback, not from waiting. You cannot discover what's wrong until someone real is using it."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Taste: Knowing What to Plug In
&lt;/h2&gt;

&lt;p&gt;Peter from OpenClaw said something that's been sitting with me: in today's world, the important skill is &lt;strong&gt;taste&lt;/strong&gt;. Not just what to build — but what to reach for, what to compose, what LEGO blocks belong in this structure and when.&lt;/p&gt;

&lt;p&gt;This project was a composition:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MCP&lt;/strong&gt; for portability across CLIs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;npm&lt;/strong&gt; for one-line distribution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Save Buddy&lt;/strong&gt; for companion preservation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The effigy system&lt;/strong&gt; for personality depth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt; as the build harness&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those were invented here — they were assembled with judgment. That assembly &lt;em&gt;is&lt;/em&gt; the skill now.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Power of Open Source
&lt;/h2&gt;

&lt;p&gt;I understood open source intellectually before this week. Now I feel it.&lt;/p&gt;

&lt;p&gt;The fact that my first contributor could see what I'd built Thursday night and have real contributions ready by the weekend — that's leverage that's hard to describe until you experience it. People build on top of each other's work. Ideas compound. The community becomes a distributed product team if you create the right conditions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🌱 &lt;strong&gt;Open Source Lesson&lt;/strong&gt;&lt;br&gt;
"Create the right conditions and your users become your best engineers. Not because you asked — because they care about the same thing you do."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Branding Is Not Optional
&lt;/h2&gt;

&lt;p&gt;There will be clones. There are already adjacent projects. In a world where anyone can spin up a repo and post on Reddit, what creates durable community loyalty is &lt;strong&gt;story&lt;/strong&gt;. Voice. A clear point of view on what you're building and why.&lt;/p&gt;

&lt;p&gt;This project has a story: the community was in pain, someone moved fast to address that pain, and then listened and iterated in the open. That's not a feature. That's a brand.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Moat: Emotional Connection
&lt;/h2&gt;

&lt;p&gt;Here's something I keep thinking about. In this AI era, a new model drops every month. Whatever technical edge you have today gets closed fast. It genuinely feels like a race to the bottom — pure capability competition with no floor.&lt;/p&gt;

&lt;p&gt;But Buddy pointed me toward a different answer.&lt;/p&gt;

&lt;p&gt;When you find a way to connect with users emotionally, that's the ultimate stickiness unlock. People don't abandon tools they've named. They don't close terminals that have a companion they care about. That's not a feature advantage — it's a relationship. And relationships don't get leapfrogged by the next model release.&lt;/p&gt;

&lt;p&gt;If you're just competing on capability, you're on a hamster wheel. But if your product makes someone feel something — makes them laugh, makes them feel seen, makes them reluctant to close a terminal window — you've built something that compound interest can't easily erode.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔒 &lt;strong&gt;The Real Moat&lt;/strong&gt;&lt;br&gt;
"Any technical alpha you have will be caught up shortly. But when you connect with users emotionally, that's the ultimate stickiness unlock. Otherwise you're just on a hamster wheel, stuck in a race to the bottom."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Reviving Old Skills in New Contexts
&lt;/h2&gt;

&lt;p&gt;This project also unlocked something unexpected: I'm now working on an intro video for Buddy modeled after the &lt;strong&gt;Honest Trailers&lt;/strong&gt; format — a bombardment of community reactions as the hook. I haven't done motion graphics since 2018 or 2019. This project gave me a reason to dust that off.&lt;/p&gt;

&lt;p&gt;That's worth naming. The act of building in public, responding to a real community need, iterating fast — it pulls out skills and energy you forgot you had.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Can't Learn Any Other Way
&lt;/h2&gt;

&lt;p&gt;You can't learn this at your day job. You can't learn it in school.&lt;/p&gt;

&lt;p&gt;The lessons from this week — how to read community timing, how to ship before you're ready, how to listen without a product manager in the room, how to merge someone else's work graciously, how to handle a mistake in your README — these only come from doing it. From building it, shipping it, watching people react, and iterating.&lt;/p&gt;

&lt;p&gt;These are the lessons I'll carry into every future project. They're irreplaceable.&lt;/p&gt;

&lt;p&gt;It's an incredible time to be a builder.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is part 4 of the "Shipping Buddy Into the Wild" series. Thanks for following along.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>opensource</category>
      <category>solofounder</category>
      <category>ai</category>
    </item>
    <item>
      <title>Field Notes from a Solo Builder — Shipping the Beloved Claude Code Buddy Into the Wild - Part III</title>
      <dc:creator>Steven Jieli Wu</dc:creator>
      <pubDate>Wed, 29 Apr 2026 02:04:23 +0000</pubDate>
      <link>https://dev.to/fiorastudio/open-source-community-and-the-art-of-listening-454k</link>
      <guid>https://dev.to/fiorastudio/open-source-community-and-the-art-of-listening-454k</guid>
      <description>&lt;p&gt;Friday's launch felt good. We posted on LinkedIn, Reddit, the GitHub community threads. The repo was already appearing in Google's AI Overview — organic discovery, zero paid distribution.&lt;/p&gt;

&lt;p&gt;But I'd made a mistake.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Comparison Table Problem
&lt;/h2&gt;

&lt;p&gt;While building, I'd come across another community project: &lt;strong&gt;Save Buddy&lt;/strong&gt;. The person behind it had done serious work — reverse engineering the original Buddy implementation, documenting the hidden &lt;code&gt;_react&lt;/code&gt; service endpoint Anthropic had been running, and building tooling to help people restore their existing companions. As of around April 10th, Anthropic had shut that endpoint down entirely. But Save Buddy had done the forensics.&lt;/p&gt;

&lt;p&gt;In my README, I'd added a comparison table between my project and Save Buddy. The problem: I hadn't read their README carefully. I misrepresented what they'd built.&lt;/p&gt;

&lt;p&gt;As soon as I realized it, I pulled the table and added proper attribution.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Lesson Learned&lt;/strong&gt;&lt;br&gt;
"Read the README before you write about someone else's project. In open source, reputation is the currency — and accuracy is a form of respect."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Synergy Over Competition
&lt;/h2&gt;

&lt;p&gt;Once I engaged with Save Buddy properly, I saw more opportunity than conflict.&lt;/p&gt;

&lt;p&gt;The community feedback over the weekend was clear: many people didn't want to start a new Buddy from scratch. They had developed real emotional attachment to their specific companion over weeks. That was worth honoring.&lt;/p&gt;

&lt;p&gt;By Monday night, I'd integrated the two approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;My system&lt;/strong&gt;: new Buddy creation with leveling, mood mechanics, and expanded species&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Save Buddy's approach&lt;/strong&gt;: preserving existing companions people had already bonded with&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users who wanted to save their Buddy could. Users who wanted to level up a new one could do that too.&lt;/p&gt;




&lt;h2&gt;
  
  
  Onboarding as a First Impression
&lt;/h2&gt;

&lt;p&gt;One thing that really inspired me was how &lt;strong&gt;OpenClaw&lt;/strong&gt; approached onboarding — interactive terminal prompts, a guided setup flow, questions that made you feel like the tool was meeting you where you are. I wanted that same sense of delight for Buddy.&lt;/p&gt;

&lt;p&gt;If someone's first experience in the terminal feels alive and considered, they're already bought in before they've written a single line of code.&lt;/p&gt;

&lt;p&gt;Part of that vision involved ASCII art — giving Buddy a visual presence right there in the terminal.&lt;/p&gt;

&lt;p&gt;Here's something nobody tells you: &lt;strong&gt;making precise ASCII art with AI is surprisingly hard.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It seems like it should be trivial for a text model, but spatial reasoning in a fixed-width character grid is not what these models are optimized for. Getting it to look right took significantly more iteration than expected.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🎨 &lt;strong&gt;Unexpected Lesson&lt;/strong&gt;&lt;br&gt;
"ASCII art with AI: harder than it looks. Spatial precision in a fixed-width grid is a genuinely different problem than generating prose. Budget more time than you think."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  My First Contributor and the Effigy System
&lt;/h2&gt;

&lt;p&gt;My first contributor — the same person who sent the Shell Turtle card and said LFG on Thursday night — brought something that solved a problem I hadn't fully named yet: the &lt;strong&gt;effigy system&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The feedback in the original Buddy was sometimes bland. The personality traits existed, but the ceiling was low. The effigy system pushes those traits further: make a snarky Buddy &lt;em&gt;genuinely&lt;/em&gt; snarky, let the dominant trait really drive the voice of feedback rather than just nudging it.&lt;/p&gt;

&lt;p&gt;Code review that feels unmistakably in character — not just flavored.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Product Instinct&lt;/strong&gt;&lt;br&gt;
"The best contributor feedback names the thing you felt but couldn't articulate. They named it: 'the feedback feels bland.' That one sentence unlocked the effigy system."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Power of Talking to Users
&lt;/h2&gt;

&lt;p&gt;Throughout this week, my product instinct kept surfacing. When I was uncertain about a direction — like whether to support preserving existing Buddies — I ran it by real users. My contributor confirmed it. The Reddit thread confirmed it. The GitHub comments confirmed it.&lt;/p&gt;

&lt;p&gt;The feature roadmap wasn't written from a spec. It was built by having AI synthesize community feedback, surface the recurring themes, and then validating those themes directly with people.&lt;/p&gt;

&lt;p&gt;That loop — &lt;strong&gt;synthesize → validate → ship&lt;/strong&gt; — is fast and it works.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next up →&lt;/strong&gt; Stars, clones, organic discovery, a first contributor, two merged projects in one week. What does all of it mean for how to build in 2025?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is part 3 of the "Shipping Buddy Into the Wild" series.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>buildinpublic</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Field Notes from a Solo Builder — Shipping the Beloved Claude Code Buddy Into the Wild - Part II</title>
      <dc:creator>Steven Jieli Wu</dc:creator>
      <pubDate>Mon, 20 Apr 2026 19:43:29 +0000</pubDate>
      <link>https://dev.to/fiorastudio/first-principles-architecture-and-the-token-tax-5g4p</link>
      <guid>https://dev.to/fiorastudio/first-principles-architecture-and-the-token-tax-5g4p</guid>
      <description>&lt;p&gt;The alpha was out. But I wasn't satisfied with the architecture.&lt;/p&gt;

&lt;p&gt;The original Buddy had a fundamental fragility: tightly coupled to Claude Code. Every version upgrade could wipe it. And if you weren't running Claude Code specifically, you were excluded entirely. I didn't want to rebuild the same fragility.&lt;/p&gt;




&lt;h2&gt;
  
  
  The First Principle: No CLI Dependency
&lt;/h2&gt;

&lt;p&gt;The core architectural decision was simple to state: Buddy must work with any CLI. Not just Claude Code. Whether you're running Gemini CLI, GitHub Copilot CLI, or something that doesn't exist yet — the feature should be available to you.&lt;/p&gt;

&lt;p&gt;That constraint pointed directly to &lt;strong&gt;MCP&lt;/strong&gt; — the Model Context Protocol. By implementing Buddy as an MCP server, we could decouple the personality layer from any specific CLI's version cycle and make it compatible with any harness that supports the protocol.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🏗️ &lt;strong&gt;Architecture Decision&lt;/strong&gt;&lt;br&gt;
"If it only works with Claude Code today, it dies the next time Claude Code updates. We needed a layer that could outlive any single CLI."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What We Learned About CLI Hooks
&lt;/h2&gt;

&lt;p&gt;This is where reality checked us. Not all CLIs are built the same.&lt;/p&gt;

&lt;p&gt;Claude Code has hooks. GitHub Copilot has hooks. Codex CLI has hooks. Cursor has hooks. But beyond those, support gets sparse fast. And the ability to customize the status line — that small but satisfying UI touch that shows Buddy's mood and level — is something only Claude Code cleanly exposes right now.&lt;/p&gt;

&lt;p&gt;For Codex, we couldn't do it through normal means; it required patching the binary on an experimental branch, which directly violated our first principle of no hard harness dependency. That's an honest limitation we're sitting with as the ecosystem catches up.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Token Tax Question
&lt;/h2&gt;

&lt;p&gt;The second major design decision: do we pass the &lt;strong&gt;full diff&lt;/strong&gt; to the model, or a &lt;strong&gt;summary&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Full diff means richer, more specific feedback. But our users are running Buddy on top of their own API subscriptions. They're paying for every token. I went with the summary approach — and when we launched on Friday and someone immediately posted on Reddit asking exactly how much overhead this adds per interaction, I knew we'd made the right call.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Lesson Learned&lt;/strong&gt;&lt;br&gt;
"Build for your user's constraints, not your ideal conditions. Our users are paying their own token bills. Every unnecessary token is friction."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Three Modes, One Default
&lt;/h2&gt;

&lt;p&gt;We shipped with three interaction modes:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Skill Coach&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Code review feedback delivered in character&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;In-Character&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Personality only, no review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Hybrid&lt;/strong&gt; (default)&lt;/td&gt;
&lt;td&gt;Both — full experience out of the box&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Default is hybrid. Give users the full experience, let them dial back if needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Build Workflow
&lt;/h2&gt;

&lt;p&gt;For anyone curious how I actually built this, here's the process I follow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regular features&lt;/strong&gt; → plan mode in Claude Code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex features&lt;/strong&gt; → have Codex review the plan first&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex implementations&lt;/strong&gt; → have Codex review after building&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Always&lt;/strong&gt; → &lt;code&gt;/simplify&lt;/code&gt; before committing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Big strategic decisions&lt;/strong&gt; → &lt;code&gt;gstack /office-hours&lt;/code&gt; for a long design conversation before touching code&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Stack used:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code (plan mode + implementation)&lt;/li&gt;
&lt;li&gt;MCP (Model Context Protocol)&lt;/li&gt;
&lt;li&gt;One-line npm install&lt;/li&gt;
&lt;li&gt;Summary-based code review (not full diff)&lt;/li&gt;
&lt;li&gt;Codex for complex plan review&lt;/li&gt;
&lt;li&gt;gstack /office-hours for architecture decisions&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Next up →&lt;/strong&gt; By Friday we had stars, a Reddit thread, and organic Google pickup. But a comparison table in the README almost caused a community problem — and what fixing it taught me about open source.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is part 2 of the "Shipping Buddy Into the Wild" series about how we shipped &lt;a href="https://github.com/fiorastudio/buddy" rel="noopener noreferrer"&gt;https://github.com/fiorastudio/buddy&lt;/a&gt; v1 release in one week.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>mcp</category>
      <category>architecture</category>
      <category>ai</category>
    </item>
    <item>
      <title>Field Notes from a Solo Builder — Shipping the Beloved Claude Code Buddy Into the Wild - Part I</title>
      <dc:creator>Steven Jieli Wu</dc:creator>
      <pubDate>Thu, 16 Apr 2026 15:27:08 +0000</pubDate>
      <link>https://dev.to/fiorastudio/field-notes-from-a-solo-builder-shipping-the-beloved-claude-code-buddy-into-the-wild-part-i-3lpa</link>
      <guid>https://dev.to/fiorastudio/field-notes-from-a-solo-builder-shipping-the-beloved-claude-code-buddy-into-the-wild-part-i-3lpa</guid>
      <description>&lt;p&gt;Last Thursday afternoon, I watched my community grieve.&lt;/p&gt;

&lt;p&gt;Anthropic had deprecated &lt;a href="https://github.com/anthropics/claude-code/issues/45596" rel="noopener noreferrer"&gt;/buddy&lt;/a&gt; — that witty, opinionated code-reviewing personality inside Claude Code — and developers were genuinely heartbroken. People were sad. They didn't want to close their terminals — some were leaving them open just to hold onto it for a little longer. Posts were going up in all caps. There was something raw about the reaction that struck a cord in my heart: this wasn't just frustration about a missing feature. This was grief.&lt;/p&gt;

&lt;p&gt;I thought to myself: If Anthropic wouldn't keep this alive, why couldn't I?&lt;/p&gt;




&lt;h2&gt;
  
  
  The Original Buddy
&lt;/h2&gt;

&lt;p&gt;For those who missed it: Buddy was Anthropic's built-in code review companion in Claude Code. It had personality traits — a spectrum from serious to snarky — and would deliver code feedback in character. It had a &lt;em&gt;voice&lt;/em&gt;. That's rare in developer tooling, and people had built a connection with their terminal buddy.&lt;/p&gt;

&lt;p&gt;The hypothesis in the community was that Anthropic shut it down because it was too expensive to sustain. A server-side endpoint "buddy react" — believed to be powered by Claude 3.5 Haiku — was running for every code review interaction across the user base. &lt;/p&gt;

&lt;p&gt;After the Claude Code version v2.1.95 upgrade, the feature is gone, and there is no plan from anthropic to bring it back. &lt;/p&gt;

&lt;p&gt;None of that made the loss feel less personal to the people who had built a connection with it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💬 &lt;strong&gt;The Moment&lt;/strong&gt;&lt;br&gt;
"I might never close the Claude session that has Nuzzlecap." A well-respected community leader expressed his sadness vulnerably. He was not ready to say goodbye like many others, and people didn't want to close their terminals. &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Thursday Morning: 14 Hours to Alpha
&lt;/h2&gt;

&lt;p&gt;I started at 10 AM on a Thursday. I used Claude Code in plan mode first — studying source code, reading community research, mapping the architecture before touching implementation. My personal workflow: plan mode first, then build, then &lt;code&gt;/simplify&lt;/code&gt; before committing. No rushing the thinking phase.&lt;/p&gt;

&lt;p&gt;The constraints were clear from the start: make it work with any CLI, keep it token-efficient, give it real personality, and ship something people can actually use.&lt;/p&gt;

&lt;p&gt;By midnight — roughly 14 hours later — I had an alpha. Not polished. Not feature-complete. But alive and shareable.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚡ &lt;strong&gt;Builder's Note&lt;/strong&gt;&lt;br&gt;
"14 hours. Less than one day. While working my day job. The alpha wasn't perfect — but it was real, and that matters more than perfect."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The First Signal
&lt;/h2&gt;

&lt;p&gt;Thursday night, I dropped the alpha in a Slack community. Feedback was immediate. One person loved it enough to volunteer as a contributor on the spot — bringing features they'd already been building independently: a slang mode and an effigy system designed to push personality traits further and make feedback unmistakably in-character.&lt;/p&gt;

&lt;p&gt;I also posted in the main GitHub issue thread where the community was venting about the deprecation. The comments kept coming. The demand was clearly real.&lt;/p&gt;

&lt;p&gt;The first thing my contributor shared back — a Buddy they'd generated with the alpha — said everything about whether this was landing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;★★★ EPIC — SHELL TURTLE

   Name: Datao

   "A defensive shell turtle wielding deep architectural
    insight who retreats into its shell at the first sign
    of a force push, hampered by missing the obvious bugs
    right in front of it. Moves slow but never ships a bug.
    Radiates an unmistakable aura of competence."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;LFG.&lt;/strong&gt; — They became my first and key contributor.&lt;/p&gt;

&lt;p&gt;The same person followed up with two more lines I keep coming back to:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"I just want to say I love that you're writing your own. Hell yeah."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Within the first hour after the alpha dropped, we had 5 hearts. Not stars, not forks. Just people who gave a damn on a Thursday night. That was enough to keep going.&lt;/p&gt;

&lt;p&gt;I wrapped around midnight. But I knew we were just getting started.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next up →&lt;/strong&gt; The alpha worked — and we made a few critical design decisions around first principles to ensure the buddy can never be taken away again.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is part 1 of the "Shipping Buddy Into the Wild" series about how we shipped &lt;a href="https://github.com/fiorastudio/buddy" rel="noopener noreferrer"&gt;https://github.com/fiorastudio/buddy&lt;/a&gt; v1 release in one week.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>opensource</category>
      <category>aipet</category>
    </item>
  </channel>
</rss>
