Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions Projects/3-Advanced/AI_Mood_Activity_Recommender.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# AI Mood-Based Activity Recommender

**Tier:** 3-Advanced

## Description

The AI Mood-Based Activity Recommender is a web application that interprets a user's current emotional state and intelligently suggests personalized activities to support well-being, productivity, and emotional regulation. Users can express their mood through text input, emoji-based selection, or a slider scale, and the app responds with tailored recommendations β€” ranging from breathing exercises and journaling prompts to music playlists, games, or social activities.

The application is especially valuable for students managing academic stress, individuals navigating mental health challenges, or anyone seeking a healthier way to engage with their emotions on a daily basis.

**Resources required:**
- A free API key from [OpenAI](https://platform.openai.com/) or [Google Gemini](https://ai.google.dev/) to power the mood analysis and activity recommendation engine.
- (Optional) A [Firebase](https://firebase.google.com/) or [Supabase](https://supabase.com/) account for storing user mood history if persistence is needed.

---

## User Stories

- [ ] User can express their current mood by typing a free-form description (e.g., "I feel restless and can't focus") or by selecting from a visual mood board with emoji/icons.
- [ ] User can receive a curated list of 3–5 AI-generated activity recommendations tailored to their expressed mood, each with a brief explanation of why it might help.
- [ ] User can view detailed information about a recommended activity, including estimated duration, required materials, and a step-by-step guide to get started.
- [ ] User can mark an activity as "completed" or "not helpful" to provide feedback that refines future suggestions.
- [ ] User can view a mood history log that shows their past mood entries alongside the activities they tried, displayed in a timeline or calendar view.
- [ ] User can request a fresh set of alternative recommendations for the same mood without re-entering their input.
- [ ] User can filter recommendations by category (e.g., physical, creative, social, mindfulness) to match their current energy level or preference.
- [ ] User can save favourite activities to a personal collection for quick access later.

---

## Bonus Features

- [ ] User can receive mood insights based on weekly or monthly patterns, such as "You tend to feel anxious on Sunday evenings β€” here are proactive activities to try."
- [ ] User can interact with an AI-powered chatbot that asks gentle follow-up questions to better understand their mood before generating recommendations.
- [ ] User can optionally enable webcam-based facial expression analysis (using face-api.js or MediaPipe) to auto-detect mood without typing.
- [ ] User can set daily mood check-in reminders via browser notifications or email.
- [ ] User can view a progress dashboard showing mood trends over time, streaks of completed activities, and most-used categories β€” visualised with charts.
- [ ] User can share a specific activity recommendation as a card on social media or via a shareable link.
- [ ] User can switch between a "Quick Mode" (instant single recommendation) and a "Deep Dive Mode" (multi-step guided session with reflection prompts).

---

## Useful Links and Resources

### AI & NLP
- [OpenAI API Docs](https://platform.openai.com/docs) β€” For GPT-powered mood analysis and recommendation generation
- [Google Gemini API](https://ai.google.dev/docs) β€” Alternative LLM for mood understanding
- [Hugging Face β€” Emotion Detection Models](https://huggingface.co/models?pipeline_tag=text-classification&search=emotion) β€” Pre-trained sentiment/emotion classifiers

### Facial Expression (Bonus)
- [face-api.js](https://github.com/justadudewhohacks/face-api.js) β€” In-browser face and emotion detection
- [MediaPipe Face Landmarker](https://developers.google.com/mediapipe/solutions/vision/face_landmarker) β€” Google's real-time facial landmark solution

### Frontend & UI
- [React Documentation](https://react.dev/) β€” Component-based UI framework
- [Framer Motion](https://www.framer.com/motion/) β€” Animations for mood transitions and activity cards
- [Chart.js](https://www.chartjs.org/) β€” For mood trend visualisations in the dashboard

### Backend & Storage
- [Firebase Firestore](https://firebase.google.com/docs/firestore) β€” Real-time NoSQL database for mood history
- [Supabase](https://supabase.com/docs) β€” Open-source Firebase alternative with PostgreSQL

### Mental Health & Activity Research
- [NHS β€” 5 Steps to Mental Wellbeing](https://www.nhs.uk/mental-health/self-help/guides-tools-and-activities/five-steps-to-mental-wellbeing/) β€” Evidence-based activity categories
- [Greater Good Science Center](https://greatergood.berkeley.edu/topic/emotions) β€” Research-backed emotional regulation strategies

Comment on lines +42 to +65
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟑 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify that the external resource URLs are accessible.
# This checks HTTP status codes for the main documentation links.

urls=(
  "https://platform.openai.com/docs"
  "https://ai.google.dev/docs"
  "https://huggingface.co/models?pipeline_tag=text-classification&search=emotion"
  "https://github.com/justadudewhohacks/face-api.js"
  "https://developers.google.com/mediapipe/solutions/vision/face_landmarker"
  "https://react.dev/"
  "https://www.framer.com/motion/"
  "https://www.chartjs.org/"
  "https://firebase.google.com/docs/firestore"
  "https://supabase.com/docs"
  "https://www.nhs.uk/mental-health/self-help/guides-tools-and-activities/five-steps-to-mental-wellbeing/"
  "https://greatergood.berkeley.edu/topic/emotions"
)

echo "Checking resource URLs..."
for url in "${urls[@]}"; do
  echo -n "Checking $url ... "
  status=$(curl -o /dev/null -s -w "%{http_code}" -L "$url")
  if [ "$status" -eq 200 ]; then
    echo "βœ“ OK ($status)"
  else
    echo "βœ— FAILED ($status)"
  fi
done

Repository: florinpop17/app-ideas

Length of output: 941


Update two broken resource links.

Two external URLs in the resources section are not accessible:

  • https://platform.openai.com/docs returns 403 Forbidden β€” consider linking directly to the API documentation or getting started guide instead
  • https://greatergood.berkeley.edu/topic/emotions returns 404 β€” the page no longer exists; consider replacing with their science of emotions section or another mental health research resource

The remaining 10 links are all accessible and functional.

πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Projects/3-Advanced/AI_Mood_Activity_Recommender.md` around lines 42 - 65,
Replace the two broken URLs in the resources list: update the "OpenAI API Docs"
link (currently https://platform.openai.com/docs) to point to a valid OpenAI
docs page such as https://platform.openai.com/docs/api-reference or
https://platform.openai.com/docs/guides/gpt, and replace the "Greater Good
Science Center" link (currently https://greatergood.berkeley.edu/topic/emotions)
with the working science of emotions page
https://greatergood.berkeley.edu/science_topics/emotion (or another valid
mental-health research URL); ensure the link text "OpenAI API Docs" and "Greater
Good Science Center" remain unchanged so readers still recognize the resources.

---

## Example Projects

- **Wysa** (https://www.wysa.com) β€” An AI-powered mental health chatbot that recommends evidence-based exercises (CBT, mindfulness) based on user-reported emotions. Great reference for conversational mood input and structured activity flows.
- **Reflectly** (https://reflectly.app) β€” A journaling app that uses AI to personalise daily reflections and mood tracking. Strong reference for mood history UI and calendar-based visualisation.
- **Moodfit** (https://www.getmoodfit.com) β€” A mood tracking and mental fitness app with activity suggestions linked to emotional states. Good reference for the feedback loop between mood input and activity outcomes.
- **Daylio** (https://daylio.net) β€” A micro-diary app that tracks activities and moods together. Useful reference for minimalist mood logging UX and activity correlation analytics.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ required to complete them.

| Name | Short Description | Tier |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------- | ---------- |
| [AI Mood Activity Recommender] | Suggest activities based on user mood using AI | 3-Advanced |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟑 Minor

Add the missing README link target for the new project row.

Line 123 currently renders as bracketed text, not a clickable link. Please point it to the new project file like other entries in this table.

Suggested fix
-| [AI Mood Activity Recommender]                                                | Suggest activities based on user mood using AI                                                 | 3-Advanced |
+| [AI Mood Activity Recommender](./Projects/3-Advanced/AI_Mood_Activity_Recommender.md) | Suggest activities based on user mood using AI | 3-Advanced |
πŸ“ Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| [AI Mood Activity Recommender] | Suggest activities based on user mood using AI | 3-Advanced |
| [AI Mood Activity Recommender](./Projects/3-Advanced/AI_Mood_Activity_Recommender.md) | Suggest activities based on user mood using AI | 3-Advanced |
πŸ€– Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` at line 123, The README table row for "AI Mood Activity
Recommender" is missing a link target; replace the plain bracketed project name
with a Markdown link pointing to the new project file (e.g., [AI Mood Activity
Recommender](path/to/ai-mood-activity-recommender.md)) so the table entry
becomes clickable, matching the style used by the other rows in the table.

| [Battleship Bot](./Projects/3-Advanced/Battleship-Bot.md) | Create a Discord bot that plays Battleship | 3-Advanced |
| [Battleship Game Engine](./Projects/3-Advanced/Battleship-Game-Engine.md) | Create a callable engine to play the Battleship game | 3-Advanced |
| [Boole Bots Game](./Projects/3-Advanced/Boole-Bot-Game.md) | Battling Bots driven by Boolean algebra | 3-Advanced |
Expand Down