Govind Charpe
Résumé GitHub
A shortcut to the good stuff
↑↓ Explore ↵ Goesc Close
Live product

GitAnalyzer

An explainable developer-feedback product that turns recent repository history into scoring, patterns, and practical recommendations.

  • React
  • TypeScript
  • GitHub API
  • Supabase
  • Netlify Functions
GitAnalyzer product overview explaining how repository history becomes practical engineering feedback.

GitAnalyzer overview

01

Overview

GitAnalyzer turns recent GitHub commit history into an explainable repository report. It separates quality dimensions, surfaces recurring patterns, and gives maintainers and contributors a practical next action.

The product keeps the core analysis deterministic. AI is an optional assistance layer for commit-message improvement, not the authority behind the score.

Role
Product design and full-stack implementation
System
Developer-feedback platform
Core boundary
Deterministic analysis · Optional AI assistance
02

Problem

A commit history contains useful signals about how a repository is maintained, but raw logs make repeated quality problems difficult to see. Generic advice is also easy to ignore when it is not tied to the repository in front of the developer.

GitAnalyzer makes those signals legible without pretending that one score captures software quality as a whole.

03

Intended users

The primary users are developers reviewing their own commit habits, contributors learning a repository’s conventions, and maintainers who want a quick view of recurring commit-message patterns.

  • A developer preparing a cleaner project history.
  • A new contributor learning how a repository communicates change.
  • A maintainer looking for repeated clarity, structure, or consistency problems.
04

Product walkthrough

Three connected views move from diagnosis to action: the scoring model explains the report, deterministic recommendations connect patterns to changes, and optional AI assistance works from a specific diff.

GitAnalyzer scoring breakdown separating commit clarity, structure, consistency, and quality distribution.

Clarity, structure, and consistency stay visible as separate signals instead of collapsing into an opaque score.

Explainable scoring

GitAnalyzer scoring breakdown separating commit clarity, structure, consistency, and quality distribution.
Explainable scoring

Clarity, structure, and consistency stay visible as separate signals instead of collapsing into an opaque score.

Explainable scoring

GitAnalyzer recommendations generated from patterns found in the analyzed repository.
Repository-specific recommendations

Detected commit patterns become focused guidance tied to the repository being analyzed.

Repository-specific recommendations

GitAnalyzer AI-assisted commit suggestion grounded in the visible code diff.
Diff-grounded AI assistance

Optional AI suggestions use the visible code change as context; the core analysis remains deterministic.

Diff-grounded AI assistance

05

What I built

I implemented the analysis experience across repository input, API orchestration, scoring, recommendations, authenticated history, PDF reporting, and the optional AI suggestion path.

Analysis
Rule-based scoring across recent commit history
Product
Report, recommendations, history, and PDF workflows
Identity
GitHub and Google authentication
Persistence
Authenticated analysis history in Supabase
AI boundary
Diff-grounded suggestions with usage allowance and personal-key fallback
06

Architecture

The architecture deliberately separates reproducible analysis from optional generation. GitHub data enters a deterministic engine; repository patterns feed recommendations; authentication and history preserve reports; the AI path is invoked only for a selected diff.

01

GitHub APIFetches repository and recent commit data for analysis.

07

Important decisions

01
Context

A single opaque score would be difficult to trust or improve against.

Choice

Expose clarity, structure, and consistency as separate signals.

Trade-off

The report takes more space, but the user can see why the summary changed.

02
Context

Generative output can vary and should not determine the core report.

Choice

Keep analysis and recommendations deterministic; make AI assistance optional and diff-grounded.

Trade-off

The product has two related paths to explain, but the score remains reproducible.

03
Context

Signed-in users need continuity while anonymous exploration should remain lightweight.

Choice

Store authenticated analysis history in Supabase and leave the public analysis flow focused.

Trade-off

Authentication and persistence add operational complexity in exchange for useful history.

08

Reliability and testing

The analysis path accounts for GitHub API loading and error states, limits the commit window, and keeps deterministic scoring independent from AI availability. Authenticated history and personal-key fallback reduce the number of dead ends in the product flow.

The most important regression boundary is the separation between analysis data and optional generation: a provider failure must not invalidate an otherwise complete repository report.

  • Bounded recent-commit analysis.
  • Explicit loading and API error states.
  • Personal-key fallback after the monthly AI allowance.
  • Persisted report history for authenticated users.
09

Challenges and trade-offs

Commit quality is contextual. The design therefore presents a useful heuristic rather than claiming an objective measure of engineering quality. Repository-level pattern detection is stronger when it stays explainable, but that also limits how much nuance a rules-only model can capture.

10

Current limitations

  • The analysis is bounded to recent commit history rather than a repository’s full evolution.
  • Commit-message heuristics cannot measure code correctness or business impact.
  • AI suggestions depend on provider availability or a configured personal key.
  • The scoring model will need continued calibration across different repository conventions.
11

Next improvements

  • Add clearer repository-specific baseline comparisons.
  • Expand regression coverage around large and unusual histories.
  • Make scoring rules easier to inspect at the individual-commit level.
  • Improve report export and shareable analysis states.
12

Explore the product

Keep exploring / Next case study

LeadFlow

Explore the next project