Naman's Portfolio

Git Interviewer

v1.0.0

A pre-commit hook that interviews you about your code before letting you commit.

TandemCode Platform

Introduction

Git Interviewer transforms everyday commits into lightweight technical interviews. Before each commit, it analyzes your staged changes, generates interview-style questions, and requires a meaningful answer.

Most developers commit code too quickly without thinking about design decisions, intent, or tradeoffs. This tool forces deeper understanding and intentional commits—acting like a senior engineer inside your terminal.

Features

Interview Personas

Choose the personality you want challenging your commit:

  • NiceSupportive engineer who wants clarity and understanding.
  • GrumpyTired senior dev who has seen too much. Very picky.
  • SystemsAsks about architecture, scaling, risk, and tradeoffs.
  • FounderFocuses on product impact and iteration speed.

Quality Assurance

By validating your thought process before the code enters the repository, Git Interviewer ensures higher code quality and better engineering discipline across the team.

Technical Implementation

Built with Python, this tool integrates directly with Git hooks to intercept the commit process. It analyzes the diff of staged files and uses LLMs to generate context-aware questions based on the selected persona.

The application manages the interaction loop in the terminal, validating the developer's answers before allowing the commit to proceed or rejecting it if the explanation is insufficient.

What I learned

I did this project during winter break when I arrived to the airport for a flight comedicaly early, and it got delayed due to heavy snow in Boston, so I had some time to kill.

I think I got a much richer and deeper understanding of git, git workflows, and I did a lot of reflecting on my own development practices and how this tool can actually help me. I plan on making this tool a lot better and a lot more annoying to use in the future, but for now it is a good start. It was surprisingly easy for me to actually make this tool and deploy it for other's to use. Definitely want to create some more CLI tools (potentially some that are more useful), but this project was a really fun and cool weekend project.

Role

Creator & Engineer

Type

Open Source Tool
CLI Application
DevOps / Productivity

Skills

Python

Git Internals

LLM Integration

CLI Design

Package Distribution

Tech Stack

PythonGitPyPIRich (CLI)OpenAI API

Project Info

Type:Open Source
Language:Python 100%