さらにアップグレードして帰ってきた四柱推命分析サイト sajucat!
(sajucat.co.kr)サジュキャット - 独自の万歳暦エンジンで作った四柱推命分析サービス
命理学(四柱推命)や開発に関する知識がほとんどない状態で、Claude と一緒に作った四柱推命分析サービスです。
1週間ほど前にデモ版を完成させて投稿したのですが、そのときに比べて分析内容を2倍以上アップグレードしました!!(Claude の切ない利用上限のせいで、思い切って100ドルを投入してクオリティを上げました…)
なぜ作ったのか
四柱推命アプリを使ってみると、「身強なので良いです」程度の結果だけが出て、なぜそういう判定になったのかという過程が見えません。命理学が迷信であれ統計であれ、判定ロジックを透明に見せれば、四柱推命を「学習するためのツール」にできるのではないかと考えました。
技術的に面白かったこと
万歳暦の独自実装: npm の万歳暦ライブラリ(@fullstackfamily/manseryeok)を使ってみたところ、節気の境界日で最大約21%の誤差が出たため、KASI(韓国天文研究院)のデータをベースに独自の万歳暦エンジンを作りました。真太陽時補正まで含めて43件のテストケースを通過しています。
合冲刑害破の可視化: 四柱推命の8文字の間には、合(合)/冲(冲)/刑(刑)/害(害)/破(破)の関係がありますが、これを視覚的に見せるのが思った以上に難しかったです。隣接した柱同士だけを表示すると、時柱-年柱のような非隣接の関係が抜け落ちる問題があったため、各関係を個別のカードに分解する方式で解決しました。
日運ロジック: 今日の日辰とユーザーの四柱4柱の間の冲合関係 + 十二運星 + 天干の十星を総合してスコア化します。吉/凶ガイドが互いに矛盾しないよう、480個の組み合わせを自動検証するスクリプトも作りました。
DeepSeek の干支ハルシネーション対策: DeepSeek API を四柱推命相談チャットに使っていますが、「2026年は乙卯年」とハルシネーションを起こします(正解: 丙午年)。プロンプトに干支の計算方法と例を入れて、逆算するよう誘導しました。
スタック
- フロント: Vite + React(単一の App.jsx が約4300行…)
- バックエンド: Node.js + Express + SQLite
- AI: DeepSeek V3(チャット)、Gemini Flash(詳細分析)
- 万歳暦: 独自 saju-core.js + KASI 節気データ
- 漢字レンダリング: HanziWriter(書道風の漢字)
- サーバー: Contabo VPS
構成
無料タブ(猫キャラクター)で基本的な四柱推命分析を見せ、有料タブ(バリマン神キャラクター)で深い解釈を提供します。ひとまず無料と有料に分けてはいますが、お金を取るには気まずいクオリティなので全部無料です!! 四柱推命をよく知らない人でも段階的に学べるよう、猫が解説してくれる説明カードをあちこちに入れました。
ひと言でもフィードバックをいただけると本当に助かります!!!
3件のコメント
とても良いUIです。猫が私に少し見下したような口調で話すのはやや不思議ですが、使いやすくて本当に良いです。
デザインも良く、クオリティも高いですね!
わあ、ありがとうございます!!