AI-assisted journaling with emotion analysis, visuals, and manual mood tracking.
JournIA is a full-stack app that helps you journal and visualize your mood data.
- Journal: free-form entries with AI integration.
- Graphs: interactive dashboards for the analyses.
- Manual Metrics: add your own activities, spider quiz ratings, and Plutchik emotions.
- Past Entries: review previous conversations and their analysis.
- Notes: a simple notes area.
- Settings: configure your preferences.
- Home → enter age and gender (used by analysis).
- Dashboard → the hub. From here you can jump to:
- Journal (write a new entry -> run AI analysis),
- Graphs (visualize analyses; can filter by day/week/month or by entry),
- Past Entries (open a specific conversation to see its metrics),
- Add Metrics (manually add mood/quiz/emotions),
- Notes and Settings.
- Python: 3.11 (3.11.9 recommended if using GPU llama-cpp-python build)
- Node.js: ≥ 18 LTS recommended
- npm: ≥ 9
- (Optional) CUDA: recent version if you plan to run
llama-cpp-pythonwith GPU - (Apple Silicon) Homebrew with
cmakeandpkg-config
Create & activate a virtual environment from inside JournAI/ (recommended):
# macOS / Linux
python3.11 -m venv .venv
source .venv/bin/activate
# Windows
py -3.11 -m venv venv
.\venv\Scripts\activatepip install -r requirements.txt$env:CMAKE_ARGS="-DGGML_CUDA=on"; pip install --force-reinstall --no-cache-dir llama-cpp-python—> to use GPU (standard llama-cpp-python is for cpu only. For this one we need python version 3.11.9 and a recent version of CUDA)brew install cmake—> for Apple M1 hardwarebrew install pkg-config—> for Apple M1 hardware
npm installnpm install -g @angular/cli
- Inside backend run:
uvicorn main:app --reloadto start the server - Inside frontend run:
ng serveto start the web cli