Changelog

Dated, public record of what changed on this site and in the platform behind it. Each entry has a stable anchor you can link to.

Releases, newest first

· site-2026.08h

The carousel turns again, and the cache stops lying

  • Put the rotation back. Yesterday's fix stopped the carousel running away by removing the animation loop, which also removed the animation: it stepped once every five seconds instead of turning. It now drifts continuously, one card roughly every four and a half seconds, and cards grow and straighten as they reach the middle rather than snapping when they get there.
  • Found the reason yesterday's carousel fix was only half applied. The stylesheet had two carousel sections, and the older one sat further down the file where it quietly overrode the new one. The stale rules were still positioning the cards.
  • Fixed a second way the same runaway could happen. The position and the card it was travelling to were wrapped separately at the end of the ring, so releasing a long drag past the last card sent it round the long way instead of settling on the card under your hand.
  • Wrote a test that runs the carousel. There is no browser in the build, so the file is loaded and driven against a stub screen: one animation loop no matter how often it scrolls in and out of view, one card per arrow press, a drag that settles where you let go. It was checked against three deliberately broken copies first, because a test that has never failed has not been shown to test anything, and the first two versions of it passed all three.
  • Asset versions are now a hash of each file instead of a date typed by hand. They had drifted: the homepage was asking for a stylesheet under a version from before that stylesheet last changed, so a returning visitor could run one day's CSS against the next day's JavaScript. A hash cannot drift.
  • Stopped the build adding a duplicate image source to six pages on every run. They had been growing a little each time.

· site-2026.08g

A carousel that works, honest ranges, and site search

  • Rebuilt the product carousel. It span from a requestAnimationFrame loop that started a second copy of itself on every visibility change, so the speed doubled each time and the arrow keys appeared to send it out of control. There is no animation loop now: cards are positioned from their offset to the active index and CSS transitions do the movement, so nothing can run twice. It advances one card every five seconds, which is slow enough to read.
  • Dragging works. The cards are links, so the browser was starting a native link drag and cancelling the pointer sequence a moment later.
  • Every card now leads with a picture. Nine are renders of the product actually running, taken from the live sites; the rest use their generated card. The card in front is larger and shows platforms and pricing, and the others scale and fade with distance from the centre.
  • Corrected the timeframes, which were wrong in one direction. Most work is 1 to 7 days, but complex and research projects run to about eight months and long-term development has no end date at all. Both ends are now stated, along with what moves them: the product, the size, the scope, the research, the business, your reply times and our current queue.
  • Added site search at /search/. The index is generated from the pages themselves and the matching happens in your browser, so there is no search backend and no query logging. With JavaScript off the page is a full site map.
23 August 2026Real previews, honest timeframes, and a product ring5

· site-2026.08f

Real previews, honest timeframes, and a product ring

  • Client previews are rendered images of each site's own front page again, taken from the live sites with Cloudflare Browser Rendering. Framing somebody else's site depended on a header they control, and the loader written to work around that removed the frame after an eight second timeout, which lazy loading could outrun. An image paints instantly and cannot be switched off by a client's deploy.
  • Timeframes now say what the work actually takes. Most websites, apps, internal tools and automations are 1 to 7 days of development and testing, after which the date is set by revisions and reply times rather than by us. Complex and research work takes longer, with a working prototype usually inside 1 to 3 days. Everything also depends on the current queue.
  • Widened the running-cost figure to nothing through a few hundred a month, because that is the real range, and said plainly that price and timing depend on the product, the size, the scope, the research and the business. We work within your budget, whatever it is.
  • Removed the creative and business switch from the content pages. Whichever view you arrived in is the view you keep.
  • Added a rotating product ring to both views: draggable, keyboard operable, and a plain grid of links with JavaScript off or reduced motion on.
23 August 2026Open pricing, corrected law, and CAA on the zone5

· site-2026.08e

Open pricing, corrected law, and CAA on the zone

  • Removed the published price brackets. They turned away small jobs that would have been a good first engagement, and anchored serious work against a number chosen for a different kind of job. The page now describes the three shapes an engagement takes and says plainly that we work to the budget you have. Ongoing support is a plan you can choose rather than something ruled out.
  • Corrected the state gaming law cited in the terms. Three of the eight Acts were repealed or wrong: New South Wales moved to the Community Gaming Act 2018, South Australia to the Lotteries Act 2019, and Queensland club raffles sit under the Charitable and Non-Profit Gaming Act 1999 rather than the Act that governs the state lottery operator. Citing a repealed Act next to a clause telling an operator they are responsible for their own compliance is worse than citing nothing.
  • Corrected the commencement date of the statutory tort for serious invasions of privacy to 10 June 2025, and described what it actually covers rather than asserting that we take it seriously.
  • Ran the privacy policy and the terms through the same AI-writing checklist as the rest of the site. Definition lists now use a colon where a dash was doing a colon's work. No clause changed meaning.
  • Added CAA records to the DNS. Without one, any certificate authority in the world can issue for this domain. The record names the eight issuers Cloudflare uses and points mis-issuance reports at our security address.
23 August 2026A simpler business view, and prose that reads like a person wrote it4

· site-2026.08d

A simpler business view, and prose that reads like a person wrote it

  • Rewrote the business view of the homepage for the reader it is actually for: a small business owner who has been quoted in jargon and billed by the hour before. New section up front on what working with us is like and what it costs to run, with the hosting figures stated rather than hidden.
  • The advanced work is still there, in a block below the four everyday services, so someone who came looking for model training or computer vision finds it in one click without it being the first thing a cafe owner reads.
  • Fixed the Through The Ropes preview. That site sets frame-ancestors limited to our production domain, which is correct of them, so the frame was blank on localhost and on every preview deployment. Each client preview now falls back to a designed card when it cannot be framed, instead of an empty white box, and the frames are only requested when they come near the viewport.
  • Ran the whole content set through the AI-writing checklist from Wikipedia WikiProject AI Cleanup. Removed 330 em dashes from the generated pages and the machine-readable files. The check is now part of the build, so it cannot come back.
23 August 2026The whole product line, and a menu that fits3

· site-2026.08c

The whole product line, and a menu that fits

  • Added six products the site had never mentioned: the HiveMind platform every other app runs on, LMLang, CognitiveAI, ExtensionUltima, GENOME and the AI Automation Partnership. Twenty-one products now, not fifteen.
  • Every service and capability page lists all the work behind it rather than one example. The mobile and desktop page cited a single product when nine of ours ship a mobile or desktop build.
  • Fixed the Explore panel overflowing its columns. The cause was a grid track sizing to its longest label rather than to the space available, so the text ran over its neighbours; the columns now have no minimum-content floor, long words break instead of widening a track, and a tall panel scrolls inside itself rather than off the page. Menu labels were shortened too, but that was the symptom and not the fix.
23 August 2026The content pages join the rest of the site6

· site-2026.08b

The content pages join the rest of the site

  • The generated pages now wear whichever skin the visitor chose. They read the same view preference the homepage does, before the first paint, and repaint through the same channel tokens pro.css uses, so arriving at a page from the business view no longer drops you into the creative one. A view switch sits in the header for anyone who arrived from a search result and has never seen the chooser.
  • Headings, page titles and link previews now carry both voices, the same way the homepage does, instead of speaking the creative voice to everyone.
  • Added an Explore panel to the homepage navigation. The site is not one document, and there was no way to find the pages that are not on it. It is a details element, so it works with JavaScript disabled and every link in it is crawlable.
  • Rewrote the services and use cases. The first pass described a general web shop (spreadsheets, bookings and "sensible automation") and left software development, mobile and desktop apps, AI training and development, computer vision, security engineering, cloud infrastructure and media out entirely. Ten services and sixteen use cases now, each pointing at something public where there is something public to point at.
  • Added industry pages for security and defence technology, and for media, entertainment and creators.
  • The generator now prunes before it writes, so a renamed page no longer leaves an orphaned copy of the old one in the tree and in the sitemap.
23 August 2026Discoverability and hardening pass6

· site-2026.08

Discoverability and hardening pass

  • Added the full public content architecture: services, products, capabilities, use cases, industries, integrations, comparisons, docs, FAQ, pricing, security, press kit and this changelog. Every page is static HTML that is complete without JavaScript.
  • Replaced the catch-all rewrite that returned the homepage with a 200 for every unknown path. Unknown paths now return a real 404, and retired paths return 410.
  • Published llms.txt, humans.txt, ads.txt, an OpenAPI schema, RSS and Atom feeds, and a sitemap index.
  • Rewrote robots.txt with an explicit per-crawler policy: search, AI-search, archival and social preview crawlers allowed; abusive clients handled at the edge instead.
  • Added first-party privacy-preserving analytics with Core Web Vitals reporting, and a marketing-tag loader that stays dormant until an ID is configured.
  • Added edge middleware for security headers, scanner traps, rate limiting and bot classification, and a Cloudflare configuration script that applies the DNS, TLS, WAF and cache settings from the API when a token is present.
21 August 2026Tripwire: humans-only activation gate2

· tripwire-1.2

Tripwire: humans-only activation gate

  • The one-time notice link no longer burns its single view on an automated fetch. Preview unfurlers, command-line clients and agent fetchers get a benign decoy; only a human opening the page activates it.
  • Server-authoritative countdown and a fix for the audio unlock race.
8 August 2026Dual-mode site2

· site-2026.08a

Dual-mode site

  • One document, two skins. The creative view and the business view share the same markup and differ by a palette repaint and a section reorder, chosen at a split-screen gate.
  • The business view never loads Three.js, PIXI or the mascot, so it costs a fraction of the creative view on first paint.
11 July 2026The trust overhaul3

· site-2026.07

The trust overhaul

  • Removed every statistic we could not back with a public artifact, including the seeded donor list and the inflated view baseline.
  • Reframed the team honestly as solo engineering amplified by AI agents rather than implying a larger staff.
  • Rebuilt the lab log with dated entries.
3 July 2026Off Firebase, onto Cloudflare3

· platform-2026.07

Off Firebase, onto Cloudflare

  • The site moved to Cloudflare Pages with a D1-backed Worker API.
  • Authentication moved from Firebase Auth to HiveMind single sign-on over OIDC, with a signed session cookie minted by our own API.
  • Bot verification moved from reCAPTCHA to Cloudflare Turnstile.

Feeds

The lab log is also published as RSS and Atom. Deprecations of any API version are announced here at least ninety days before the version is retired. See the API reference.

Last reviewed · Site changelog