Skip to content

ikkxeer/CraftCoding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

CraftCoding

CraftCoding

Monitor your coding sessions. Prove every line is yours.

Python Platform License Built with AI

Yes, this anti-AI tool was built with AI. The irony is very much intentional.


What is CraftCoding?

CraftCoding is a desktop application that runs silently while you code. It watches your windows, browser tabs, and running processes every second. The moment it spots an AI tool — ChatGPT, Cursor, Copilot, or anything else — it fires an alert, docks your score, and in Strict Mode redirects you.

When you finish a project you get a certificate PNG with your stats and one of three seals:

  • 🥇 Artisan Coder — 0 detections, score ≥ 90%
  • 🥈 Hybrid Coder — used hints or had some detections
  • Vibe Coder — score below 50%

Why does this exist?

During my second year of cross-platform application development studies, I started noticing a worrying pattern: students were handing their problem-solving over to AI entirely — often without understanding what came back.

AI is a powerful tool. The issue is unconscious dependency. CraftCoding makes the choice deliberate. You can still ask for help — it just costs you points and downgrades your seal.

The certificate is not a judgment. It is a record.


Features

  • Project sealing: name your project, seal it, and the timer only runs while you're actively coding
  • Live timer: pauses and resumes, everything saves automatically to a local SQLite database
  • 4-layer AI detection: window titles, browser process arguments, running executables (Cursor, Copilot, Tabnine…), and live Edge/Chrome session files
  • Two modes: Friendly (warnings only) or Strict (closes the AI tab and redirects to Stack Overflow)
  • Human Score: starts at 100%, −5 per detection, −10 for using the emergency hint
  • Emergency mode: if you're completely stuck you can request a hint, but it downgrades your seal
  • Certificate export: generates a styled PNG with your medal image, stats, and a unique ID
  • Project library: manage all your past projects, filter by status, reopen or delete them

Installation

Prerequisites

  • Python 3.10 or higher
  • Windows 10 / 11 (detection layers 2–4 are Windows-specific)

1 — Clone the repo

git clone https://github.com/yourusername/craftcoding.git
cd craftcoding

2 — Install dependencies

pip install customtkinter pygetwindow pyautogui psutil Pillow
Optional: Firefox session detection
pip install lz4

3 — Add your medal images

Place the three medal PNGs in an img/ folder next to the script:

craftcoding/
├── craftcoding.py
├── craftcoding.db        ← created automatically on first run
└── img/
    ├── artisancoder.png
    ├── hybridprogramer.png
    └── vibecoder.png

4 — Run

python craftcoding.py

How to use it

1. Type your project name  ──▶  Press Enter or click SELLAR
                                        │
2. Choose your mode  ────────────────▶  Amable (warnings) or Estricto (closes tabs)
                                        │
3. Click ▶ INICIAR FORJA  ────────────▶  Timer starts. CraftCoding watches.
                                        │
4. Code.                                │
                                        │
5. Click ⏸ PAUSAR  ─────────────────▶  Progress saves automatically.
                                        │
6. Click 🏆 CERTIFICAR  ─────────────▶  Get your seal. Export your certificate.

Your project library is always accessible from the sidebar with 📂 Mis Proyectos. You can close and reopen the app at any time — everything is saved.


Detection accuracy

Scenario Result
ChatGPT open with a renamed chat title ✅ Detected — window title scan
Claude in an Edge tab in the background ✅ Detected — session file scan
Cursor IDE running ✅ Detected — process scan
GitHub Copilot active in VS Code ✅ Detected — process scan
ChatGPT visited 20 min ago, tab now closed ✅ Not detected — history scan intentionally removed
Edge closed, old session file on disk ✅ Not detected — 5-minute freshness check
Ollama running locally ✅ Detected — process scan

Project structure

craftcoding.py        Entry point and full application
craftcoding.db        SQLite database (auto-created, auto-migrated)
img/                  Medal images used in certificate generation

The database stores: project name · total seconds · Human Score · AI detection count · status · start/end dates · seal type. Schema migrations run automatically — old databases update without data loss.


Tech stack

Library Role
CustomTkinter Modern dark-mode desktop UI
psutil Process monitoring
PyGetWindow Window title scanning
PyAutoGUI Tab redirection in Strict mode
Pillow Certificate PNG generation
SQLite3 Local project database (stdlib)

CraftCoding — because the best code is the code you actually understand.

About

Application developed to promote the non-use of AI in programming, a tool to focus on and avoid using AI during code development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages