Log your mood. See the pattern. Understand yourself.
moodiUM is a personal mood journal. Just honest data about how your days actually feel.
You'll need Bun, a Supabase project, and a Clerk app set up first.
git clone https://github.com/yourusername/moodium.git
cd moodium
bun installCreate a .env file:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=Create the database table in Supabase SQL editor:
create table mood_entries (
id text primary key,
user_id text not null,
date date not null,
mood text not null,
note text,
created_at timestamptz default now(),
updated_at timestamptz default now(),
unique (user_id, date)
);Then:
bun devsrc/
├── app/ — pages (dashboard, calendar, insights, auth)
├── components/ — UI components (MoodEntry, MoodStreak, WeekResume, etc.)
├── hooks/
│ └── useMoodEntries.ts — shared data hook
└── lib/
├── supabase.ts — db client
├── moodUtils.ts — streak, stats, summary functions
└── quotes.ts — quote data
MIT.