DEV Community

Cover image for I got tired of ugly websites. So I built a tool to fix them (and yes it has AI)
Royshell
Royshell

Posted on

I got tired of ugly websites. So I built a tool to fix them (and yes it has AI)

We've all been there.

It's 11pm. You're reading an article. The background is blinding white. The font is tiny. There are three cookie banners, a chat bubble, a newsletter popup, and somehow also an ad shaped like a button that says "CONGRATULATIONS."

I got fed up. So I built Polish ✦ 🇵🇱 - a Chrome side panel that lets you restyle any website, instantly, without touching the code.

For the record: I am Polish (well at least, I hold a Polish citzenship). The name was inevitable. I had no choice.

I also have some accessibility background, which means I've spent a lot of time thinking about how people actually read and interact with the web — and how badly most websites fail at it. Polish is partly a product of that frustration. Readable fonts, better contrast, focus mode that strips the noise — these aren't just nice-to-haves. For a lot of people, they make the difference between being able to use a site or not.


What it does

You open the panel, you click a few things, and the page transforms in front of you. No settings menus. No extensions with 47 permissions you don't understand. Just: make this look better.

One-Click Polish gives you five toggles:

  • Dark Mode
  • More Contrast
  • Focus Mode ← this one removes ads, cookie banners, sidebars, popups, and chat widgets. It's kind of life-changing.
  • Extra Spacing
  • Readable fonts

Theme Presets are full-page visual vibes — Miami Vice, Cyber Mode, Night Owl, Newspaper, Clean Reader. Yes, Miami Vice is a legitimate reading mode.

Fine-Tune lets you adjust font size, heading scale, colors, and font family if you're the kind of person who has opinions about typography. (You're a developer. You do.)

AI Style is the fun one. You type something like "make this look like a retro terminal" or "luxury magazine, serif fonts, warm tones" and it generates a full CSS style for the page. Powered by Llama via Groq, running server-side so you don't need an API key.


The stack

  • Vue 3 + TypeScript + Vite
  • Tailwind CSS v4
  • Pinia
  • Chrome Extension Manifest v3
  • Groq / Llama proxy (separate repo)

It was a genuinely fun project to build. Chrome extensions have their own weird rules — no cross-origin fetch from the side panel, service workers instead of background pages, scripting permissions that require jumping through hoops. Worth the pain.


It's open source. Come break things with me.

The project is early. It works, it's useful, but there's a lot of room to grow:

  • More theme presets
  • Shareable styles
  • Better per-site memory
  • Whatever you think would be cool

If any of that sounds interesting, the repo is here:
👉 github.com/Royshell/polish

Stars are appreciated. PRs are more appreciated. Opinions in the comments are fine too.


Now if you'll excuse me, I have some websites to fix.

Top comments (0)