GitRoast
GitRoast
GitRoast is a cross-platform desktop application designed to help developers generate faster, more engaging commit messages without changing their existing Git workflow.
Built with Tauri, Rust, React, and Vite, the app focuses on a simple interaction model: detect the active repository, read the staged diff locally, and generate a single AI-powered commit message on demand.
Overview
GitRoast is intentionally designed as a focused utility rather than a full Git client. It integrates seamlessly into a developer’s existing terminal-based workflow, providing a lightweight and responsive experience.
The core flow: detect repository → inspect staged changes → generate commit message → copy and use in terminal
Key Features
Local-First Workflow
- Repository detection and diff inspection happen entirely on-device
- No data is sent externally unless the user explicitly requests generation
AI-Powered Commit Generation
- Generates a single, usable commit message from staged changes
- Designed to balance clarity and humor without disrupting professional workflows
- Uses a hosted AI service only on demand
Trust-Focused UX
- Clear indication of when data is being processed or sent
- Explicit service availability and error states
- Designed to make behavior predictable and transparent
Robust Error Handling
-
Handles edge cases such as:
- Invalid or missing repositories
- No staged changes
- Large diffs
- Network timeouts and service failures
Cross-Platform Compatibility
- Works across major desktop platforms
- Includes support for Windows environments using WSL-based repositories
Architecture
Backend (Tauri / Rust)
- Executes Git commands
- Validates repositories and reads staged diffs
- Handles platform-specific behavior
Frontend (React)
-
Manages UI state for:
- Repository readiness
- Generation flow
- Service status
-
Focuses on clarity, responsiveness, and minimal friction
Logo

Tech stack
Attachments
Project images
This section is intentionally shaped like a simple project attachment gallery so it can later be driven by CRUD data without changing the UI contract.

Next step
Want the broader picture?
The project pages are intentionally concise and field-based. The broader context lives across the experience timeline and the rest of the portfolio.