A feature-rich and highly personalizable journaling application built with Java Swing, designed to help you capture your thoughts, express creativity, and track your well-being in an elegant digital environment.
- Journal Entries: Traditional diary-style entries with mood tracking and rich formatting
- Poetry Writing: Dedicated poetry editor with metering and rhyme tips.
- Interactive mood slider with visual feedback (0-100 scale)
- Mood chart visualization with date range filtering (7 days, 30 days, all time)
- Automatic mood logging integrated with journal entries
- Visual mood trends to track emotional patterns over time
- Notebook system with different types (Journal, Poetry)
- File browser with entry previews and word counts
- Auto-save functionality with timestamp-based filenames
- Search and filter capabilities across all content
- Modern UI design with smooth animations and transitions
- Customizable backgrounds and themes
- Intuitive navigation with card-based interface
- Tutorial system for new users
- Settings panel for personalization
- Sound effects and visual feedback
Below are a few highlights from the current UI. More images live in Simjot/Simjot/docs/images
.
-
Main Interface
-
Journaling Interface
-
Poetry Workspace
-
Notebook Manager
-
Entry Manager
-
Settings
-
Breathing Exercise
- Java 17 or higher installed on your system
- JDK 17 or higher for building the project
- Clone or download the project to your local machine
- Open PowerShell or Command Prompt in the project directory
- Run the build script:
package_simjournal.bat
The build process will:
- Compile all Java sources
- Create a modular JAR file
- Generate a standalone application in the
dist/
folder
After building, you can run Simjot in two ways:
Option 1: Native Executable (Recommended)
dist/Simjot/Simjot.exe
Option 2: JAR File
java -jar Simjot.jar
This option runs on Windows/macOS/Linux as long as Java 17+ is installed.
On first startup, Simjot will prompt you to:
- Choose a journal folder where all your content will be stored
- Take an optional tutorial to learn the interface
- Set up your preferences in the settings panel
- Click "New Entry" from the main menu
- Select your mood using the interactive slider
- Write your thoughts in the rich text editor
- Entries are automatically saved with timestamps
- Select "New Poem" for the dedicated poetry interface
- Choose from multiple fonts (Serif, Georgia, Verdana, Cursive)
- Use the "Inspire Me" button for creative prompts
- Track stanza count in real-time
- Create separate notebooks for different topics or time periods
- Choose notebook types: Journal, or Poetry
- Each notebook maintains its own file structure
- Use "View Entries" to browse all your created content
- Filter by type (entries, poems, notes)
- Preview content before opening
- See word counts and creation dates
Simjot/
├── src/
│ ├── main/
│ │ ├── core/ # Domain models, services, poetry, sim, exports
│ │ ├── infrastructure/ # Persistence/adapters/utilities
│ │ ├── resources/ # App resources (if any)
│ │ └── ui/ # Swing UI (features, panels, widgets, etc.)
│ └── module-info.java # Java module definition
├── tests/ # Unit tests (mirrors main packages)
├── docs/ # Project documentation & screenshots
├── build/ # Compiled classes and build artifacts
└── sources.txt # Source file listing (build helper)
- Modular Java application using Java Platform Module System
- Swing-based UI with custom Look & Feel
- CardLayout navigation for smooth panel transitions
- Observer pattern for UI updates and state management
- File-based persistence with custom serialization
- Java 17+ with Project Jigsaw (modular system)
- Java Swing for cross-platform GUI
- Java 2D Graphics for drawing and image processing
- Custom file formats for data persistence
- Built-in audio support for sound effects
- Journal entries:
.note
files with metadata - Poems:
.poem
files with title and content - Settings: Configuration files in user directory
- Multiple background options for different writing modes
- Customizable font sizes for journal entries and notes
- Adjustable mood tracking visualization
- Personalized color schemes for drawing tools
- Default brush sizes and colors
- Auto-save intervals
- Thumbnail generation preferences
- Audio feedback controls
- Tutorial and tip visibility
This application wasn't meant to be commercially available, it's a personal journaling application, but if you'd like to contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Ensure Java 17+ is installed
- Import the project into your preferred IDE
- Run the main class:
main.ui.JournalApp
- Make changes and test thoroughly
- Application won't start: Ensure Java 17+ is installed and in your PATH
- Drawing performance: Close unused applications for better graphics performance
- File not found errors: Check that the journal folder path is accessible
For technical issues or feature requests, please check the project documentation or create an issue in the project repository.
Happy Journaling!