<?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: Master Saw</title>
    <description>The latest articles on DEV Community by Master Saw (@mastersaw).</description>
    <link>https://dev.to/mastersaw</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%2F3920199%2Facfce317-3f49-406a-b09f-f9039b83f512.png</url>
      <title>DEV Community: Master Saw</title>
      <link>https://dev.to/mastersaw</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mastersaw"/>
    <language>en</language>
    <item>
      <title>Building Yarrow: an AI I Ching divination SaaS in a few weeks (Next.js + Supabase + Stripe + DeepSeek)</title>
      <dc:creator>Master Saw</dc:creator>
      <pubDate>Fri, 08 May 2026 13:43:17 +0000</pubDate>
      <link>https://dev.to/mastersaw/building-yarrow-an-ai-i-ching-divination-saas-in-a-few-weeks-nextjs-supabase-stripe--dd9</link>
      <guid>https://dev.to/mastersaw/building-yarrow-an-ai-i-ching-divination-saas-in-a-few-weeks-nextjs-supabase-stripe--dd9</guid>
      <description>&lt;h2&gt;
  
  
  Hey 👋
&lt;/h2&gt;

&lt;p&gt;Just shipped &lt;strong&gt;Yarrow&lt;/strong&gt; — an I Ching ("Book of Changes") divination web app that uses an LLM to write the interpretation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live:&lt;/strong&gt; &lt;a href="https://iching.lifefinetuning.com" rel="noopener noreferrer"&gt;https://iching.lifefinetuning.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The flow
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;User types a question&lt;/li&gt;
&lt;li&gt;3 coins are tossed 6 times (the casting itself is &lt;strong&gt;pure logic&lt;/strong&gt;, no AI)&lt;/li&gt;
&lt;li&gt;The resulting King Wen hexagram (1 of 64) is identified, plus any changing-line transformation&lt;/li&gt;
&lt;li&gt;An LLM steeped in the Wilhelm/Baynes tradition writes the reading&lt;/li&gt;
&lt;li&gt;Responds in whatever language you asked in (English, Chinese, etc. — handled by the model)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 16&lt;/strong&gt; + Tailwind 4 + TypeScript on Vercel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; (auth + Postgres + magic-link email via Resend)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stripe&lt;/strong&gt; (monthly $9.99 / annual $79)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DeepSeek&lt;/strong&gt; for the AI (cheap, works well for both English and Chinese)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resend&lt;/strong&gt; for transactional email&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostHog&lt;/strong&gt; for product analytics + Session Replay&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Things I think are interesting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The hexagram engine is &lt;strong&gt;pure logic&lt;/strong&gt;, not AI. I encode all 64 hexagrams as binary strings and look up the King Wen number. The AI only writes the &lt;em&gt;interpretation&lt;/em&gt; — it can never hallucinate a hexagram.&lt;/li&gt;
&lt;li&gt;Each reading gets a public shareable URL (&lt;code&gt;/r/[id]&lt;/code&gt;) with its own dynamically generated OG image (your question + the hexagram visual).&lt;/li&gt;
&lt;li&gt;Anti-abuse: anonymous quota uses an IP+UA hash (not a cookie), so clearing cookies doesn't reset it. Reading slots are reserved BEFORE the AI call so people can't disconnect mid-stream to skip the count.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Free tier
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;1 reading per day anonymous&lt;/li&gt;
&lt;li&gt;3 per day signed-in&lt;/li&gt;
&lt;li&gt;Unlimited on subscription&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I'm looking for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;General UX feedback — is the page clear? Does it feel respectful or like fortune-cookie BS?&lt;/li&gt;
&lt;li&gt;I Ching practitioners — does the system prompt feel grounded or shallow?&lt;/li&gt;
&lt;li&gt;Other devs — anything you'd structure differently in the auth/payment/share flow?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solo builder in Malaysia. Happy to answer technical questions or hear honest criticism. 🙏&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>indiehackers</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
