Repository navigation
Conversation
An optional service beside Quackback that reads a website's home page as a browser renders it: the type, colours and shapes of its headline, headings, main button, cards and fields, the colours its first screen is painted in, and a screenshot of that screen. It says what it is. It sends its own agent, keeps the browser's automation flag, respects robots.txt, and never works around a bot check. Consent notices are answered by declining optional cookies, from a maintained set of rules for common consent managers and then by its own pass, and what is left over the page is hidden for the screenshot. Every request a page makes goes through a guard proxy inside the read. It tunnels secure connections on the standard port only, resolves each host itself, refuses private, internal and metadata addresses, and connects to the address it checked, so a page cannot reach the network the reader runs on. Chromium's own UDP paths are off. The service answers POST /read for callers holding its token, one read at a time, each in a process of its own that ends if it overruns. It ships as its own image (docker/browser) and an optional compose profile, with no secret but its token.
…er when one is set up With QUACKBACK_BROWSER_URL and QUACKBACK_BROWSER_TOKEN set, starting a design from a website asks the reader for the page as a browser renders it, alongside the read of its HTML and CSS. What the render shows leads: the main button and its colours, the hero's fill, the type of each role and the page's colours by area. The rendered first screen stands in for a screenshot when none is given. A reader that is waking is asked once more; without a reader, or no answer within the budget, nothing changes.
… does Two ways the rendered read led looks away from a brand: - A colour that merely covered much of the first screen, such as a promotion's panel, became the brand colour on a page with no call to action, displacing the colour the site's CSS and logo name. The rendered read now names a brand colour only from the main call to action's fill or a hero filled edge to edge; other colours join the palette. - The colours given with the rendered screen came from painted backgrounds alone, so imagery, gradients and canvases were missing and a look took its second colour from elsewhere. The reader now reads the screenshot's main colours by pixel, as an uploaded screenshot's are, and the site's brand colour leads them, since a screen's own leading colour can be a photo's.
… a website A heavy site can take half a minute to render, more when reads queue, and the design started without it. A design starts once, so it waits longer.
…een hardly shows The colours given with a rendered screen now carry the site's own leading colours after the screen's. A second brand colour used only in small places, such as a coral link colour, could fall out of a palette read from the first screen alone.
…tags are split Script, style and drawing blocks come out of a page repeatedly until nothing changes, since taking one out can join the pieces of another. A block left open runs to the end of the page, as a browser reads it, so nothing inside it is read as a link.
This was referenced Nov 1, 2026
Closed
This was referenced Nov 1, 2026
Closed
Closed
Member
Author
|
Superseded by the re-cut builder stack on current main: #917 (engine) → #918 (server) → #919 (portal) → #920 (builder) → #921 (AI) → #922 (tooling), with the critique's wave 1 in #924. The new stack merges main once, renumbers the migrations to 0310+, and has CI green with all review threads addressed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An optional service that reads a website's home page as a browser renders it, so Quackback AI starts from a brand's exact type, colours and buttons and a clean screenshot. Without it, websites are read from their HTML and CSS as before.
In this PR
Measured
Against what an honest browser renders, the reader's type, button and colour reads went from 47% correct to 89% on twelve sites it was never tuned on, and to 74% on thirty more. Designs started from a rendered read stopped losing brand colours on sites that theme themselves with scripts.
Fifth of five stacked PRs.