Sajucat - dịch vụ phân tích saju được xây dựng bằng công cụ lịch vạn niên tự phát triển
Đây là một dịch vụ phân tích saju được làm cùng Claude trong bối cảnh gần như không có nhiều kiến thức về mệnh lý học (saju palja) hay phát triển phần mềm.
Khoảng một tuần trước tôi đã hoàn thành bản demo và viết bài giới thiệu, nhưng so với lúc đó thì nội dung phân tích nay đã được nâng cấp hơn gấp đôi!! (Vì giới hạn khá chật vật của Claude nên tôi đã mạnh tay chi hẳn 100 đô để nâng chất lượng...)
Tại sao lại làm
Khi dùng các ứng dụng saju, kết quả thường chỉ dừng ở mức kiểu như “thân vượng nên tốt”, mà không cho thấy quá trình vì sao đi đến phán định đó. Dù mệnh lý học là mê tín hay thống kê đi nữa, tôi nghĩ nếu trình bày minh bạch logic đánh giá thì saju có thể trở thành một “công cụ để học”.
Những điểm thú vị về mặt kỹ thuật
Tự triển khai lịch vạn niên: Tôi đã thử dùng thư viện lịch vạn niên trên npm (@fullstackfamily/manseryeok), nhưng vào các ngày ranh giới tiết khí thì sai số lên tới khoảng 21%, nên tôi đã làm công cụ lịch vạn niên riêng dựa trên dữ liệu KASI (Viện Nghiên cứu Thiên văn Hàn Quốc). Nó vượt qua 43 test case, bao gồm cả hiệu chỉnh giờ Mặt Trời thật.
Trực quan hóa hợp-xung-hình-hại-phá: Giữa 8 chữ của saju có các quan hệ hợp (合)/xung (沖)/hình (刑)/hại (害)/phá (破), và việc thể hiện chúng một cách trực quan khó hơn tưởng tượng. Nếu chỉ hiển thị giữa các trụ liền kề thì sẽ bị bỏ sót các quan hệ không liền kề như giữa trụ giờ và trụ năm, nên tôi giải quyết bằng cách tách từng quan hệ thành các thẻ riêng biệt.
Logic vận thế hằng ngày: Tôi chấm điểm tổng hợp dựa trên quan hệ xung-hợp giữa nhật thần hôm nay và 4 trụ saju của người dùng + thập nhị vận tinh + thập thần của thiên can. Tôi cũng làm một script tự động kiểm chứng 480 tổ hợp để bảo đảm hướng dẫn cát/hung không tự mâu thuẫn với nhau.
Khắc phục ảo giác can chi của DeepSeek: Tôi dùng DeepSeek API cho phần chat tư vấn saju, nhưng nó lại bị ảo giác kiểu “năm 2026 là năm Ất Mão” (đáp án đúng: Bính Ngọ). Tôi đã đưa cách tính can chi và ví dụ vào prompt để dẫn nó suy ngược lại.
Stack
- Frontend: Vite + React (một
App.jsxduy nhất ~4300 dòng...) - Backend: Node.js + Express + SQLite
- AI: DeepSeek V3 (chat), Gemini Flash (phân tích chuyên sâu)
- Lịch vạn niên:
saju-core.jstự phát triển + dữ liệu tiết khí KASI - Render chữ Hán: HanziWriter (chữ Hán phong cách thư pháp)
- Server: Contabo VPS
Cấu trúc
Ở tab miễn phí (nhân vật mèo), dịch vụ hiển thị phân tích saju cơ bản; còn ở tab trả phí (nhân vật Barimansin), dịch vụ cung cấp diễn giải chuyên sâu. Hiện tại tuy đã chia sẵn miễn phí và trả phí, nhưng chất lượng vẫn còn ngại thu tiền nên hiện đang để miễn phí toàn bộ!! Tôi cũng đặt các thẻ giải thích do chú mèo thuyết minh ở nhiều chỗ để ngay cả người không rành saju cũng có thể học theo từng bước.
Nếu mọi người để lại vài lời phản hồi thì sẽ thực sự giúp ích cho tôi rất nhiều!!!
3 bình luận
UI rất tốt. Tôi hơi ngạc nhiên vì con mèo nói với tôi bằng giọng điệu có phần bề trên, nhưng nhìn chung rất dễ dùng và rất ổn.
Thiết kế cũng đẹp và chất lượng rất cao!
Wow, cảm ơn!!