⚙️ Technical Explainer

The 4-step loop that turns
dead build time into income.

Transparent, opt-in, open source. Here's exactly what happens inside your editor.

Four steps. Zero friction.

01

📦 Install the extension

DevCut is in private beta, so it's not on the VS Code Marketplace yet — you install it from a .vsix file. Download the file (link at the bottom of this page), press Ctrl+Shift+P (⌘⇧P on Mac), run Extensions: Install from VSIX…, pick the file, and reload the window. The extension is open source (MIT), zero telemetry beyond impression counting, and stores nothing on your local machine beyond a pseudonymous user ID.

02

⚙️ Run your tasks normally

Build, test, install — exactly as you do today. DevCut hooks into the VS Code Tasks API (onDidStartTask / onDidEndTask events). When a task runs for longer than 3 seconds, the extension makes a single HTTP call to fetch an ad line — nothing is sent before that threshold. No background polling. No always-on connection.

03

📈 Impressions = earnings

Every 30-second slot where an ad is visible is one impression. At the end of the slot, a lightweight POST records the impression ID and your pseudonymous user ID — no task content, no code, no keystrokes, nothing personal. Clicks earn more: when you click an ad, a click event is recorded (again, just the ad ID and your user ID). Your running balance is visible in the Command Palette at any time via DevCut: Show Earnings.

04

💸 Withdraw to UPI

Set your UPI ID once in the extension settings (devcut.upiId). When your balance crosses ₹50, request a withdrawal from the extension or the dashboard. During the beta each withdrawal is reviewed and paid manually to your UPI ID, and you can watch its status on the dashboard. No bank forms. No SWIFT codes.

Exactly what leaves your machine.

Nothing about your code, teammates, or projects ever leaves your editor. Here is the complete list.

Data Why it's needed Sent to server?
Pseudonymous user ID (random UUID, generated locally on first install) Associate impressions and earnings with your account without requiring an email or login Yes — every request
Task event type (build / test / install — derived from task name regex) Fetch the right ad category for the slot type Yes — on task start
Impression duration (seconds the ad was visible) Validate the impression and calculate earnings Yes — on task end
UPI ID (only if you set one) Route your payout to the right account Yes — on payout trigger only
Code content, file names, or repo names — Never
Keystrokes or editor activity — Never
Team members, Git commits, or PR data — Never
IP address Fraud/abuse detection (e.g. multiple accounts sharing one payout ID) Stored against signups and impressions
Zero-trust option: The entire server is open source. You can fork it, run a self-hosted instance, and pay out however you choose. The extension accepts a custom server URL via devcut.backendUrl in settings.

For the curious

Does the extension slow down VS Code?

No. It only makes a single lightweight HTTP call when a task starts (to fetch the ad line) and another when it ends (to record the impression). No background polling, no analytics SDK, no always-on WebSocket.

Can I turn it off during focus time?

Yes. One command — DevCut: Toggle — or flip devcut.enabled to false in settings. Earnings pause instantly and resume when you re-enable. The status bar item disappears completely while disabled.

How does the second-price auction work?

At each impression, the server ranks all active bids for the matching slot type. The highest bidder wins and pays ₹0.01 above the second-highest bid — never more than their stated max. This prevents advertisers from overpaying and encourages honest bidding.

What task types trigger a slot?

Any VS Code task that fires onDidStartTask and runs for >3 seconds. This includes npm run build, cargo build, jest, pytest, docker pull, npm install, and any custom task in your tasks.json. You can whitelist or blacklist specific task names in settings.

How are impressions verified?

The server issues a signed token with each ad fetch. The extension sends that token back when recording the impression, along with the measured slot duration. The server verifies the signature and rejects impressions that were never fetched or that arrive outside the valid time window.

Can I audit the payout math?

Yes — the impression counter, earnings tally, and withdrawal ledger are all in the open-source server repo. You can also run DevCut: Show Earnings Breakdown in the Command Palette to see a per-day log of slots, impressions, clicks, and accrued balance.

Ready to try it?

Install the extension, then get your invite code emailed to you in seconds.

Install (30 seconds)

DevCut is in private beta, so it's not on the Marketplace yet. You install it from a file:

  1. Download the extension (.vsix) below.
  2. In VS Code press Ctrl+Shift+P (⌘⇧P on Mac) and run Extensions: Install from VSIX…
  3. Pick the file you downloaded, then reload the window.
⬇ Download DevCut (.vsix)