<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Spidify SDK Blog</title>
        <link>https://Spidify-sdk.example.com/blog</link>
        <description>Spidify SDK Blog</description>
        <lastBuildDate>Tue, 19 May 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Introducing the Spidify SDK]]></title>
            <link>https://Spidify-sdk.example.com/blog/introducing-Spidify-sdk</link>
            <guid>https://Spidify-sdk.example.com/blog/introducing-Spidify-sdk</guid>
            <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[We are thrilled to announce the official release of the Spidify TypeScript SDK! 🚀]]></description>
            <content:encoded><![CDATA[<p>We are thrilled to announce the official release of the <strong>Spidify TypeScript SDK</strong>! 🚀</p>
<p>For months, we've been working on standardizing how developers integrate Spidify KYC workflows into their applications. With this release, we're providing a modular, production-ready toolkit designed for both speed and flexibility.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="why-a-sdk">Why a SDK?<a href="https://spidify-sdk.example.com/blog/introducing-Spidify-sdk#why-a-sdk" class="hash-link" aria-label="Direct link to Why a SDK?" title="Direct link to Why a SDK?" translate="no">​</a></h2>
<p>Previously, developers had to manually handle API calls, session tokens, state transitions, and UI components. It worked, but it took time.</p>
<p>Now, with our SDK, you have two amazing options:</p>
<ol>
<li class=""><strong>Managed UI</strong>: Drop an iframe into your app in less than 5 minutes.</li>
<li class=""><strong>Headless Engine</strong>: Build your own completely custom interface while we handle the complex backend orchestration and API state machine.</li>
</ol>
<p>We can't wait to see what you build! Check out our <a class="" href="https://spidify-sdk.example.com/docs/getting-started/introduction">Getting Started</a> guide to dive in.</p>]]></content:encoded>
            <category>Spidify</category>
            <category>sdk</category>
            <category>release</category>
        </item>
        <item>
            <title><![CDATA[The Power of Headless KYC]]></title>
            <link>https://Spidify-sdk.example.com/blog/the-power-of-headless-kyc</link>
            <guid>https://Spidify-sdk.example.com/blog/the-power-of-headless-kyc</guid>
            <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[When building a user onboarding flow, branding and user experience are everything. A jarring transition to a third-party KYC provider can result in drop-offs.]]></description>
            <content:encoded><![CDATA[<p>When building a user onboarding flow, branding and user experience are everything. A jarring transition to a third-party KYC provider can result in drop-offs.</p>
<p>That's why we built the <strong>Headless Engine</strong> (<code>KycSDK</code>) into our new TypeScript SDK.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="total-control">Total Control<a href="https://spidify-sdk.example.com/blog/the-power-of-headless-kyc#total-control" class="hash-link" aria-label="Direct link to Total Control" title="Direct link to Total Control" translate="no">​</a></h2>
<p>Unlike traditional iframe embeds, a headless architecture gives you the raw API orchestration logic without any UI constraints.</p>
<p>You can:</p>
<ul>
<li class="">Render forms exactly how your design team envisions them.</li>
<li class="">Insert your own intermediate steps (like asking for a referral code) directly inside the KYC flow.</li>
<li class="">Maintain a single-page application feel without any clunky redirects.</li>
</ul>
<p>Using our event-driven system, you simply listen for step changes:</p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">sdk</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token function" style="color:rgb(80, 250, 123)">on</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token string" style="color:rgb(255, 121, 198)">'step_started'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">event</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token operator">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">if</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">event</span><span class="token punctuation" style="color:rgb(248, 248, 242)">.</span><span class="token plain">step </span><span class="token operator">===</span><span class="token plain"> </span><span class="token string" style="color:rgb(255, 121, 198)">'otp-verification'</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token comment" style="color:rgb(98, 114, 164)">// Show your pixel-perfect custom OTP input</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">    </span><span class="token function" style="color:rgb(80, 250, 123)">renderCustomOtpComponent</span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">  </span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token punctuation" style="color:rgb(248, 248, 242)">}</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span><span class="token punctuation" style="color:rgb(248, 248, 242)">;</span><br></div></code></pre></div></div>
<p>It's the ultimate flexibility for engineering teams that demand perfection. Read more about it in our <a class="" href="https://spidify-sdk.example.com/docs/core-features/headless-engine">Core Features</a> documentation!</p>]]></content:encoded>
            <category>Spidify</category>
            <category>headless</category>
            <category>architecture</category>
        </item>
    </channel>
</rss>