Skip to main content

Read your codebase. Generate interview questions.

Project description

Churn

A personal developer CLI tool that reads your codebase and generates interview questions based on your actual project.


What It Does

Churn scans a local project directory, identifies the most frequently edited files using git log, compresses the code, and sends it to the Gemini API. It returns 15 interview questions with detailed answers across 3 experience levels, saved as a markdown file.


Current State

This is a personal project under active development. It is not published to PyPI yet.

What works today:

  • Local project directory scanning (recursive, all subfolders)
  • Git-based important file detection via git log --stat
  • Code compression — strips comments and blank lines
  • Gemini API integration (google-genai)
  • Structured JSON output parsed into a markdown file
  • 3 experience levels: Fresher / Mid / Senior — 5 questions each

Usage

Requirements: Python 3.8+, a Gemini API key from aistudio.google.com

# Clone the repo
git clone https://github.com/dhawalshankar/churn
cd churn

# Create and activate virtual environment
python -m venv churn-env
churn-env\Scripts\activate  # Windows
source churn-env/bin/activate  # Mac/Linux

# Install dependencies
pip install google-genai click python-dotenv

# Add your Gemini API key
echo GEMINI_API_KEY=your_key_here > .env

# Run
python main.py ./your-project-path

Output is saved to churn-output.md in the current directory.


Output Structure

## FRESHER
Q1: What does this project do?
A: ...

## MID
Q1: Why did you choose this database over alternatives?
A: ...

## SENIOR
Q1: What are the security risks in your current architecture?
A: ...

Files Scanned

Included: .py .js .ts .tsx .jsx .java .go .cpp

Ignored: node_modules/ .git/ dist/ build/ __pycache__/ .next/ venv/ churn-env/


Privacy

  • No code is stored at any point
  • Everything runs locally — no backend server
  • Code is processed in memory, sent to Gemini, and wiped immediately
  • Gemini API does not use API request data for model training

Tech Stack

  • Python 3.12
  • google-genai — Gemini API SDK
  • click — CLI
  • python-dotenv — environment variables

Roadmap

  • PyPI publish — pip install churn
  • GitHub public repo URL support
  • VS Code Extension
  • Custom focus flag — --focus security
  • PDF export

License

This is a personal project. All rights reserved.

© 2026 dhawalshankar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

churn_cli-0.2.0.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

churn_cli-0.2.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file churn_cli-0.2.0.tar.gz.

File metadata

  • Download URL: churn_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for churn_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 66cd1bbb35ebe15b143f1a5185f187ec21d9d315585b948041a6a4d64225f7aa
MD5 63650f7c08270d71d401c7f0b1c7a7eb
BLAKE2b-256 d29f1ccd2ec030d495251fd7a4fee054abb8e2df56515618f60c5cef8c5cffe4

See more details on using hashes here.

File details

Details for the file churn_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: churn_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for churn_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b801931068b1bcd3f8af325afff5399d2ecb153ca70f7d9662d01dcf50cad37e
MD5 f3873359aebda67e68238c4fd048f696
BLAKE2b-256 1d35f193a00fb47b7b8aa9cf3f576fd9f78600876561cde4d94fca719021d5c3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page