mood-pixels
Small Next.js mood tracker where Jev classifies a daily check-in into one of five moods and a 1-5 energy score.
Overview
Mood Pixels is a small mood-tracking web app. You write a few words about your day, and a server route sends the text to TypeSafe's Jev, which classifies the check-in as Sparkly, Cozy, Tired, Sad or Frustrated and gives an energy score from 1 to 5 along with a short self-care nudge. The result colours that day in a Year in Pixels calendar for 2026.
Results are stored per date in the browser's localStorage; the check-in text itself is sent for analysis but not saved. There are no accounts, so data does not sync across devices. It is a compact example for developers learning how to call Jev from a Next.js API route and map the answers to a UI.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which mood best describes this check-in? | Sparkly · Cozy · Tired · Sad · Frustrated |
| Score | Energy level | 1 · 2 · 3 · 4 · 5 |
How it works
- User writes a short check-in and clicks Log Vibe Check.
- Server route /api/jev sends it to Jev with typed questions.
- Mood and energy score come back with a self-care nudge.
- The day is coloured in the calendar and saved to localStorage.
Strengths
- Simple, readable example of a Jev call from Next.js.
- Check-in text is not stored in the browser.
- MIT licensed.
Caveats
- Calendar fixed to 2026; no history or editing view.
- Requires a TypeSafe API key.
- Clearing browser storage deletes all saved days.
Getting started
npm ci; cp .env.example .env and set TYPESAFE_API_KEY; npm run dev and open http://localhost:3000.At a glance
- Type
- Demo
- Status
- prototype
- Language
- TypeScript
- Runtime
- Next.js, browser
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Mood Pixels is a small mood tracker that uses TypeSafe AI (JEV) to turn a few words about your day into a mood and self-care nudge. Write a check-in and see your mood reflected in a colourful Year in Pixels calendar.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
The mood category of your check-in and an energy score from 1 to 5.
Is my text stored?
It is sent for analysis but only the date, mood, score and nudge are saved in your browser.
Does it need a TypeSafe key?
Yes, set TYPESAFE_API_KEY in .env.
Related projects
Open-source AI email assistant; listed as using Jev as an optional classifier for email intent and triage.
ProjectproductionTypeScriptChrome extension that groups and orders all tabs in a window by meaning and your rules with a single Jev request.
ServiceproductionTypeScriptLarge Claude Code plugin of skills, agents and hooks that can optionally ask Jev to classify a session's work category.
ProjectproductionTypeScriptPrivacy-first personal knowledge management system, listed as integrating Jev for document classification and tag routing.
PluginproductionTypeScriptGo terminal app that files documents using five Jev questions: category, sensitivity, urgency, whether action is needed and action state.
ProjectbetaGoDeepSeek Harness plugin that classifies each user message's emotion, urgency and department with Jev and injects it as context.
PluginbetaTypeScript