DEV Community

Cover image for VibeBurst: I Built a Chrome Extension That Lets AI Redesign Any Website's Vibe
Jasmin Virdi
Jasmin Virdi

Posted on

VibeBurst: I Built a Chrome Extension That Lets AI Redesign Any Website's Vibe

DEV Weekend Challenge: Community

This is a submission for the DEV Weekend Challenge: Community

The Community

You know that feeling when you've been staring at GitHub for 6 hours straight and everything just looks... the same? Every site, same vibe, same boring UI. Dark mode if you're lucky. Maybe someone made a theme extension for that one specific site. Cool.

But what if you could just throw a whole aesthetic onto any site? Like, cyberpunk GitHub at 2am because why not. Glassmorphism on your docs. Brutalist Hacker News — which honestly already looks like that anyway.

Yeah, that's what I built.

What I Built

VibeBurst is a Chrome extension. You click it, pick a theme, and AI restyles the entire page with custom CSS. Not some generic stylesheet that breaks everything — it actually reads the page and generates CSS that makes sense for that specific site.

The four themes:

  • Cyberpunk — dark backgrounds, neon cyan and magenta glows, monospace fonts
  • 🔮 Glassmorphism — frosted glass aesthetic, soft purple and teal, airy and light
  • 🧱 Brutalist — maximum contrast, pure black and white, bold red accents, zero ornamentation
  • 🌅 Retro Wave — warm 80s sunset gradients, neon pink and sky blue, synthwave nostalgia

Hit Regenerate to get a fresh take. Hit Reset to go back to normal. That's it.

Demo

Here's is simple demo and screenshots of how this works on different websites.

Same View in different views:

Retro Wave Theme

Glassmorphism

Cyberpunk

Brutalist

Code

Github repository link - https://github.com/Jasmin2895/VibeBurst

How I Built It

Stack: Plasmo + TypeScript + React for the extension, Groq API with llama-3.3-70b-versatile for generating CSS. Nothing fancy.
The AI part was honestly the easy bit. The hard part? Making the CSS not destroy the page.

Early versions were a mess. * selector wrecks everything. Touch width/height and the layout's gone. Bad contrast and you can't read anything. Took a lot of trial and error — ended up building a sanitizeCSS function to strip out anything that could break layouts before injecting.

Then there's the fact that most sites barely use semantic HTML. It's all divs and class names. Targeting header or nav does almost nothing on sites like Google. So I had to scan the site's actual stylesheets, find every class setting a background-color, and catch the JS-injected ones too.

Biggest thing that clicked: don't let the AI pick colors for class selectors. Let it style body, h1, button — the semantic stuff. Then grab the body background-color and apply it to all site-specific classes programmatically. That's when things finally stopped looking patchy.

No JS touched. Page works the same. Just looks different.
Weekend project that taught me CSS specificity is painful and theming the web is harder than it should be. 😅

It was an overall great learning experience. Thanks Dev Team for organising this short weekend challenge! 👩‍💻

Top comments (9)

Collapse
 
konark_13 profile image
Konark Sharma

Wow, so cool. Choosing a theme for your website sounds like a cool idea. I would love to add it and experiment with the websites I visit.

Have you faced any issue on any website that didn't allowed you to change it's theme?

Collapse
 
jasmin profile image
Jasmin Virdi

Thanks @konark_13

Please do share your feedback how you feel after using extension.

I faced issues on websites that uses Shadow DOM for embedding some of its content so in that case the theme is applied to page shell but not the content under Shadow DOM.

Collapse
 
konark_13 profile image
Konark Sharma

Sure, I would love to but you have made such an awesome project that I'm rather speechless so keep up the good work.

Got your point on Shadow DOM and Page shell. Any preparation to turn into a startup?

Thread Thread
 
jasmin profile image
Jasmin Virdi

Haha! I have recieved some amazing suggestions would definitely work on them first and make this more polished.

Thread Thread
 
konark_13 profile image
Konark Sharma

Sure, go ahead. All the best for VibeBurst 2.0.

Collapse
 
daveedchill profile image
David Rodriguez

This is great.

I think it would be cool if you took it beyond the AI and let users create their own color profiles. Maybe add an auto-trigger feature, allowing those profiles to enable/disable depending on the web page.

Collapse
 
jasmin profile image
Jasmin Virdi • Edited

Thanks @daveedchill

This is really cool idea. I'll definitely work on this as the custom colour profiles would give users a lot more control and the auto-trigger per site would make it feel almost like a smart dark mode on steroids.

Collapse
 
builtbyelly profile image
Elliot Otoijagha

This is a very nice project.
Is the chosen theme for a specific site always remembered?

Collapse
 
jasmin profile image
Jasmin Virdi

Thanks @builtbyelly
Currently, the theme is only remembered within the same tab. I have plans of expanding it to make it remember for a site.