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:
📁 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.
Log in or sign up for Devpost to join the conversation.