A full-stack web application designed to combine reflective journaling with transparent sentiment analysis.
InnerNote allows users to write journal entries, receive lightweight mood insights generated through Natural Language Processing, and review emotional trends over time in a simple and understandable way.
Unlike many mood-tracking systems that operate as “black boxes”, InnerNote focuses on transparency by exposing sentiment scores, detected keywords, and explanation panels directly to the user.
- Create and store reflective journal entries
- Lightweight sentiment analysis using NLP
- Automatic mood classification (positive, neutral, negative)
- Transparent mood insights with detected keywords
- Mood summary dashboard with reflective statistics
- Persistent cloud-based storage using MongoDB Atlas
- Delete journal entries dynamically
- Responsive and minimal user interface
- Real-time frontend updates using React state management
- REST-style API communication between frontend and backend
- React
- Vite
- Node.js
- Express.js
- MongoDB Atlas
- Mongoose
- JavaScript
- HTML & CSS
- Git & GitHub
git clone https://github.com/Messtiso/InnerNote.gitcd InnerNotecd frontend
npm installcd ../backend
npm installMONGO_URI=your_mongodb_connection_stringnode server.jsOpen a second terminal:
cd frontend
npm run dev- Write a reflective journal entry
- Submit the entry for analysis
- Receive a mood classification and sentiment score
- Review detected keywords and explanation panels
- Track emotional trends through the dashboard
- Retrieve or delete previous entries dynamically
- User authentication and personal accounts
- Advanced mood trend visualisations
- More sophisticated NLP models
- Mobile-first optimisation
- Personalised reflective prompts
- Enhanced privacy and encryption features
- Search and filtering functionalities
This project was developed as a final-year Computing project focused on:
- Full-stack web development
- Transparent AI-assisted systems
- Natural Language Processing
- Explainable sentiment analysis
- User-centred interface design
The goal of InnerNote was not to create a clinical mental health platform, but rather to explore how lightweight and understandable mood-analysis functionality could be integrated into a reflective journaling application.
Thank you for checking out InnerNote :)



