proof by build.
validate the knowledge. validate the homelab.
wfd / Feb 28, 2026 / 5 min
Stub i haven't finished writing this yet. i publish drafts early as part of WFD 17.
Corgi is live Corgi is available on the Chrome Web Store and Firefox Add-ons. i'm doing weekly updates on both stores because of review policies, so the latest build is usually ahead of what's published. docs and source are at corgi.ryanaque.com and github.com/schmayterling/corgi.
i've subscribed to Kagi and cancelled more times than i want to admit. the search results are genuinely better than Google, with no ads, no SEO slop, and no sponsored placements. the product is good and i want to use it. but every time i open it i get annoyed by how it looks, and eventually that annoyance wins and i cancel again.
Kagi looks fine on its own, but i can't make it mine. i spend hours a day looking at a search engine and i care about how that experience feels. Google doesn't let you customize anything either, but Google also isn't charging me $10 a month. when i'm paying for a tool i use constantly, i expect to be able to shape it to my preferences.
what Kagi offers is a textarea and a 40,000 character limit. paste CSS, hit save, hope for the best. i couldn't compose multiple themes, and settings pages went unstyled entirely. if i wanted glassmorphism (WFD 20) and to hide AI features at the same time, i had to merge the CSS by hand and pray it fit under the cap. the textarea works and credit to Kagi for offering it at all, but staring at off pixels every day wears on you. small things like spacing that doesn't quite line up, colors that are close but not right, elements that can't be targeted cleanly through a character-limited textbox. beyond theming i also wanted the ability to extend Kagi with my own plugins, the way Vencord lets people build plugins for Discord. CSS alone can't do that.
i'm generalizing here. i don't have hard numbers on how many people were struggling with this, just what i saw in Discord threads, GitHub issues, and forum posts.
i kept watching other people hit the same walls. pdanzma's KageCSS maxed out the old 10k character limit, people copied raw CSS from GitHub gists into a textbox, and themes broke on Kagi updates with no warning and no fix. i checked Chrome Web Store and Firefox Add-ons and nobody had built an extension for any of this, so i built one.
Corgi is a browser extension that hooks into Kagi's runtime before its own code executes. it intercepts styles before first paint, patches globals, and embeds its settings directly into Kagi's settings page at /settings/corgi. there's no popup and no separate dashboard, it just looks like it belongs there.
How does it hook in? most browser extensions inject code after the page loads, which means you see a flash of the original page before your changes kick in. Corgi uses a WXT content script with
run_at: document_startto execute before Kagi's own JavaScript runs. it patcheswindowglobals and injects CSS before the browser paints the first frame, so there's no flash of unstyled content.

it ships with 29 plugins across three categories: typography fixes, infinite scroll, custom backgrounds, sticky sidebars, and a cursor-following cat. themes layer and compose without character limits, and every page gets styled including settings.
What does "compose" mean here? in Kagi's native textarea you get one block of CSS. if you want two themes at once, you paste both into the same textbox and hope they don't conflict. Corgi treats each theme as a separate plugin that can be toggled independently, so you can layer a glassmorphism theme on top of a typography fix without either one knowing about the other.
i genuinely believe in what Kagi is doing. the web got worse because search got corrupted by ads, and the only way to fix that is to build a search engine that works for the person using it instead of the person buying the ad. Kagi is one of the few companies actually trying that, and i want it to succeed. i use search more than anything else on the internet and i interact with it dozens of times a day, so when that experience feels wrong it doesn't just annoy me, it makes me resent a product i'm paying for and actually believe in.
building Corgi is how i reconciled those two things. i care about Kagi's mission and i care about how my tools feel to use, and now i don't have to choose between them.
arguments against building this:
arguments for:
i'm still actively developing it, so things break and APIs shift. WFD 29 has more context on why this stayed active when everything else got paused.
if you use Kagi and you've ever wished it gave you more control, take a look.