2 pontos por colagom 2026-03-15 | 3 comentários | Compartilhar no WhatsApp

Sajucat - serviço de análise de saju criado com um motor próprio de manseryeok

Este é um serviço de análise de saju feito com a ajuda do Claude, mesmo eu quase não tendo conhecimento sobre Myeongrihak (saju palja) nem sobre desenvolvimento.

Há cerca de uma semana eu tinha concluído a versão demo e publicado um texto, mas desde então melhorei o conteúdo das análises em mais do que o dobro!! (Por causa do limite bem apertado do Claude, gastei nada menos que 100 dólares para aumentar a qualidade...)

Por que eu fiz isso

Quando você usa apps de saju, normalmente sai só algo como "seu sin-gang é forte, então é bom", sem mostrar o processo de como chegaram a essa conclusão. Seja a Myeongrihak superstição ou estatística, pensei que, se a lógica da avaliação fosse mostrada de forma transparente, o saju poderia virar uma "ferramenta de aprendizado".

Coisas que foram tecnicamente interessantes

Implementação própria do manseryeok: testei a biblioteca de manseryeok do npm (@fullstackfamily/manseryeok), mas ela apresentava um erro de até ~21% nos dias de transição dos termos solares, então criei um motor próprio de manseryeok com base nos dados da KASI (Instituto Coreano de Pesquisa em Astronomia e Ciências Espaciais). Ele passa em 43 casos de teste, incluindo correção por tempo solar verdadeiro.

Visualização de hap/chung/hyeong/hae/pa: entre os 8 caracteres do saju existem relações de hap (合)/chung (沖)/hyeong (刑)/hae (害)/pa (破), e mostrar isso visualmente foi mais complicado do que parecia. Se eu exibisse apenas entre pilares adjacentes, relações não adjacentes como hora-ano ficavam de fora, então resolvi isso separando cada relação em cartões individuais.

Lógica da sorte diária: pontuo de forma combinada as relações de choque e combinação entre o iljin (日辰) de hoje e os 4 pilares do saju do usuário, além dos doze estágios de sorte e das dez divindades dos caules celestiais. Também criei um script para validar automaticamente 480 combinações, para que os guias de sorte/azar não se contradigam.

Resolvendo as alucinações de ganji no DeepSeek: uso a API do DeepSeek no chat de consulta de saju, mas ela alucina dizendo que "2026 é o ano eulmyo" (resposta correta: byeongo). Coloquei no prompt o método de cálculo de ganji e exemplos para induzir a fazer o cálculo inverso.

Stack

  • Front-end: Vite + React (um único App.jsx com ~4300 linhas...)
  • Back-end: Node.js + Express + SQLite
  • IA: DeepSeek V3 (chat), Gemini Flash (análise aprofundada)
  • manseryeok: saju-core.js próprio + dados de termos solares da KASI
  • Renderização de hanja: HanziWriter (hanja em estilo caligráfico)
  • Servidor: Contabo VPS

Estrutura

Na aba gratuita (personagem de gato), mostro a análise básica de saju, e na aba paga (personagem Barimansin), ofereço a interpretação aprofundada. Por enquanto deixei separado entre gratuito e pago, mas a qualidade ainda é constrangedora para cobrar dinheiro, então está tudo grátis!! Também espalhei vários cartões explicativos em que o gato faz comentários, para que até quem não entende bem de saju possa aprender passo a passo.

Se puderem deixar algumas palavras de feedback, isso realmente me ajudaria muito!!!

3 comentários

 
runableapp 2026-03-27

A interface é muito boa. Fiquei um pouco intrigado com o fato de o gato falar comigo de forma meio condescendente, mas é realmente muito fácil e agradável de usar.

 
ahiou 2026-03-15

O design também está bom e a qualidade é alta!

 
colagom 2026-03-15

Uau, obrigado!!