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.1.2.tar.gz (5.9 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.1.2-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: churn_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 5.9 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.1.2.tar.gz
Algorithm Hash digest
SHA256 55549a47a9955a0e28f4fb64114b9427eef3e4216114fe6ccf6bf857a612932a
MD5 23ed8318d85a97a0331ce78df468ce3d
BLAKE2b-256 d9defdf3f32ab22ef24ebf1e94fa4041994eece601eda7db12ea05640dadc46e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: churn_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.1 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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 649344c8fa4f9054f9c60fc372776d408d332a659c4afa577555b6cb3a67ac45
MD5 ef7f9d2f9b24f0a257531fa29864830c
BLAKE2b-256 f5de2ac19e1a15eeb3a62989b88dd0531706a0a7289bc5fe643c5bdcdfd7ed62

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