<?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: Zyvv</title>
    <description>The latest articles on DEV Community by Zyvv (@zyvv).</description>
    <link>https://dev.to/zyvv</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%2F3981431%2Fd4ce98b4-778e-4791-a267-9c9abb2b9cd1.png</url>
      <title>DEV Community: Zyvv</title>
      <link>https://dev.to/zyvv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zyvv"/>
    <language>en</language>
    <item>
      <title>I built a decision protocol API. Here's why calling it is different from calling GPT-4 directly.</title>
      <dc:creator>Zyvv</dc:creator>
      <pubDate>Fri, 12 Jun 2026 15:55:03 +0000</pubDate>
      <link>https://dev.to/zyvv/i-built-a-decision-protocol-api-heres-why-calling-it-is-different-from-calling-gpt-4-directly-5hke</link>
      <guid>https://dev.to/zyvv/i-built-a-decision-protocol-api-heres-why-calling-it-is-different-from-calling-gpt-4-directly-5hke</guid>
      <description>&lt;p&gt;Most AI APIs return text and forget it happened.&lt;br&gt;
ZYVV API does something structurally different: every call you make writes a permanent row to a choices table — which door a user picked, the doubt they raised, the refined path they took. That dataset doesn't belong to you. It belongs to the collective. And it compounds.&lt;br&gt;
Here's what the call looks like:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://zyvv.app/api/v1/doors" rel="noopener noreferrer"&gt;https://zyvv.app/api/v1/doors&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer " \&lt;br&gt;
  -H "Content-Type: application/json" \&lt;br&gt;
  -d '{"situation": "I keep starting businesses that get traction but I always burn out at month 4"}'&lt;/p&gt;

&lt;p&gt;Response:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "situation_id": 4821,&lt;br&gt;
  "roast": "You're not burning out at month 4. You're succeeding at month 4 and panicking because success requires a different identity than hustle does.",&lt;br&gt;
  "doors": {&lt;br&gt;
    "conventional": {&lt;br&gt;
      "title": "Hire before you break",&lt;br&gt;
      "description": "The burnout is a hiring signal, not a willpower signal. Month 3 is when you bring in the first operator.",&lt;br&gt;
      "why_it_works": "Founders who burn out at scale are almost always doing work that a $4k/month hire could handle. The business isn't failing — you're under-leveraged."&lt;br&gt;
    },&lt;br&gt;
    "contrarian": {&lt;br&gt;
      "title": "Design the exit before you start",&lt;br&gt;
      "description": "Stop building to scale. Build to sell at month 6. The constraint forces clarity.",&lt;br&gt;
      "why_it_works": "A business built to be sold in 6 months has a cleaner structure, tighter metrics, and a natural handoff. Most solo founders burn out because they built something that only works if they're in it forever."&lt;br&gt;
    },&lt;br&gt;
    "alien": {&lt;br&gt;
      "title": "The problem isn't the business. It's the identity gap.",&lt;br&gt;
      "description": "You keep framing this as an endurance problem. It's a self-image problem. Month 4 is when you'd have to become a manager. You're allergic to managers. Fix that first.",&lt;br&gt;
      "why_it_works": "Every business you've built has hit the same wall at the same stage. The wall isn't external. You built it."&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;That situation_id carries through the full protocol. Your next call records which door they chose:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://zyvv.app/api/v1/choice" rel="noopener noreferrer"&gt;https://zyvv.app/api/v1/choice&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer " \&lt;br&gt;
  -H "Content-Type: application/json" \&lt;br&gt;
  -d '{"situation_id": 4821, "door_type": "alien"}'&lt;/p&gt;

&lt;p&gt;Then interrogation — the user raises a doubt, the protocol stress-tests it:&lt;/p&gt;

&lt;p&gt;curl -X POST &lt;a href="https://zyvv.app/api/v1/interrogate" rel="noopener noreferrer"&gt;https://zyvv.app/api/v1/interrogate&lt;/a&gt; \&lt;br&gt;
  -H "Authorization: Bearer " \&lt;br&gt;
  -H "Content-Type: application/json" \&lt;br&gt;
  -d '{"situation_id": 4821, "door_type": "alien", "objection": "I don'\''t have money to hire a therapist or coach to fix my identity"}'&lt;/p&gt;

&lt;p&gt;Three endpoints. The full Talmudic protocol. Every call writes to the same situations, doors, and choices tables as the consumer app at zyvv.app.&lt;br&gt;
Why that matters: in 6 months, ZYVV will know exactly why people reject the Alien door. The "no money for coaching" objection will be addressed by the door itself — proactively, before the user raises it. The protocol gets smarter. Every API call you make contributes to that.&lt;br&gt;
You're not just calling an AI. You're building the dataset.&lt;br&gt;
API key requests: [link] | Full endpoint reference: API.md&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>api</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
