Record who you are today. Manifest who you want to become. Watch yourself grow.
GrowthLog is a premium, full-stack personal development platform built for intentional living. It combines deep biological tracking (Mood, Energy) with philosophical growth frameworks (Manifestations, Snapshots) to provide a 360-degree view of your evolution.
GrowthLog features a custom-crafted UI designed for focus and calm:
- Palette:
Sage(#6b8c6b),Gold(#c9a84c),Rust(#c4623a), andInk(#0d0d0d) on aPaper(#f5f0e8) background. - Typography:
Fraunces(Serif) for headlines andDM Sans(Sans-serif) for specialized data layouts. - Visuals: Custom Recharts implementations including Life Balance Radars, Heatmaps, and Area Trends.
- Daily Logs & Activity Tracking: A journal to log mood, energy, specific activities, and time spent.
- Goals & Manifestations: A structured system to set grand quarterly visions and break them down into actionable milestones with deadlines.
- Action Board (Todos): A task manager that tracks priority, due dates, and time estimations versus actual time spent.
- Cognitive Reframing Studio (Reframes): A psychological tool for emotional regulation to log triggers, identify cognitive distortions, and reframe negative thoughts.
- Mind Garden (Thoughts): A distraction-free capture area for raw thoughts, ideas, and sentiments.
- Snapshots: Periodic check-ins to log current mood and life values.
- Library (Books) & Motivation Vault (Quotes): Areas to store reading material, insights, and impactful quotes.
- Dashboard & Analytics: Real-time Heatmaps, Goal completion stats, Mood vs. Energy trends, and Life Balance Radar Charts.
For a complete strategic guide, read our Ultimate Guide (Guide.md).
- Quarterly Setup: Define life categories and set grand Manifestations and concrete Goals.
- Daily Operations: Execute daily from the Action Board, capture ideas in the Mind Garden, regulate emotions through Cognitive Reframes, and end the day with a Daily Log.
- Periodic Review: Take weekly Snapshots and review activity trends to ensure alignment with your changing core values.
- 70+ Test Suite: Exhaustive coverage across 14 categories (Auth, Security, Boundary, etc.).
- Auth & Privacy: JWT serialization, token versioning, and email verification workflows.
- Data Integrity: Strict Pydantic v2 validation layers and NoSQL injection resilience.
| Layer | Technology |
|---|---|
| Frontend | React 18, React Router v6, Recharts, date-fns, react-hot-toast |
| Backend | FastAPI (Python 3.9+), Pydantic v2, PyMongo |
| Database | MongoDB (Atlas or Local) |
| Styling | Pure CSS (Design Token Driven) |
| Testing | Pytest, Starlette TestClient, Asyncio |
cp .env.example .env # set JWT_SECRET (openssl rand -hex 32)
docker compose up --build # app: http://localhost:3000 API: http://localhost:8000MongoDB, the API, and the frontend start in order once each health check passes.
- Python 3.9+ | Node.js 18+ | MongoDB
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Update your MongoDB URL and JWT_SECRET
uvicorn main:app --reload --port 8000cd frontend
npm install
npm startRun everything (backend + frontend) with one command. It needs Docker for the throwaway test MongoDB on port 27018, which it starts for you; no .env is required:
./test.sh # backend + frontend
./test.sh backend # backend only (extra args go to pytest, e.g. ./test.sh backend -k auth)
./test.sh frontend # frontend only
docker compose --profile test down # stop the test MongoDB when you're doneThe backend tests always use the test MongoDB, never the MONGO_URL in backend/.env; set TEST_MONGO_URL to point them somewhere else. To check for flaky tests, use the stress-tester:
cd backend
./run_tests.sh 1 # Run once with full logs (-v -s)
./run_tests.sh 5 # Repeat 5 times to check for flakinessgrowthlog/
├── backend/ ← FastAPI + MongoDB (Modular)
│ ├── main.py ← Lightweight API Entry
│ ├── api/ ← Domain Routers (Auth, Goals, etc.)
│ ├── core/ ← Db, Config, Security
│ ├── models/ ← Pydantic Schemas
│ ├── utils/ ← Cache, Helpers, Email
│ ├── tests/ ← Robust 70+ test suite
│ └── run_tests.sh ← Backend stress-test utility
└── frontend/ ← React + Recharts
├── src/
│ ├── pages/ ← 17+ Full views (Dashboard, Growth, Snapshots, etc.)
│ ├── components/ ← UI Layouts, Sidebars, Modals
│ └── context/ ← Auth & Global State
└── package.json
Growth is not a destination. It is a log of everyday honesty.