Kaizen (改善) is a Japanese term meaning "change for the better" or "continuous improvement". This project embodies that philosophy by providing a personal, automated journal to track and visualize your daily progress in algorithm and system design challenges.
It's designed for software engineers who regularly solve coding problems or study system design, allowing them to maintain a self-updating portfolio that showcases their learning journey directly from their Git commit history.
The project operates on a simple principle:
- Commit with Structure: You commit your daily algorithm solutions or system design notes to a Git repository using a specific commit message convention.
- Parse & Generate: A Rust-based CLI tool (
kaizen-parser) automatically parses these structured commit messages to extract relevant data (title, notes, language, type, GitHub link). - Visualize: A Next.js frontend application (
website) consumes this generated data to present a clean, minimalist interface featuring a GitHub-style calendar heatmap and a chronological timeline of your progress.
This creates a seamless workflow where your daily coding practice directly feeds into a visually appealing and informative personal journal.
This repository is a monorepo composed of two main components:
-
A powerful Rust-based command-line interface that acts as the backend data processor. It's responsible for:
- Parsing Git commit messages that adhere to a predefined convention.
- Extracting structured information about your daily coding challenges and notes.
- Generating a
data.jsonfile, which serves as the primary data source for the frontend.
For detailed information on its features, usage, and commit conventions, please refer to the Kaizen Parser README.
-
A modern Next.js and TypeScript application that serves as the user interface for your Kaizen journal. It focuses on:
- Consuming the
data.jsonfile generated by the parser. - Presenting your progress through an interactive calendar heatmap.
- Displaying a detailed chronological timeline of your solved problems and notes.
- Providing a minimalist and clean user experience.
To learn more about its features, setup, and deployment, please visit the Website Frontend README.
- Consuming the
To get started with the Kaizen project, you'll typically interact with both the parser and the frontend. Follow these general steps:
- Clone the Repository:
git clone https://github.com/josimar-silva/kaizen.git cd kaizen - Set up the Parser: Navigate to the
kaizen-parserdirectory and follow the instructions in its README to build and run the CLI tool. This will generate yourdata.jsonfile. - Set up the Website: Navigate to the
websitedirectory and follow the instructions in its README to install dependencies, build, and run the frontend application.
We welcome contributions to the Kaizen project! If you're interested in improving the parser, enhancing the frontend, or adding new features, please see our Contributing Guidelines for more information.
This project is licensed under the MIT License. See the LICENSE file for details.