krasivawindows.com tooling
AI editing behind a human approval queue, and releases that roll themselves back
Problem
I wanted AI help keeping the site's content and SEO current, but nothing should go live without a person approving it. The plugin and the theme lived only on the server, with no history and no safe way to release a change.
Approach
A PHP plugin with registered abilities for windows, doors, service areas, the gallery, education pages, pages and posts, plus menus, redirects, image alt text and Yoast keyphrases, and a review workspace where staff approve each change section by section. I copied the live theme into git (144 files, checked against the server by md5) so theme changes have history. The deploy workflow lints the PHP, checks the version and packages the release, ships it to the server without stored credentials, swaps it in atomically, clears the page cache, checks key pages and restores the previous copy if anything fails. Visual changes are mock-tested against the live page's own stylesheets before release.
Process
7 dated steps, from the project’s history
-
Plugin into git
Version 1.2.6, already live on the site, moved into a repo. 1.3.0 added a website to-do list, a daily checkup and scheduled "Later" releases.
-
Theme copied from the server
Brought the live theme into git and checked every file against the server. The AI Changes screen became a full-width workspace: sections, a list, then the change itself.
-
Lighter city pages
Link-button photos on city pages switched to small thumbnails, cutting each page's image weight sharply.
-
Hub card photos
Found that the hub cards read the wrong field, so every card showed the K logo. Made the photos fill the top of each card, caught a padding regression by mock-testing against the live stylesheets, fixed it, and rolled the larger photos out to every hub page.
-
Push to deploy
From GitHub to the server, with an atomic swap, cache clear, page checks and automatic rollback. Plugin 1.3.15 was the first release through it.
-
Home photos: three rounds, then held
Proposed sharper job photos for the four "View Our Work" cards, with corrected alt text for a windows photo labelled "entry doors". After three rounds of picks I held the photos and the alt-text fix back because they weren't the best yet. The work waits on a branch, and the live alt text still reads "entry doors".
-
Plugin 1.3.16
The latest release of the plugin.
Results
Plugin versions 1.2.6 through 1.3.16 shipped between October 14 and October 23, 2026. Content edits go live only after a person approves them, and image alt text is queued for spot checks with undo.
Lesson
The 1.3.12 mock left out the page's inline styles and missed a padding regression, which 1.3.13 fixed. Mocks now load the live page's own stylesheets.