In my journey to become more confident with Python, I’m working on real-world projects that combine practical skills with creative use cases. One of my favorite recent builds is this Daily Journal App with Sentiment Analysis — a lightweight journaling tool that analyzes your mood based on what you write.
This project helped me practice:
- Reading and writing JSON files
- Performing basic Natural Language Processing (NLP)
- Using the
TextBlob
library for sentiment analysis - Creating a simple browser-based UI with Flask
Here’s how it works, how I built it, and how you can follow along to create your own version.
What the App Does
- You can write a daily journal entry via the command line or a simple web form
- The app analyzes your entry using TextBlob and classifies it as Positive, Neutral, or Negative
- All entries are saved in a
.json
file and displayed in a timeline - You can revisit your thoughts and track your mood over time
Tools & Libraries Used
Python 3
TextBlob
(for sentiment analysis)Flask
(for lightweight web UI)JSON
(for saving entries)
Features I Built
CLI Mode
: Add or view entries from the terminalSentiment Engine
: UsesTextBlob
to score how positive or negative an entry isWeb UI
: A simple HTML form to write new entries and a feed to view them (Future task)Modular Code
: Code is separated into logical files likeapp.py
,sentiment.py
, andjournal_utils.py


How to Try It Yourself
You can clone or fork the project here:
👉 GitHub Repo: Daily Journal App
Once cloned:
bashCopyEditpip install textblob flask
python3 -m textblob.download_corpora
python3 app.py
Use the terminal or go to http://127.0.0.1:5000
in your browser to write and view entries.
Next Steps
Here’s what I may add in the future:
- Filter journal entries by mood
- Export entries to a PDF
- Add tags or categories
- Email summary of your mood every week
This project is a great starting point if you’re learning Python and want to apply your skills to something personal and insightful. It blends tech with emotional intelligence, and I’m proud to have added it to my portfolio.
If you build something similar, feel free to tag me, I’d love to see your version!