Skip to content

cnnmon/moral-dilemma-tamagotchi

Repository files navigation

principal

principal is a tamagotchi with moral dilemmas. like a tamagotchi, you can feed, play, and heal. now you can also talk! dilemmas are presented and the user must choose between their options and rationalize why. based on your responses, your pet learns, grows, and evolves.

uses typescript, next.js, tailwind, convex (db), clerk (auth), gpt-4o-mini.

collected over 30,000 moral dilemma responses. filtered and released as dataset cnnmon/moral-dilemma-responses.

moral dimensions

loosely inspired by jonathan haidt's six moral foundations theory.

  • compassion logic vs emotion
  • purity virtue vs indulgence
  • retribution punishment/justice vs forgiveness
  • devotion loyalty to others vs personal integrity
  • dominance authoritarian vs autonomous
  • ego self-serving vs self-sacrificing

evolutions

unlock them all! Evolution Guide-1

conversation flow

  • caretaker provides advice; pet returns ok: true (accept + stats/personality update) or ok: false (clarifying question)
  • pet pushes back on three patterns:
    • vague (≤3 words, no "because") → "can you explain why?"
    • conditional ("depends...", "if...") → picks a concrete case: "what if [X]?"
    • reverse question ("what do you think?") → shares a tentative leaning, asks caretaker to confirm
  • after one round of clarification, pet accepts any reasoned reply to avoid loops (prompt.ts)

system

Principal System-1

About

a virtual pet that is shaped by answers to moral dilemmas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors