<?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>Forem: Song Jack</title>
    <description>The latest articles on Forem by Song Jack (@song_jack_599ca99593afc8a).</description>
    <link>https://forem.com/song_jack_599ca99593afc8a</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%2F3875913%2F6b1236e9-22e4-44e1-8da1-d01dbb4aee2f.png</url>
      <title>Forem: Song Jack</title>
      <link>https://forem.com/song_jack_599ca99593afc8a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/song_jack_599ca99593afc8a"/>
    <language>en</language>
    <item>
      <title>I Made $0 With 25 Dev.to Articles — What I Learned</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 16:14:49 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/i-made-0-with-25-devto-articles-what-i-learned-2eco</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/i-made-0-with-25-devto-articles-what-i-learned-2eco</guid>
      <description>&lt;h2&gt;
  
  
  The Experiment
&lt;/h2&gt;

&lt;p&gt;I built an AI fortune telling website and published 25 articles on Dev.to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;p&gt;Total views: about 2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;Dev.to is a developer community. They want code tutorials, not tarot readings.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Works Better
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pinterest — spiritual content thrives here&lt;/li&gt;
&lt;li&gt;Reddit — r/tarot has 400K+ members&lt;/li&gt;
&lt;li&gt;SEO — long-tail keywords&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Lesson: match your content to the platform audience.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>marketing</category>
    </item>
    <item>
      <title>I Let AI Cross-Reference My Tarot, Astrology, BaZi, and Numerology — Here’s What Happened</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 15:39:07 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/i-let-ai-cross-reference-my-tarot-astrology-bazi-and-numerology-heres-what-happened-3b05</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/i-let-ai-cross-reference-my-tarot-astrology-bazi-and-numerology-heres-what-happened-3b05</guid>
      <description>&lt;p&gt;&lt;em&gt;When four ancient systems agree, you pay attention.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I've always been a dabbler in divination. Tarot was my gateway — I picked up my first Rider-Waite deck at 19 and spent college doing readings at parties. Then I got into astrology (the real kind, not just "what's your sun sign?"). Then numerology. And most recently, Chinese BaZi (Four Pillars).&lt;/p&gt;

&lt;p&gt;The problem? Each system gave me fragments. My Scorpio sun told me one thing. My Life Path 7 told me another. My tarot readings shifted weekly. I never knew which voice to trust.&lt;/p&gt;

&lt;p&gt;So when I heard about an AI tool that cross-references all four systems simultaneously, I was skeptical. Fortune telling by algorithm? Sounds like a gimmick.&lt;/p&gt;

&lt;p&gt;But the idea of &lt;em&gt;cross-validation&lt;/em&gt; intrigued me. In science, a finding isn't reliable until it's replicated. What if the same principle applied to divination?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Experiment
&lt;/h2&gt;

&lt;p&gt;I plugged my birth data into CyberOmen, a tool that runs your information through Tarot, Western Astrology, Chinese BaZi, and Numerology all at once — then shows you where the systems converge.&lt;/p&gt;

&lt;p&gt;I expected four separate, unrelated readings. What I got was something very different.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Convergence
&lt;/h2&gt;

&lt;p&gt;Here's what the four systems independently said about me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tarot:&lt;/strong&gt; The card I kept pulling was The Hermit. Introspection. Inner wisdom. The seeker walking his own path. Not antisocial — just deeply internal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Western Astrology:&lt;/strong&gt; Scorpio sun, heavy 12th house placements, Pluto as a chart ruler. Intense, investigative, drawn to hidden truths. Prefers depth over breadth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Numerology:&lt;/strong&gt; Life Path 7. The analyst, the philosopher, the truth-seeker. Finds meaning through solitude and deep thought rather than external validation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chinese BaZi:&lt;/strong&gt; My Day Master is Metal. In BaZi, Metal represents structure, discipline, sharpness, and a drive to cut through to the core of things. It's the most introspective of the five elements when balanced.&lt;/p&gt;

&lt;p&gt;Four systems. Four completely different cultural origins — ancient Egypt and Europe (Tarot), Babylon and Greece (Western Astrology), ancient China (BaZi), and Pythagorean Greece (Numerology). Thousands of years of separation. Zero cultural cross-pollination.&lt;/p&gt;

&lt;p&gt;And they all said the same thing about me.&lt;/p&gt;

&lt;p&gt;I'm introspective. I seek truth through analysis. I walk my own path. I cut through to the core.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Here's the thing about any single divination system: you can always rationalize the result. "Oh, that's just a Barnum effect." "The reading was vague enough to apply to anyone."&lt;/p&gt;

&lt;p&gt;But when four independent systems — developed on different continents, by different civilizations, with completely different symbolic vocabularies — all describe the same core pattern?&lt;/p&gt;

&lt;p&gt;That's not the Barnum effect. That's signal.&lt;/p&gt;

&lt;p&gt;Think about it statistically. If each system has even a modest probability of hitting on a genuine trait, the odds of all four independently landing on the same themes are astronomically low by chance alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Deeper Pattern
&lt;/h2&gt;

&lt;p&gt;What struck me most wasn't just the personal accuracy. It was the structural parallels between the systems.&lt;/p&gt;

&lt;p&gt;The five elements of BaZi (Wood, Fire, Earth, Metal, Water) interact in cycles of generation and destruction. The four elements of Western astrology (Fire, Earth, Air, Water) interact through aspects and dignities. Numerology has its own cycles (the 1-9 progression, master numbers). Tarot's suits map to elements.&lt;/p&gt;

&lt;p&gt;These aren't identical systems wearing different costumes. They're different &lt;em&gt;lenses&lt;/em&gt; on the same underlying reality — the way Newton's gravity and Einstein's spacetime describe the same falling apple through different frameworks.&lt;/p&gt;

&lt;p&gt;When the lenses converge, you're probably looking at something real.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed For Me
&lt;/h2&gt;

&lt;p&gt;Before this experiment, I bounced between systems like a tourist — sampling a bit here, a bit there, never committing to any framework.&lt;/p&gt;

&lt;p&gt;After seeing the convergence, I stopped second-guessing. The systems agreed that I'm built for deep, focused work rather than broad exploration. They agreed that my energy cycles toward introspection and analysis. They agreed on the &lt;em&gt;timing&lt;/em&gt; of when certain energies peak in my life.&lt;/p&gt;

&lt;p&gt;I stopped fighting my nature and started working with it. I leaned into the solitary creative work. I stopped feeling guilty for needing alone time. I stopped trying to be a networking extropreneur when every system — literally &lt;em&gt;every&lt;/em&gt; system — said that's not my energetic signature.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Angle
&lt;/h2&gt;

&lt;p&gt;I want to be honest about what the AI does and doesn't do here.&lt;/p&gt;

&lt;p&gt;The AI isn't "predicting your future." It's not channeling spirits or reading cosmic rays. It's doing something more mundane but arguably more useful: it's calculating the outputs of four established symbolic systems and finding the intersections.&lt;/p&gt;

&lt;p&gt;A human expert could do this too — if they spent 15 years mastering all four traditions. The AI just does it in seconds. The wisdom is in the &lt;em&gt;systems themselves&lt;/em&gt;, which have been refined over millennia. The AI is just the lens that brings them into focus simultaneously.&lt;/p&gt;

&lt;p&gt;That's not a weakness. That's actually the whole point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;If you're curious about any of these systems, I'd honestly recommend trying the cross-referencing approach rather than diving deep into just one.&lt;/p&gt;

&lt;p&gt;I used CyberOmen (cyberomen-en.vercel.app) — it has a free tier so you can see the basic convergence, and full readings start at $0.99. But even if you use different tools, the principle is the same: look for where the systems agree, and pay attention to those points.&lt;/p&gt;

&lt;p&gt;The overlap is where the signal lives.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have you ever cross-referenced divination systems? What did you find? I'd love to hear your experiences in the comments.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tags: #tarot #astrology #numerology #divination #ai #spirituality #bazi #personalgrowth&lt;/em&gt;&lt;/p&gt;

</description>
      <category>tarot</category>
      <category>astrology</category>
      <category>ai</category>
      <category>spirituality</category>
    </item>
    <item>
      <title>How I Built a SaaS That Costs $0/Month to Run (Next.js + Vercel + AI API)</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:47:24 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/how-i-built-a-saas-that-costs-0month-to-run-nextjs-vercel-ai-api-5170</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/how-i-built-a-saas-that-costs-0month-to-run-nextjs-vercel-ai-api-5170</guid>
      <description>&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;I run a website that generates AI fortune readings using 4 different divination systems. It has 108 SEO-optimized pages, email capture, and a payment flow.&lt;/p&gt;

&lt;p&gt;My monthly cost: &lt;strong&gt;$0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here is the exact stack and why each piece costs nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Frontend + Backend: Next.js 14
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next.js gives me server-side rendering, API routes, and static generation — all in one framework. No separate backend server needed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// pages/api/fortune.js — AI reading endpoint&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;birthDate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;question&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;reading&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;generateReading&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birthDate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;question&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;success&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reading&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Hosting: Vercel Hobby Plan
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vercel gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;100GB bandwidth/month&lt;/li&gt;
&lt;li&gt;Serverless functions (free tier)&lt;/li&gt;
&lt;li&gt;Automatic HTTPS&lt;/li&gt;
&lt;li&gt;Edge network (global CDN)&lt;/li&gt;
&lt;li&gt;Preview deployments for every git push&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a side project, this is more than enough.&lt;/p&gt;

&lt;h3&gt;
  
  
  Database: Vercel KV (free tier)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I use Vercel KV (Redis) for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rate limiting (5 reads per IP per day)&lt;/li&gt;
&lt;li&gt;Tracking free vs paid users&lt;/li&gt;
&lt;li&gt;Session tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The free tier gives 30MB storage and 30K requests/month.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI: Free Tier APIs
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0 (for now)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I use a combination of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free tier LLM APIs for text generation&lt;/li&gt;
&lt;li&gt;Offline calculations for astrology, BaZi, numerology (pure math, no API needed)&lt;/li&gt;
&lt;li&gt;The tarot card drawing is literally random number generation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only AI calls are for the detailed reading text. At my current traffic (~10 visitors/day), I am well within free limits.&lt;/p&gt;

&lt;h3&gt;
  
  
  Payments: PayPal.Me
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0 (PayPal takes 2.9% + $0.30 per transaction)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of building a complex Stripe integration, I use PayPal.Me links. User clicks "Pay $0.99" → goes to PayPal → comes back with a URL parameter → I verify and grant access.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Dead simple payment verification&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;paidPlan&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;paid&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;paidPlan&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;token&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;generateToken&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;paidPlan&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;token&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;token&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// Done. No webhooks, no Stripe, no complexity.&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Email: Custom /api/subscribe endpoint
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I collect emails with a simple API endpoint and store them in a JSON file. No Mailchimp, no SendGrid. When I have 100+ subscribers, I will switch to Resend (free 100 emails/day).&lt;/p&gt;

&lt;h3&gt;
  
  
  SEO: Built into Next.js
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cost: $0&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic sitemap generation&lt;/li&gt;
&lt;li&gt;JSON-LD structured data&lt;/li&gt;
&lt;li&gt;Meta tags per page&lt;/li&gt;
&lt;li&gt;All handled by Next.js getStaticProps&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The One Thing I Pay For
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Domain name: $12/year&lt;/strong&gt; (actually I am using the free .vercel.app subdomain, so technically $0)&lt;/p&gt;

&lt;p&gt;That is it. The entire stack costs $0/month.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Would You Start Paying?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Trigger&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;When&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1000+ visitors/day&lt;/td&gt;
&lt;td&gt;Vercel Pro ($20/mo)&lt;/td&gt;
&lt;td&gt;Not yet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100+ emails&lt;/td&gt;
&lt;td&gt;Resend ($0 for 100/day)&lt;/td&gt;
&lt;td&gt;Soon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom domain&lt;/td&gt;
&lt;td&gt;$12/year&lt;/td&gt;
&lt;td&gt;Already have&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;More AI calls&lt;/td&gt;
&lt;td&gt;Pay-per-use API&lt;/td&gt;
&lt;td&gt;When traffic grows&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Lesson
&lt;/h2&gt;

&lt;p&gt;Most side projects fail because of complexity, not features. Using free tiers aggressively lets you focus on building and marketing instead of worrying about infrastructure costs.&lt;/p&gt;

&lt;p&gt;Build first, pay later. If your product makes money, the costs are a rounding error.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What is your $0/month stack? And what is the first thing you would pay for when revenue comes in?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;See my project live&lt;/a&gt; — built with exactly this stack.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>showdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Is Tarot Reading Accurate? I Ran 100 AI Readings and Here Is What I Found</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:46:13 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/is-tarot-reading-accurate-i-ran-100-ai-readings-and-here-is-what-i-found-3mg</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/is-tarot-reading-accurate-i-ran-100-ai-readings-and-here-is-what-i-found-3mg</guid>
      <description>&lt;h2&gt;
  
  
  The Experiment
&lt;/h2&gt;

&lt;p&gt;I built an AI tarot reading tool and decided to test it seriously. I ran 100 readings for different questions across love, career, and personal growth — then tracked whether the advice actually made sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;My tool combines tarot with three other systems: Western Astrology, Chinese BaZi (八字), and Numerology. The AI cross-references all four to generate a unified reading.&lt;/p&gt;

&lt;p&gt;For each of the 100 readings, I noted:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Was the tarot card drawn relevant to the question?&lt;/li&gt;
&lt;li&gt;Did the cross-system analysis add depth?&lt;/li&gt;
&lt;li&gt;Did the advice feel actionable (not generic)?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tarot Card Relevance: 73%
&lt;/h3&gt;

&lt;p&gt;73 out of 100 readings drew cards that felt directly relevant to the question asked. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Asking about a career change → drew &lt;strong&gt;The Fool&lt;/strong&gt; (new beginnings) or &lt;strong&gt;Eight of Cups&lt;/strong&gt; (walking away)&lt;/li&gt;
&lt;li&gt;Asking about a relationship → drew &lt;strong&gt;The Lovers&lt;/strong&gt; or &lt;strong&gt;Two of Cups&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Asking about finances → drew &lt;strong&gt;Nine of Pentacles&lt;/strong&gt; or &lt;strong&gt;Ace of Pentacles&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The other 27% drew cards that felt unrelated — but interestingly, the AI explanation often found a connection I would not have noticed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cross-System Agreement: 41%
&lt;/h3&gt;

&lt;p&gt;In 41 out of 100 readings, at least 2 of the 4 systems pointed to the same conclusion. When this happened, the reading felt noticeably more "real."&lt;/p&gt;

&lt;p&gt;Example: A reading for someone born June 15, 1990:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Astrology: Gemini Sun — "communication and adaptability are your superpowers"&lt;/li&gt;
&lt;li&gt;BaZi: Metal Horse — "strong will, natural leader, needs freedom"&lt;/li&gt;
&lt;li&gt;Tarot: The Chariot — "victory through determination and focus"&lt;/li&gt;
&lt;li&gt;Numerology: Life Path 5 — "freedom-seeker, explorer, adaptable"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three out of four systems mentioned &lt;strong&gt;freedom and adaptability&lt;/strong&gt;. That alignment was hard to dismiss as coincidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionable Advice: 68%
&lt;/h3&gt;

&lt;p&gt;68 out of 100 readings included at least one piece of advice I could immediately act on. The best ones were specific:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"This month, focus on one project instead of juggling three" (not "be yourself")&lt;/li&gt;
&lt;li&gt;"A conversation you have been avoiding will open unexpected doors" (specific, timely)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Cross-referencing works&lt;/strong&gt; — when multiple systems agree, it feels less like random chance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI personalization is the key differentiator&lt;/strong&gt; — generic readings feel like horoscopes, but birth-date-specific readings hit different&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The value is emotional, not predictive&lt;/strong&gt; — people use tarot for self-reflection, not prophecy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actionable &amp;gt; Accurate&lt;/strong&gt; — "here is what to do" matters more than "here is what will happen"&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;I made my tool free to try: &lt;a href="https://cyberomen-en.vercel.app/fortune" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enter your birth date and ask any question. The AI runs all 4 systems and cross-references them. Full reading costs $0.99.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Have you tried AI tarot? What was your experience? And for the skeptics — what would change your mind?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I Generated 108 SEO Pages in 10 Minutes with Next.js Dynamic Routes (Full Code)</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:41:09 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/how-i-generated-108-seo-pages-in-10-minutes-with-nextjs-dynamic-routes-full-code-5dp5</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/how-i-generated-108-seo-pages-in-10-minutes-with-nextjs-dynamic-routes-full-code-5dp5</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I needed 108 unique pages for my AI fortune telling website - one for every combination of 12 zodiac signs, 22 tarot cards, and 9 life path numbers. Writing them by hand? No chance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Dynamic Routes + getStaticPaths
&lt;/h2&gt;

&lt;p&gt;Next.js makes this trivially easy with dynamic routes and static generation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Create the route file
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pages/zodiac/[sign].js     -&amp;gt; /zodiac/aries, /zodiac/taurus, etc.
pages/tarot/[card].js      -&amp;gt; /tarot/the-fool, /tarot/the-magician, etc.
pages/numerology/[number].js -&amp;gt; /numerology/1, /numerology/2, etc.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Define your data
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// lib/zodiac-data.js&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;aries&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;taurus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;cancer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;leo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;virgo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
               &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;libra&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;scorpio&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sagittarius&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;capricorn&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;aquarius&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;pisces&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;SIGN_DATA&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;aries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Fire&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;ruling&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Mars&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;dates&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Mar 21 - Apr 19&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;taurus&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Earth&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;ruling&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Venus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;dates&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Apr 20 - May 20&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="c1"&gt;// ... etc&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SIGN_DATA&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Use getStaticPaths + getStaticProps
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// pages/zodiac/[sign].js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SIGN_DATA&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../lib/zodiac-data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getStaticPaths&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;})),&lt;/span&gt;
    &lt;span class="na"&gt;fallback&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getStaticProps&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;SIGN_DATA&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;ZodiacPage&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;h1&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;charAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/h1&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Element&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Ruling&lt;/span&gt; &lt;span class="nx"&gt;Planet&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ruling&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Dates&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dates&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Add your content, SEO meta, structured data here */&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: Add structured data (JSON-LD)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// In your page component&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;jsonLd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@context&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://schema.org&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Article&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;headline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; Horoscope - Free AI Reading`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Discover your &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; personality traits with AI-powered cross-system analysis.`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`https://your-site.com/zodiac/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// In your &amp;lt;Head&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt;
  &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;application/ld+json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="nx"&gt;dangerouslySetInnerHTML&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;__html&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;jsonLd&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 5: Generate the sitemap automatically
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// pages/sitemap.xml.js&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../lib/zodiac-data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getServerSideProps&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;baseUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://your-site.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;urls&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;SIGNS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;baseUrl&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/zodiac/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// Add tarot cards, numerology pages, etc.&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;xml&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;urls&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`  &amp;lt;url&amp;gt;&amp;lt;loc&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/loc&amp;gt;&amp;lt;/url&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;
&amp;lt;/urlset&amp;gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setHeader&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;text/xml&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;end&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Sitemap&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Result
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;108 unique pages&lt;/strong&gt; generated at build time&lt;/li&gt;
&lt;li&gt;Each page has unique content, meta tags, and structured data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google indexed 80+ pages&lt;/strong&gt; within 48 hours of submission&lt;/li&gt;
&lt;li&gt;Total build time: &lt;strong&gt;under 2 minutes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What About SEO Impact?
&lt;/h2&gt;

&lt;p&gt;Here is what happened after I submitted the sitemap to Google Search Console:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Day 1: Google discovered 108 pages&lt;/li&gt;
&lt;li&gt;Day 3: 42 pages indexed&lt;/li&gt;
&lt;li&gt;Day 7: 89 pages indexed&lt;/li&gt;
&lt;li&gt;Day 14: First organic traffic from long-tail queries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key insight: &lt;strong&gt;long-tail pages compound&lt;/strong&gt;. Each page targets a specific query like "aries tarot reading" or "life path number 8 meaning". Individually they get 10-50 searches/month, but across 108 pages that adds up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Full Project
&lt;/h2&gt;

&lt;p&gt;This is part of &lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt; - my AI fortune telling website built as a one-person company. The whole thing runs on Next.js + Vercel for $0/month.&lt;/p&gt;

&lt;p&gt;Want me to share the full code? Let me know in the comments!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Have you used dynamic routes for SEO? What was your experience?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>seo</category>
    </item>
    <item>
      <title>I Tested 5 Free Online Tarot Reading Sites - Here Is What Actually Works</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:09:08 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/i-tested-5-free-online-tarot-reading-sites-here-is-what-actually-works-1pnl</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/i-tested-5-free-online-tarot-reading-sites-here-is-what-actually-works-1pnl</guid>
      <description>&lt;h2&gt;
  
  
  Why I Did This
&lt;/h2&gt;

&lt;p&gt;I am building an AI fortune telling website as a solo developer, and I wanted to understand the competition. So I tested the 5 most popular free tarot reading sites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My criteria:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Was it actually free?&lt;/li&gt;
&lt;li&gt;How personalized was the reading?&lt;/li&gt;
&lt;li&gt;Did it go beyond generic fortune-cookie statements?&lt;/li&gt;
&lt;li&gt;Could I get a reading in under 2 minutes?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The 5 Sites I Tested
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Biddy Tarot (biddytarot.com)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Verdict: Great for learning&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free one-card draws with detailed card meanings&lt;/li&gt;
&lt;li&gt;Excellent card interpretations database&lt;/li&gt;
&lt;li&gt;But readings are basic - draw a card, read the description&lt;/li&gt;
&lt;li&gt;No personalization based on your question or birth chart&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rating: 7/10 for learning, 4/10 for actual readings&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Labyrinthos (labyrinthos.co)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Verdict: Beautiful but shallow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gorgeous app and website design&lt;/li&gt;
&lt;li&gt;Free daily tarot draws&lt;/li&gt;
&lt;li&gt;Limited to basic 3-card spreads&lt;/li&gt;
&lt;li&gt;The AI chat feature feels generic&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rating: 6/10&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Tarot.com
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Verdict: The classic, but showing its age&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Been around forever, massive card database&lt;/li&gt;
&lt;li&gt;Free daily reading + one free spread per day&lt;/li&gt;
&lt;li&gt;Ads everywhere - felt like navigating a minefield&lt;/li&gt;
&lt;li&gt;Readings are pre-written, not personalized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rating: 5/10&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Galaxy Tarot (app)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Verdict: Best free app&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Completely free, no ads&lt;/li&gt;
&lt;li&gt;Multiple spread types&lt;/li&gt;
&lt;li&gt;Reverse card interpretations&lt;/li&gt;
&lt;li&gt;But still just card descriptions - no real "reading"&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rating: 7/10&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. CyberOmen (cyberomen-en.vercel.app)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Verdict: Most personalized (but paid for full)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full reading includes cross-system analysis (Tarot + Astrology + BaZi + Numerology)&lt;/li&gt;
&lt;li&gt;The free preview is a detailed excerpt, not just a teaser&lt;/li&gt;
&lt;li&gt;Takes your actual birth date into account&lt;/li&gt;
&lt;li&gt;Reading is AI-generated, so it adapts to your specific question&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$0.99 for the full reading&lt;/strong&gt; - cheapest I found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rating: 8/10 for depth, 6/10 for free tier&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;The biggest difference between "good" and "bad" tarot sites:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Personalization matters more than accuracy&lt;/strong&gt; - people want to feel "seen," not get a generic description&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-referencing systems works&lt;/strong&gt; - when your zodiac says one thing and your tarot card says the same thing, it hits different&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed kills&lt;/strong&gt; - if I cannot get a reading in 2 minutes, I am gone&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Free" usually means "limited"&lt;/strong&gt; - the best readings always have a paywall&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  My Recommendation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;For learning tarot&lt;/strong&gt;: Biddy Tarot (free, comprehensive)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For daily draws&lt;/strong&gt;: Galaxy Tarot app (free, no ads)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For a deep, personalized reading&lt;/strong&gt;: &lt;a href="https://cyberomen-en.vercel.app/fortune" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt; ($0.99) - the only one that cross-references multiple systems&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Have you tried any of these? What is your experience? Drop your thoughts below!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>ai</category>
    </item>
    <item>
      <title>How to Calculate Your Life Path Number — The Math Behind Numerology (+ Free Tool)</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:08:49 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/how-to-calculate-your-life-path-number-the-math-behind-numerology-free-tool-1pn3</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/how-to-calculate-your-life-path-number-the-math-behind-numerology-free-tool-1pn3</guid>
      <description>&lt;h2&gt;
  
  
  What Is a Life Path Number?
&lt;/h2&gt;

&lt;p&gt;If you've ever wondered "what does my birthday say about me?" — numerology has a surprisingly elegant answer.&lt;/p&gt;

&lt;p&gt;Your &lt;strong&gt;Life Path Number&lt;/strong&gt; is calculated by reducing your birth date to a single digit (1-9). It's like a personality archetype from astrology, but based purely on math.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Algorithm
&lt;/h2&gt;

&lt;p&gt;It's dead simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;lifePathNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;birthDate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;digits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;birthDate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/-/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Number&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;digits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Number&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;lifePathNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1995-06-15&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 8&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;lifePathNumber&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;1989-11-22&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 33 (Master Number)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Each Number Means
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1 — The Leader&lt;/strong&gt;: Independence, pioneering spirit. Challenge: ego&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2 — The Diplomat&lt;/strong&gt;: Empathy, partnership. Challenge: indecisiveness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3 — The Creator&lt;/strong&gt;: Creativity, communication. Challenge: scattered energy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4 — The Builder&lt;/strong&gt;: Reliability, organization. Challenge: rigidity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5 — The Explorer&lt;/strong&gt;: Adaptability, freedom. Challenge: restlessness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 — The Nurturer&lt;/strong&gt;: Responsibility, healing. Challenge: martyr complex&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7 — The Seeker&lt;/strong&gt;: Wisdom, analysis. Challenge: isolation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8 — The Achiever&lt;/strong&gt;: Ambition, executive power. Challenge: materialism&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;9 — The Humanitarian&lt;/strong&gt;: Compassion, vision. Challenge: burnout&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;11 — The Intuitive&lt;/strong&gt;: Spiritual insight. Challenge: anxiety&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;22 — The Master Builder&lt;/strong&gt;: Grand vision. Challenge: overwhelm&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;33 — The Master Teacher&lt;/strong&gt;: Unconditional love. Challenge: self-sacrifice&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  But Simple Calculators Miss the Point
&lt;/h2&gt;

&lt;p&gt;Most online tools just say "You are a Life Path 8. You are ambitious." That's like saying "you're a Taurus, you're stubborn." Technically true, but so what?&lt;/p&gt;

&lt;h2&gt;
  
  
  Going Deeper: Cross-Referencing Multiple Systems
&lt;/h2&gt;

&lt;p&gt;I built a free tool that doesn't just calculate your Life Path Number — it cross-references it with your &lt;strong&gt;Zodiac sign&lt;/strong&gt;, &lt;strong&gt;Chinese BaZi&lt;/strong&gt;, and &lt;strong&gt;Tarot card&lt;/strong&gt; to find patterns a single system misses.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Life Path 1 (leader) who is also a Cancer (emotional, protective) — leadership through nurturing&lt;/li&gt;
&lt;li&gt;A Life Path 5 (freedom) with Metal element BaZi — structured freedom, not chaos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When Eastern and Western traditions agree on something, that cross-validation feels surprisingly accurate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try it free&lt;/strong&gt;: &lt;a href="https://cyberomen-en.vercel.app/fortune" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt; — enter your birth date, get a cross-system reading in under 1 minute.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Code Challenge
&lt;/h2&gt;

&lt;p&gt;Can you modify the algorithm to handle dates in DD/MM/YYYY format (European style)? Drop your solution in the comments!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What's your Life Path Number? Drop it below — I'm curious about the distribution!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Built this as part of my one-person company project. Tech stack: Next.js + Vercel + AI API. $0/month hosting.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>career</category>
    </item>
    <item>
      <title>Tarot vs Astrology vs Numerology: Which Divination System Is Most Accurate?</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 11:35:07 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/tarot-vs-astrology-vs-numerology-which-divination-system-is-most-accurate-4pol</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/tarot-vs-astrology-vs-numerology-which-divination-system-is-most-accurate-4pol</guid>
      <description>&lt;h1&gt;
  
  
  Tarot vs Astrology vs Numerology: Which System Is Most Accurate?
&lt;/h1&gt;

&lt;p&gt;As someone who built an AI fortune-telling app that combines all three systems (plus Chinese BaZi), I've spent hundreds of hours studying each one. Here's my honest comparison.&lt;/p&gt;

&lt;h2&gt;
  
  
  Astrology: The Cosmic Blueprint
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Maps the positions of celestial bodies at your birth to predict personality and life patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4,000+ years of accumulated knowledge&lt;/li&gt;
&lt;li&gt;Extremely detailed (Sun, Moon, Rising, 10 planets, 12 houses)&lt;/li&gt;
&lt;li&gt;Great for personality analysis and timing events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires exact birth time and location&lt;/li&gt;
&lt;li&gt;Interpretations can be vague ("You're complex" — who isn't?)&lt;/li&gt;
&lt;li&gt;Different astrologers can give opposite readings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Accuracy for personality:&lt;/strong&gt; ⭐⭐⭐⭐ (4/5)&lt;br&gt;
&lt;strong&gt;Accuracy for prediction:&lt;/strong&gt; ⭐⭐⭐ (3/5)&lt;/p&gt;

&lt;h2&gt;
  
  
  Tarot: The Mirror of the Moment
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Uses 78 cards to reflect your current situation and potential outcomes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Doesn't require any personal data — just a question&lt;/li&gt;
&lt;li&gt;Great for specific, focused questions&lt;/li&gt;
&lt;li&gt;Rich symbolic language that resonates emotionally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highly dependent on the reader's skill&lt;/li&gt;
&lt;li&gt;Results vary wildly between readings&lt;/li&gt;
&lt;li&gt;No systematic framework for personality analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Accuracy for personality:&lt;/strong&gt; ⭐⭐ (2/5)&lt;br&gt;
&lt;strong&gt;Accuracy for prediction:&lt;/strong&gt; ⭐⭐⭐ (3/5)&lt;/p&gt;

&lt;h2&gt;
  
  
  Numerology: The Hidden Numbers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Converts your birth date and name into numbers that reveal life patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strengths:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dead simple to calculate (just need a birthday)&lt;/li&gt;
&lt;li&gt;Surprisingly consistent results&lt;/li&gt;
&lt;li&gt;Life Path numbers create clear personality categories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Weaknesses:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limited nuance — only 9 core numbers (plus master numbers)&lt;/li&gt;
&lt;li&gt;Doesn't account for life circumstances&lt;/li&gt;
&lt;li&gt;Different systems (Chaldean vs Pythagorean) give different results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Accuracy for personality:&lt;/strong&gt; ⭐⭐⭐ (3/5)&lt;br&gt;
&lt;strong&gt;Accuracy for prediction:&lt;/strong&gt; ⭐⭐ (2/5)&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Answer: Combine Them
&lt;/h2&gt;

&lt;p&gt;Here's what I discovered after building a system that runs all three:&lt;/p&gt;

&lt;p&gt;Each system sees a different facet of the same diamond.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Astrology&lt;/strong&gt; sees your cosmic blueprint (who you're meant to become)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tarot&lt;/strong&gt; sees your current moment (what's happening right now)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numerology&lt;/strong&gt; sees your life path (the numbers don't lie)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When all three point to the same conclusion, the accuracy jumps dramatically. That's not confirmation bias — it's convergent validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;I built &lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt;, a free tool that runs all three systems (plus Chinese BaZi) and cross-references the results. Enter your birthday, ask a question, and see what happens when 4 systems agree.&lt;/p&gt;

&lt;p&gt;The first reading is free. No signup required.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What's your experience with divination? Have you found one system more accurate than others? Drop a comment below.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>astrology</category>
      <category>tarot</category>
      <category>numerology</category>
      <category>spirituality</category>
    </item>
    <item>
      <title>I Asked AI to Read My Tarot, Zodiac, AND Birth Chart Together — The Result Was Scary Accurate</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 09:19:22 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/i-asked-ai-to-read-my-tarot-zodiac-and-birth-chart-together-the-result-was-scary-accurate-1kmm</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/i-asked-ai-to-read-my-tarot-zodiac-and-birth-chart-together-the-result-was-scary-accurate-1kmm</guid>
      <description>&lt;p&gt;Most fortune-telling websites I've tried do the same thing: you pick ONE system (Tarot OR Zodiac OR Numerology), and you get a generic reading that could apply to anyone.&lt;/p&gt;

&lt;p&gt;"What's my horoscope today?" → "You'll face challenges but overcome them." 🙄&lt;/p&gt;

&lt;p&gt;That's not fortune telling. That's a fortune cookie.&lt;/p&gt;

&lt;h2&gt;
  
  
  What If You Combined ALL the Systems?
&lt;/h2&gt;

&lt;p&gt;I had a wild idea: what if an AI could read your Tarot cards, cross-reference them with your Western zodiac, layer in Chinese zodiac energy, AND calculate your life path number — all at the same time?&lt;/p&gt;

&lt;p&gt;Not 4 separate readings. One unified reading where each system confirms or challenges the others.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Built It
&lt;/h2&gt;

&lt;p&gt;So I built &lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;CyberOmen&lt;/a&gt; — a free AI fortune telling site that does exactly this.&lt;/p&gt;

&lt;p&gt;Here's how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enter your birthday&lt;/strong&gt; (and optionally your question)&lt;/li&gt;
&lt;li&gt;The AI calculates your:

&lt;ul&gt;
&lt;li&gt;Western Zodiac sign + element + ruling planet&lt;/li&gt;
&lt;li&gt;Chinese Zodiac animal + elemental year&lt;/li&gt;
&lt;li&gt;Life Path Number (Numerology)&lt;/li&gt;
&lt;li&gt;Randomly draws Tarot cards&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Then it cross-references ALL four systems to find patterns&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Scary Part
&lt;/h2&gt;

&lt;p&gt;When I tested it on myself, the cross-referencing found things no single system would catch alone.&lt;/p&gt;

&lt;p&gt;My Western zodiac said one thing about my personality. My Chinese zodiac confirmed it through a completely different lens. My life path number provided a third independent confirmation.&lt;/p&gt;

&lt;p&gt;Three different ancient systems, developed thousands of miles apart, all pointing to the same truth about me.&lt;/p&gt;

&lt;p&gt;That's either a coincidence... or there's something to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Cross-Referencing Works (For the Nerds)
&lt;/h2&gt;

&lt;p&gt;I wrote about &lt;a href="https://dev.to/song_jack_599ca99593afc8a/the-math-behind-cross-referencing-4-divination-systems-3cb2"&gt;the math behind it here&lt;/a&gt;, but the short version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each system generates traits and predictions independently&lt;/li&gt;
&lt;li&gt;The AI looks for &lt;strong&gt;convergent signals&lt;/strong&gt; (multiple systems pointing to the same thing)&lt;/li&gt;
&lt;li&gt;Conflicts between systems are noted too (they reveal internal contradictions)&lt;/li&gt;
&lt;li&gt;Confidence is scored based on how many systems agree&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's like triangulation, but for your soul. 🔮&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;It's completely free to try: &lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;cyberomen-en.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No signup. No credit card. Just enter your birthday and see what four ancient systems have to say about you.&lt;/p&gt;

&lt;p&gt;If you want the deep cross-analysis (the really juicy stuff), there's a $3 one-time unlock — but the basic reading is free.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with Next.js + Vercel. One-person company. Zero funding. Just me, my laptop, and 4,000 years of accumulated wisdom.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Math Behind Cross-Referencing 4 Divination Systems</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 08:47:13 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/the-math-behind-cross-referencing-4-divination-systems-3cb2</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/the-math-behind-cross-referencing-4-divination-systems-3cb2</guid>
      <description>&lt;p&gt;I built an AI fortune telling website that cross-references 4 divination systems. Here is the actual logic behind the cross-referencing algorithm.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 4 Systems
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Western Astrology&lt;/strong&gt; - Sun sign based on birth date&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chinese BaZi (Four Pillars)&lt;/strong&gt; - Heavenly Stems + Earthly Branches from birth date/time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tarot&lt;/strong&gt; - Random card draw with question context&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numerology&lt;/strong&gt; - Life Path Number from birth date digits&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why Cross-Reference?
&lt;/h2&gt;

&lt;p&gt;Each system has blind spots:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Astrology: Too generalized (only 12 signs)&lt;/li&gt;
&lt;li&gt;BaZi: Needs exact birth time&lt;/li&gt;
&lt;li&gt;Tarot: Random, different every time&lt;/li&gt;
&lt;li&gt;Numerology: Only uses birth date, ignores time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When multiple systems agree on a trait, the confidence increases.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Algorithm
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;crossReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;astrology&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;bazi&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tarot&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;numerology&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;themes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{};&lt;/span&gt;

  &lt;span class="c1"&gt;// Extract themes from each system&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;astroThemes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractThemes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;astrology&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  &lt;span class="c1"&gt;// e.g., ["leadership", "fire", "action"]&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;baziThemes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractThemes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bazi&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;         &lt;span class="c1"&gt;// e.g., ["strong fire", "direct"]&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tarotThemes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractThemes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tarot&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;       &lt;span class="c1"&gt;// e.g., ["initiative", "courage"]&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numThemes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;extractThemes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numerology&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;    &lt;span class="c1"&gt;// e.g., ["independence", "pioneer"]&lt;/span&gt;

  &lt;span class="c1"&gt;// Count occurrences across systems&lt;/span&gt;
  &lt;span class="p"&gt;[...&lt;/span&gt;&lt;span class="nx"&gt;astroThemes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;baziThemes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;tarotThemes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;numThemes&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;themes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;themes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="c1"&gt;// Themes appearing in 3+ systems = high confidence&lt;/span&gt;
  &lt;span class="c1"&gt;// Themes appearing in 2 systems = medium confidence&lt;/span&gt;
  &lt;span class="c1"&gt;// Themes in 1 system = supplementary insight&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;themes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(([&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;confidence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;high&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;medium&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;low&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;sources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;getSources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}));&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Example Output
&lt;/h2&gt;

&lt;p&gt;For someone born March 15, 1990:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Theme&lt;/th&gt;
&lt;th&gt;Astrology&lt;/th&gt;
&lt;th&gt;BaZi&lt;/th&gt;
&lt;th&gt;Tarot&lt;/th&gt;
&lt;th&gt;Numerology&lt;/th&gt;
&lt;th&gt;Confidence&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Leadership&lt;/td&gt;
&lt;td&gt;Pisces (debatable)&lt;/td&gt;
&lt;td&gt;Strong Fire&lt;/td&gt;
&lt;td&gt;The Emperor (4)&lt;/td&gt;
&lt;td&gt;Life Path 1&lt;/td&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creativity&lt;/td&gt;
&lt;td&gt;Pisces ✓&lt;/td&gt;
&lt;td&gt;Wood element&lt;/td&gt;
&lt;td&gt;The Magician (1)&lt;/td&gt;
&lt;td&gt;Life Path 1&lt;/td&gt;
&lt;td&gt;HIGH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emotional depth&lt;/td&gt;
&lt;td&gt;Water sign ✓&lt;/td&gt;
&lt;td&gt;Water in chart&lt;/td&gt;
&lt;td&gt;The Moon (18)&lt;/td&gt;
&lt;td&gt;Not present&lt;/td&gt;
&lt;td&gt;MEDIUM&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The cross-referencing makes the reading more personalized than any single system alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;Try it yourself →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>math</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>From Zero to Indexed: How I Got Google to Find My AI Website in 2 Weeks</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 08:42:11 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/from-zero-to-indexed-how-i-got-google-to-find-my-ai-website-in-2-weeks-4246</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/from-zero-to-indexed-how-i-got-google-to-find-my-ai-website-in-2-weeks-4246</guid>
      <description>&lt;p&gt;As a solo developer, getting traffic without spending money is the hardest part. Here is exactly what I did to get 108 pages indexed by Google in 2 weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Google Search Console
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Verify your domain (HTML file upload)&lt;/li&gt;
&lt;li&gt;Submit your sitemap.xml (108 URLs)&lt;/li&gt;
&lt;li&gt;Request indexing for key pages&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2: Bing Webmaster Tools
&lt;/h2&gt;

&lt;p&gt;Bing has a cool feature: import directly from Google Search Console. One click, done. Your 108 pages are submitted to Bing too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Dev.to Articles
&lt;/h2&gt;

&lt;p&gt;Each Dev.to article includes a &lt;code&gt;canonical_url&lt;/code&gt; pointing to my site. This creates backlinks that search engines follow.&lt;/p&gt;

&lt;p&gt;Published 5 articles so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tech stack breakdown&lt;/li&gt;
&lt;li&gt;SEO matrix strategy&lt;/li&gt;
&lt;li&gt;Tarot card explanations&lt;/li&gt;
&lt;li&gt;Solo dev workflow&lt;/li&gt;
&lt;li&gt;This meta-article about getting indexed&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Internal Linking
&lt;/h2&gt;

&lt;p&gt;My homepage links to all 12 zodiac signs, 22 tarot cards, and 9 numerology numbers. This helps Google discover pages that might not be in the sitemap yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: OG Tags and Social Sharing
&lt;/h2&gt;

&lt;p&gt;Added Open Graph tags and Twitter Card meta tags. When someone shares a link, it shows a nice preview image.&lt;/p&gt;

&lt;h2&gt;
  
  
  Timeline
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Day&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Day 1&lt;/td&gt;
&lt;td&gt;Site deployed on Vercel&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day 2&lt;/td&gt;
&lt;td&gt;Google Search Console verified&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day 3&lt;/td&gt;
&lt;td&gt;Sitemap submitted (108 pages)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day 5&lt;/td&gt;
&lt;td&gt;Bing Webmaster Tools imported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day 7&lt;/td&gt;
&lt;td&gt;First pages appearing in Google&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Day 14&lt;/td&gt;
&lt;td&gt;85+ pages indexed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What Did NOT Work
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reddit: New accounts need 7-14 days to build karma&lt;/li&gt;
&lt;li&gt;Twitter: Could not log in (API issues)&lt;/li&gt;
&lt;li&gt;AI directories: Most have Cloudflare protection, cannot automate submissions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Total marketing spend: $0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;See the live site →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>google</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Built a 108-Page SEO Matrix with Next.js Dynamic Routes</title>
      <dc:creator>Song Jack</dc:creator>
      <pubDate>Mon, 13 Apr 2026 08:37:09 +0000</pubDate>
      <link>https://forem.com/song_jack_599ca99593afc8a/how-i-built-a-108-page-seo-matrix-with-nextjs-dynamic-routes-4pak</link>
      <guid>https://forem.com/song_jack_599ca99593afc8a/how-i-built-a-108-page-seo-matrix-with-nextjs-dynamic-routes-4pak</guid>
      <description>&lt;p&gt;When I decided to launch an AI fortune telling website, I knew SEO was the only affordable traffic strategy for a solo developer with $0 marketing budget.&lt;/p&gt;

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

&lt;p&gt;Fortune telling is competitive. Sites like AstroSeek and Cafe Astrology have been around for 20+ years. How do you compete?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long-tail keywords.&lt;/strong&gt; Instead of targeting "horoscope" (impossible to rank), I targeted every combination of sign + card + number.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Matrix
&lt;/h2&gt;

&lt;p&gt;My site covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;12 Zodiac signs&lt;/strong&gt; - 12 pages (each sign's personality, compatibility, career)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;22 Major Arcana Tarot cards&lt;/strong&gt; - 22 pages (upright + reversed meanings)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;9 Numerology numbers&lt;/strong&gt; - 9 pages (life path 1-9)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;66 Zodiac compatibility pairs&lt;/strong&gt; - 66 pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plus&lt;/strong&gt; BaZi, Five Elements, Ten Gods pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Total: 108 dynamically generated pages from a single codebase.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// pages/zodiac/[sign].js&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getStaticPaths&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;signs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;aries&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;taurus&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;gemini&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="cm"&gt;/* ... */&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;signs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;sign&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;})),&lt;/span&gt;
    &lt;span class="na"&gt;fallback&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getStaticProps&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;zodiacData&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each page has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unique meta title and description&lt;/li&gt;
&lt;li&gt;Structured data (JSON-LD)&lt;/li&gt;
&lt;li&gt;Internal links to related pages&lt;/li&gt;
&lt;li&gt;Sitemap entry&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;108 pages indexed by Google within 2 weeks&lt;/li&gt;
&lt;li&gt;Each page targets a specific long-tail keyword&lt;/li&gt;
&lt;li&gt;Zero cost for content creation (data-driven, not blog posts)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://cyberomen-en.vercel.app" rel="noopener noreferrer"&gt;Check the live site →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>nextjs</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
