Developers wait on AI all day. That wait is an ad slot. One network, three doors. If you code: install the VS Code, Cursor or Chrome extension. A native ad while the model thinks. You keep 70%. We don't read your prompts. If you sell a developer tool: you show up in the IDE and the browser, targeted by the stack they actually use (React, Python, AWS). Pay €200, get €400 this week. If you shipped a chat app: npm i @idlen/chat-sdk. Three lines. Ads optional. No key, no ads. You keep 70%.
I got tired of ads that pretend developers hang out on LinkedIn. They hang out in the editor, in the browser tab waiting on Claude, or in the chat app someone shipped last month.
Idlen is one network, three doors.
1. You code: VS Code / Cursor / Chrome extension. Ads while the model thinks. You keep 70%. Prompts stay on your machine.
2. You sell a tool: you buy that slot. Targeting is the real stack, not a persona. Pay €200, get €400 this week.
3. You built a ChatGPT-style app: npm i @idlen/chat-sdk. Three lines. Ads off until you put a key in.
Video is 50 seconds, one pass per door.
If you try it, tell me which door and what broke. I'll be in the comments today.
idlen.io
Report
Keeping 70% of the ad revenue makes this more interesting for developers. If the ads stay relevant and unobtrusive I could see this working well.
@james_wilson60 That's the bet. 70% is the actual split, not a launch number.
Relevant means the stack in the repo, not a persona. Unobtrusive means a card while the model thinks, not something in your code. Formats and cooldown are yours.
If you try the extension and an ad is loud or off, tell me which one. That's the part I want to hear.
Report
I like the privacy angle here, especially the point about not reading prompts. That's important when developers are working with private code or company data.
The extension never sends the prompt or the file you're editing. Targeting is the stack on disk: package.json, go.mod, that kind of file. Not the code, not the comments, not what you typed to the model.
If you're on a work repo, that's the whole point. Company data stays on the machine.
Pay €200, get €400. First deposit this week. We match it. You show up in the IDE and the browser, targeted by the stack they actually use, not a persona.
Not a free credit. You put €200 in, the balance is €400.
"prompts stay on your machine" and "targeting is the real stack, not a persona" are in tension - if you're targeting by React/Python/AWS, something has to detect that stack locally and send at least a category label out, even if the raw prompt text never leaves. what exactly gets transmitted to pick the ad - installed extensions, file extensions in the workspace, package.json contents? that's the part I'd want spelled out before installing something that sits in my editor
@galdayan Fair. Those two lines only hold if "the stack" is a short allowlist, not the repo.
What leaves the machine to pick the ad:
1. Package names. We scan manifest files only, depth 5, skip node_modules / .git / dist / venv. package.json (dependencies, devDependencies, peerDependencies), requirements.txt, pyproject.toml, go.mod, Cargo.toml, Gemfile, pom.xml, Gradle, composer.json, pubspec.yaml, Package.swift, *.csproj. We send the names. Not versions, not scripts, not the rest of the file.
2. Labels we already know: platform is vscode, plus the trigger that fired (ai_prompt, file_save, idle). The label, not the file.
3. Your user id if you signed in. Same name list is synced once a day so the next ad request is faster.
What does not leave: the prompt, the buffer, source, comments, installed extensions, a file-extension crawl of the workspace.
If there is no manifest, we send vscode / developer / coding and you get a generic ad.
The scan is DependencyService.ts in the extension. If that list is still too much for a work repo, don't install it. I'd rather you skip than trust a slogan.
Idlen
Maker here.
I got tired of ads that pretend developers hang out on LinkedIn. They hang out in the editor, in the browser tab waiting on Claude, or in the chat app someone shipped last month.
Idlen is one network, three doors.
1. You code: VS Code / Cursor / Chrome extension. Ads while the model thinks. You keep 70%. Prompts stay on your machine.
2. You sell a tool: you buy that slot. Targeting is the real stack, not a persona. Pay €200, get €400 this week.
3. You built a ChatGPT-style app: npm i @idlen/chat-sdk. Three lines. Ads off until you put a key in.
Video is 50 seconds, one pass per door.
If you try it, tell me which door and what broke. I'll be in the comments today.
idlen.io
Keeping 70% of the ad revenue makes this more interesting for developers. If the ads stay relevant and unobtrusive I could see this working well.
Idlen
@james_wilson60 That's the bet. 70% is the actual split, not a launch number.
Relevant means the stack in the repo, not a persona. Unobtrusive means a card while the model thinks, not something in your code. Formats and cooldown are yours.
If you try the extension and an ad is loud or off, tell me which one. That's the part I want to hear.
I like the privacy angle here, especially the point about not reading prompts. That's important when developers are working with private code or company data.
Idlen
@iris_carr That's the line we won't cross.
The extension never sends the prompt or the file you're editing. Targeting is the stack on disk: package.json, go.mod, that kind of file. Not the code, not the comments, not what you typed to the model.
If you're on a work repo, that's the whole point. Company data stays on the machine.
Idlen
Door 2, for people who sell to developers.
Pay €200, get €400. First deposit this week. We match it. You show up in the IDE and the browser, targeted by the stack they actually use, not a persona.
Not a free credit. You put €200 in, the balance is €400.
idlen.io/advertisers/welcome-offer
Dial
"prompts stay on your machine" and "targeting is the real stack, not a persona" are in tension - if you're targeting by React/Python/AWS, something has to detect that stack locally and send at least a category label out, even if the raw prompt text never leaves. what exactly gets transmitted to pick the ad - installed extensions, file extensions in the workspace, package.json contents? that's the part I'd want spelled out before installing something that sits in my editor
Idlen
@galdayan Fair. Those two lines only hold if "the stack" is a short allowlist, not the repo.
What leaves the machine to pick the ad:
1. Package names. We scan manifest files only, depth 5, skip node_modules / .git / dist / venv. package.json (dependencies, devDependencies, peerDependencies), requirements.txt, pyproject.toml, go.mod, Cargo.toml, Gemfile, pom.xml, Gradle, composer.json, pubspec.yaml, Package.swift, *.csproj. We send the names. Not versions, not scripts, not the rest of the file.
2. Labels we already know: platform is vscode, plus the trigger that fired (ai_prompt, file_save, idle). The label, not the file.
3. Your user id if you signed in. Same name list is synced once a day so the next ad request is faster.
What does not leave: the prompt, the buffer, source, comments, installed extensions, a file-extension crawl of the workspace.
If there is no manifest, we send vscode / developer / coding and you get a generic ad.
The scan is DependencyService.ts in the extension. If that list is still too much for a work repo, don't install it. I'd rather you skip than trust a slogan.