A hybrid work journal application combining a web interface with CLI functionality for managing journal entries and generating AI-powered insights. Built with Python 3.9+, FastAPI, SQLite, and Google Gemini AI integration.
- Python: 3.9+ required
- Operating Systems: Primarily tested on macOS/Linux (Windows compatibility may vary)
- Dependencies: May require additional system packages for full functionality
- Network: Internet connection required for AI service authentication
- Storage: Minimal local storage for SQLite database
git clone <repository-url>
cd WorkJournalMakerpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtKey dependencies include FastAPI, SQLite, SQLAlchemy, and google-genai for AI integration.
cp config.yaml.example config.yamlEdit config.yaml to configure:
- AI provider settings (use Google Gemini - see below)
- File paths for journal storage (
~/Desktop/worklogs/by default) - Output directories for summaries (
~/Desktop/worklogs/summaries/by default) - Logging preferences
Google Gemini Setup (Required ONLY IF you want summarization):
- Create a Google Cloud Platform project
- Enable the Generative AI API
- Set up Application Default Credentials:
gcloud auth application-default login
- Update
config.yaml:llm: provider: google_genai google_genai: project: your-gcp-project-id location: us-central1 model: gemini-2.0-flash-001
AWS Bedrock (Currently Unavailable):
While AWS Bedrock is configured in the application, it's currently non-functional. Avoid using provider: bedrock in your configuration.
The SQLite database initializes automatically on first run. No manual setup required.
python -m web.appAccess at: http://localhost:8000
The web interface provides an intuitive way to create and manage journal entries, view summaries, and configure settings.
After familiarizing yourself with the web interface, explore CLI functionality:
- Create entries: Process and import journal files
- Generate summaries: Bulk summarization of existing entries
- Import files: Batch import from various file formats
- Export data: Extract journal data for backup or analysis
- Working now (2025-07-10)
- Input:
~/Desktop/worklogs/(journal files) - Output:
~/Desktop/worklogs/summaries/(generated summaries) - Logs:
~/Desktop/worklogs/summaries/error_logs/
- CURRENTLY BROKEN: Fixed on M-F work week. Modify work week definitions and date ranges through the web interface settings panel or by editing the configuration file.
Override any configuration using WJS_* prefixed environment variables:
export WJS_LLM_PROVIDER=google_genai
export WJS_BASE_PATH=/custom/journal/path
export WJS_LOG_LEVEL=DEBUGAI Authentication Issues: Verify Google Cloud credentials with gcloud auth list and ensure the Generative AI API is enabled in your GCP project.
Path Configuration Problems: Check directory permissions and ensure specified paths exist or can be created by the application.
Port Conflicts: If port 8000 is unavailable, the application will attempt to use alternative ports automatically.
- Start with the web interface for ease of use
- Create your first journal entry through the web UI
- Explore AI summarization features
- Graduate to CLI commands for bulk processing and advanced workflows
The application stores all data locally while leveraging cloud AI services only for content analysis and summarization.