Emotisense - Emotion Diary Alexithymic Support App

💡 Overview

Emotion Diary is a minimalistic web app designed to help people — especially those with alexithymia (difficulty identifying and expressing emotions) — recognize and understand their feelings through text and speech.

Users can speak or type their thoughts, and the app will:

Convert voice to text using browser speech recognition

Analyze the emotional tone of their words

Display a corresponding emoji, emotion label, and personalized advice

Automatically log each diary entry for reflection and emotional growth

Built during a 3-hour hackathon, the app focuses on accessibility, simplicity, and mental health awareness.

✨ Features

🎙️ Speech-to-text input (no API keys required — works in-browser)

💬 Emotion detection powered by free, open-source NLP (pysentimiento)

📔 Persistent emotion log saved locally as diary_log.json

🌈 Emotion-based emojis & advice for emotional guidance

💻 Clean, aesthetic UI built with Jinja2 and custom CSS

🧩 Tech Stack

Category Tools Used Backend Flask (Python) Frontend HTML, CSS, Jinja2 NLP / Emotion Detection pysentimiento (transformer-based emotion analysis) Speech Recognition Web Speech API (built-in browser support) Data Storage Local JSON (diary_log.json) 🛠️ Installation & Setup

Clone this repository:

git clone https://github.com/yourusername/emotion-diary.git cd emotion-diary

Install dependencies:

pip install flask pysentimiento torch

Run the app:

python app.py

Visit in your browser:

http://127.0.0.1:5000/

📁 Project Structure

emotion-diary/ │ ├── app.py # Flask backend + emotion analysis logic ├── diary_log.json # Local diary entries (auto-created) ├── templates/ │ └── index.html # Frontend UI └── static/ └── style.css # Styling

🤖 How It Works

The user speaks or types into the diary box.

The app sends the text to Flask via /analyze.

The backend uses pysentimiento’s emotion model (BERT-based) to predict emotion.

The detected emotion maps to an emoji and self-care message.

The entry is saved locally and displayed in the diary log.

🔒 No API Keys Required

All analysis is done locally using open-source models — private, secure, and completely free to use.

💭 Example Use

Input:

“I feel lost and nothing excites me anymore.”

Output: 😢 Sadness 💙 “Sadness can be heavy. Try talking to someone you trust.”

🌍 Accessibility & Impact

Emotion Diary encourages emotional literacy and self-awareness, helping neurodivergent individuals or anyone struggling with emotional clarity.

Its simplicity, privacy, and local functionality make it accessible to all.

Built With

Share this project:

Updates