-->

KAMIKAZE EARTH

HOW TO VIBE CODE YOUR OWN CHROME SIDEBAR EXTENSION

A step-by-step guide on how to create a Chrome sidebar extension and monetize it.
Chrome Extension Guide Header

HOW TO VIBE CODE YOUR OWN CHROME SIDEBAR EXTENSION


STEP 1: THE PREMISE



Before you touch a single line of code, you need a "why."

The Chrome Web Store is a crowded digital marketplace; you don't need to invent the "greatest thing ever" but you do need to come up with something original. 

Find a niche. Is it a specialized calculator for a specific hobby? A custom link-saver for a certain workflow? A vibe-heavy aesthetic overhaul? If it solves a problem—even a small one—it has a right to exist.

STEP 2: ARCHITECTURE & ENVIRONMENT



Create a folder on your desktop. This is your "Mission Control." Inside this folder, you’ll eventually house the three pillars of a Chrome Extension:

  • manifest.json: The "roadmap" that tells Chrome what your extension is and what it’s allowed to do.

  • sidepanel.html: The skeletal structure of your actual sidebar.

  • sidepanel.js: The brain that makes things happen when you click buttons.

CRITICAL CONFIG: Windows users, ensure you can see file extensions. Open any folder, go to View > Show > File Name Extensions. If you don't do this, you'll end up with manifest.json.txt, and Chrome will ignore it.

 

STEP 3: THE WORKFLOW (GEMINI + VIBE SHIFT)



This is where the "Vibe Coding" magic happens. We aren't writing code from scratch; we are directing it.

Install the Tool: Use Vibe Shift: SideBar Links to bridge the gap between Gemini and your local files.

The Prompt: Tell Gemini exactly what you want. "I want a Chrome Sidebar extension that [insert your idea]. Please provide the code for manifest.json (V3), sidepanel.html, and sidepanel.js."

The Drop: In your project folder, create those files as blank .txt files, rename them to the proper extensions (.json, .html, .js), and link them to the Vibe Shift sidebar.

Instant Injection: Click the "Copy" button on Gemini’s code block, then click the corresponding "Clipboard" icon in your Vibe Shift sidebar. Your code is now live in the file. No manual dragging required.

STEP 4: THE TESTING LOOP



Don't wait until you're "finished" to test.

  • Open Chrome and navigate to chrome://extensions.

  • Toggle Developer Mode (top right) to ON.

  • Click Load Unpacked and select your project folder.

  • The Vibe Check: Right-click your extension icon and select Open Side Panel.

Refine: Notice a bug? Want to change a color? Just tell Gemini: "In sidepanel.js, change the button behavior to X." Use the Vibe Shift pencil icon to quick-edit and save. Hit the "Reload" circle on the extensions page to see your changes instantly.


STEP 5: MONETIZATION & SECURITY (THE SAFE WAY)



You’ve built something cool; now let’s make it sustainable without getting hacked. This is where most beginners fail: Never put your Secret Keys in your extension code.

The Stripe "Pro" Gate: Stripe is the industry standard, but you have to handle it like a pro.

  • The Setup: Create a Stripe account. Under Product Catalogue, create a "Pro Version" product.

  • The API (The "Secret" Rule): Stripe gives you two keys: a Publishable Key and a Secret Key.

  • Publishable Key: Safe to put in your sidepanel.js. It’s like your public mailing address.

  • Secret Key: DO NOT put this in your extension. If you do, anyone can download your extension, find the key, and refund all your customers or mess with your account.

The Logic: To stay safe, use a "Middle Man" (like a simple Firebase function or a Supabase edge function) to handle the actual payment verification.

Prompt Gemini: "I want to add a Stripe 'Pro' unlock. How do I set up a secure backend listener so my Secret Key stays hidden from the frontend code?"

VIBE CHECK: If you see a code block from Gemini that says const stripeSecretKey = 'sk_test_...', STOP. Tell Gemini: "Don't put the secret key in the frontend. Suggest a serverless way to verify payments."

 

STEP 6: SHIPPING (THE CHROME WEB STORE)



Ready for the world? Here is how you cross the finish line:

The Developer Dashboard: Go to the Chrome Web Store Developer Console. You will have to pay a one-time $5 registration fee to verify your account.

The Branding Assets: This is where you make it look professional. You cannot ship without these specific PNG files:

  • Icons: You need your logo in 16x16, 32x32, 48x48, and 128x128 pixels (these can be a simple letter over a transparent background, or a color background, but be aware of how it may look in dark/light modes).

  • Promotional Marquee: A "Small Tile" image exactly 440x280. This is what people see when they search the store.

  • Screenshots: At least one (and up to five) screenshot of your sidebar at 1280x800 or 640x400.

The Zip: Create an images folder inside your project directory, drop your icons there, and then highlight all your files, right-click, and Compress to ZIP file.

The Forms: Fill out the "murky" details. You'll need a clear Description and a Privacy Policy.
(Pro-Tip: Ask Gemini to "Generate a Privacy Policy for a Chrome Extension using chrome.storage" to save time).

Submit for Review: Click publish! Google usually takes 24-72 hours to review the code. Once approved, you are officially a published developer.


STEP 7: ANALYTICS (MEASURE THE VIBE)



Once you’ve shipped, you need to know if people are actually using your creation. You don't want to guess; you want data.

Google Analytics (Traffic): To see how many people are opening your sidebar and how long they stay, you’ll need to add a Measurement ID.

  • Create a property in Google Analytics 4 (GA4).

  • Since Chrome Extensions don't allow external scripts for security, you have to use the GA4 Measurement Protocol or a dedicated extension-friendly library.

  • Prompt Gemini: "How do I integrate GA4 into a Chrome Extension V3 sidebar without violating 'unsafe-eval' Content Security Policies?"

Stripe Analytics (Revenue): This is where you track your conversions. The Stripe Dashboard gives you a "High-Level" view, but you want to watch the Conversion Rate.

  • Check your Payments tab to see successful vs. abandoned checkouts.

  • If you see a lot of "Initiated" checkouts but no "Succeeded" ones, your price point might be too high, or your "Pro" pitch isn't hitting.
PRO TIP: Use console.log events in your sidepanel.js during testing to make sure your buttons are firing correctly before you rely on the analytics dashboard for the real numbers.

 

(*IF you are not monetizing the extension at all, you essentially can skip step 5, and if you are only making the extension for your personal use, you can stop after step 4).  

Making Sidebars is a ton of fun.  If you would like to see another example of these, stay tuned as I have a new Sidebar that is currently pending approval in Chrome Store that I'm very excited to release.

> Comment Section