Skip to content

Changelog

This page is a stitched-together project log drawn from the broader build sprint shaping the current moebis site. It captures the milestones that materially changed publishing, chat, media, automation, navigation, project tools, performance, and the public reading experience.

The current release window now runs through November 2, 2026: site foundation, grounded live chat, block-based publishing and search, native analytics, social sharing and identity SEO, resilient social feeds with proactive outage alerts, interactive project launches, optimized media, accessibility coverage, CI verification, architecture boundaries, deeper admin metrics, production server hardening, crawler-safe post discovery, and a shared profile portrait with an accessible CONNECT-state signal animation.

Reaction shader and live motion controls join the lab, alongside accessible keyboard search, safer shader resource handling, patched editor dependencies, and aligned production build delivery.

Gummy Bear joins the interactive lab with soft-body candy physics, translucent shading, five candy options including Clear, and responsive play controls.

Water World adds improved water optics, original Blender props, stronger impacts, and refined touch interaction. Gummy Bear receives a black studio thumbnail with translucent multicolor candy lettering.

Cyclone expands Shader Lab with a swirling violet funnel, alongside patched image processing, safer generated-build cleanup, and consolidated project guidance.

Three.js r186 powers Gummy Bear, Water World and Capybara SK8R. More responsive skating, clearer gameplay graphics and shorter shader tiles join today’s Cyclone shader and reliability updates.

Cinderwake side-scrolling combat now brings a persistent six-weapon campaign to the project lab, with Drones, stable anytime upgrades, evolving ship hardware, first-impact projectiles, five adaptive electronic themes and deeper spatial effects.

Cinderwake plasma bombs now drift from physical ship and Drone muzzles before proximity-fused novas, while four paid escorts follow preferred one-weapon roles and older campaigns migrate through schema 6 with one-time refunds.

Liquid Glass expands Shader Lab to 19 backgrounds with flowing blue-violet reflective rings, alongside Cinderwake v1.0.0 hull evolution, combat progression and a versioned flight log.

God's Eye View joins Projects with a credited planet explorer, persistent fullscreen, protected provider settings and a PostgreSQL cache shared across visitors.

The Bolt lightning shader expands the Projects hero to 20 backgrounds, with blue-white branching light and rippled water reflections. The build log also now includes the shipped iPhone Duo interactive project.

Hand Atlas joins Projects as a peelable 3D hand for exploring hand pain, with webcam hand tracking that mirrors your hand, and the Projects page now plays the Moebis Sizzle reel.

X Log refreshes now run only on the production service, so new posts and replies keep their daily update.

Gummy Bear, Water World and Particle Sim now run on real-time GPU particle physics: squishable candy, a pool of real particle water and a 320,000-particle playground.

The homepage now features the Cyclops product film, an interactive particle logo beside the introduction, and compact text and voice chat in About.

Version 0.1.17 brings faster publishing and a stronger project lab: resilient editorial saves, lighter core pages, durable retrieval, responsive media and coordinated improvements to Tech Tonic, Hand Atlas, Cinderwake, AI Market Maker and God's Eye View.

Version 0.1.18 launches Ocean Simulator: an endless sunset sea with realistic waves, foam and sunlight, touch exploration and accessible controls.

Version 0.1.19 brings the current Cyclops launch film to Home, with refreshed narration, captions and product scenes.

Version 0.1.20 introduces Apps for Cyclops, Pliability and Mask, features them below an eight-post homepage list, moves side projects under About with permanent redirects, and adds explicit language editions with English as the default, a styled language picker and stronger search discovery.

Read the public site in 20 languages, with English as the default. Retired language links open the matching English page.

Pliability → Parasail

Translated Tech Tonic pages stay available as daily headlines change.

OpenAI voice and retrieval bring live conversation, transcription and semantic search together.

Version 0.1.28 improves MOEBIS voice session shutdown, the spoken greeting and quiet news retrieval.

Version 0.1.29 adds a family genealogy page with an ancestral fan, trades, a timeline, a migration map and a narrated film.

Version 0.1.30 rebuilds The Long Way Home as a longer 3D film and adds About and Apps menus to the header.

Release windowApr 10-Nov 2, 2026
Latest milestoneThe Long Way Home, rebuilt
Focus areasGenealogy film · Navigation
Version0.1.30

2026-11-02

v0.1.30: The Long Way Home, rebuilt

The genealogy film returns as a longer, fully rebuilt 3D film, the header gains About and Apps menus, and the genealogy map and timeline read the records more carefully.

The Long Way Home now runs 2 minutes 42 seconds, rebuilt as a lit 3D world: a candlelit letter, a research table of luggage tags and cords, a Norwegian fjord, Görlitz and Bergen by night, a steamer crossing the Atlantic and Bratislava on the Danube.

Handwriting bleeds into the paper as it is spoken, the narration pronounces Moebius correctly, and a new sound design is built from felt piano, music box, harp and soft sea and harbour ambience.

The film has a new poster, and the caption line under the player is gone.

The About menu in the header opens Dictionary of AI, Genealogy and Projects, and the Apps menu links straight to the Cyclops and Parasail websites and to Mask on the apps page.

On the About page, Genealogy takes the highlighted button and Projects sits beside Dictionary of AI.

The genealogy map keeps each recorded place at its own point, groups nearby pins until you zoom in and filters places by the selected year.

Moves on the map and timeline now come only from dated residence, census, work or death records, never from a wedding, christening or burial alone.

Names in the ancestral fan now sit centered in their bands, with even spacing and margins, so no line touches a ring's edge.

Carl's mother now appears in the family tree under her maiden name, Judith Price, like every other woman in it.

Archive

Older transmissions

2026-11-01 to April 10, 2026 · 76 archived milestones

Open archive

2026-11-01

v0.1.29: Family genealogy

A new genealogy page traces fourteen generations of the Moebis family, with a narrated two-minute film.

About now links to a genealogy page that follows the Moebis family from a Norwegian fjord farm in 1580 to Slovakia today.

An ancestral fan chart shows every known ancestor by origin, trade or era, with names curving along each ring and zoomable branches.

A trades wall, a place-by-place life timeline and a chaptered migration map follow the family's work and journeys.

The Long Way Home, a two-minute narrated film with English captions, plays beside the page introduction.

The page publishes years only and keeps details about living relatives limited.

The v0.1.27 and v0.1.28 release notes are now translated, restoring the changelog in every language edition.

2026-10-31

v0.1.28: More reliable MOEBIS voice

Voice chat now shuts down cleanly and gives a more natural greeting.

Disconnect stops the Realtime session and playback, including after muting; mute releases the microphone.

Realtime greeting and news instructions reduce spoken internal narration while retaining the editable MOEBIS personality.

Patched development dependencies to resolve newly reported security advisories.

Longer Realtime voice answers have more output capacity; incomplete answers retain the session and partial transcript.

Restored a New Jersey voice personality and removed the unused Gemini voice benchmark.

MOEBIS voice uses Cedar, waits for completed speech, and keeps spoken captions visible through interruptions.

Connecting voice keeps the written welcome without repeating an automated spoken greeting.

MOEBIS voice plays its configured greeting once and preserves question and answer order when captions arrive late.

MOEBIS voice supports spoken interruption during playback with browser echo cancellation, while preserving question and answer order.

Voice transcription includes site and technology vocabulary hints, and dated Tech Tonic questions retrieve the matching archive instead of reusing current news.

Voice chat waits for microphone readiness and reduces speaker echo with automatic microphone gain disabled while preserving spoken interruptions.

2026-10-30

v0.1.27: OpenAI voice, chat and retrieval

OpenAI voice, text chat and semantic search bring the site’s AI features together.

MOEBIS chat now uses OpenAI Realtime with the Echo voice and live transcription, retaining the editable persona and site-source links.

Site search and chat retrieval use OpenAI embeddings in PostgreSQL while preserving keyword fallback and bounded indexing.

MOEBIS memory and God’s Eye View summaries use the shared OpenAI text model and key.

Improved article-summary grounding and streaming transcript continuity during tool calls.

Semantic search is rebuilding 1024-dimensional OpenAI vectors for the canonical site corpus, including X posts, and accepts multilingual queries while retaining existing vectors until coverage is complete.

The Dictionary accessibility smoke test exercises keyboard search as the source grows.

Calibrated semantic matching for multilingual queries against the OpenAI embedding index.

MOEBIS text chat now uses GPT-6.1 Terra with reasoning disabled, grounded site sources, readable answers and bounded usage.

Year-based X archive questions retrieve the original post text, and God’s Eye View summaries use the same OpenAI text model.

Restored saved backgrounds after hydration to keep the homepage rendering consistent.

MOEBIS chat indexes complete long passages from published site content and Tech Tonic briefings, including archived news, for semantic retrieval.

Retired iPhone Duo and AI Market Maker, redirecting their project pages to the project listing and removing their project data.

Removed the legacy Gemini SDK from chat and kept the OpenAI voice integration.

Chat now receives complete matched passages, and obsolete Gemini and 768-dimensional embedding tables are removed after full OpenAI coverage and recovery checks.

Site search indexes complete document passages with OpenAI embeddings and ranks multilingual queries more accurately, while retaining existing vectors during backfill.

Tech Tonic archive passage identifiers stay stable as new briefings arrive, preserving unchanged embeddings and indexing budget.

2026-10-29

v0.1.26: Cyclops for every screen

The Cyclops film now covers three screen types and MacBook Pro Touch with Dynamic Island.

No notch, Notch and Cutout share one updated product film on Home and Apps.

Tap, reveal and swipe with Cyclops below the system island; refreshed captions and a 20-language finale.

2026-10-26

v0.1.25: Reliable multilingual news

Translated Tech Tonic pages stay available as daily headlines change.

Tech Tonic keeps its translated interface available when daily news has no translation.

Untranslated briefings and archives show an English label and correct text direction.

Existing briefing translations remain available, including in article previews.

Public pages retain more rendered documents within a fixed memory budget to reduce repeated work during crawls.

2026-10-24

v0.1.24: Language editions, fresh covers and request security

20 public language editions, seven refreshed editorial covers, nine inline illustrations and patched request middleware.

Updated the homepage biography and arranged a smaller portrait beside its two-line title.

Balanced article headers, removed visible update dates and Edit Post, switched admin access to a shield icon and hid slogans when navigation needs more space.

Added compact related-post cards beneath articles and restored inset article illustrations.

Removed Arabic, Russian and Chinese editions from the language menu, translation resources, runtime packaging, language alternates and sitemap discovery.

Existing Arabic, Russian and Chinese URLs, including Simplified and Traditional variants, permanently redirect to the matching English page while retaining query strings and anchors.

English remains the default; the language menu count follows the supported locale registry.

Refreshed seven blog covers with varied, minimal editorial artwork and updated social previews.

Replaced nine dated inline illustrations across four posts while retaining genuine photographs, article text and captions.

Updated Multer to 2.5.0 and body-parser to 2.4.0 to address request-teardown and compressed-body denial-of-service advisories.

Clarified that public semantic retrieval may request embeddings independently of the operator provider-refresh setting.

Retained current product-film assets; language claims will be aligned during their next requested revision.

Published The AI Security Tax as the featured article in 20 languages; The Velvet Rope Era now appears in the regular archive.

Removed obsolete Arabic, Russian and Chinese translation caches from the database.

2026-10-23

v0.1.23: Security runtime update

Patched Node.js and DOMPurify to their current stable security releases.

Node.js 26.12.1 now runs the site with the existing npm 12.0.2 toolchain.

DOMPurify 3.4.17 fixes the inherited Cesium sanitizer security advisories.

The complete application verification suite, production builds and both dependency audits passed.

2026-10-22

v0.1.22: Parasail

A native 3D modeling app for Mac, bringing precise geometry into a workspace built for shaping ideas. Parasail is taking shape. More to share soon.

Pliability → Parasail

In development: Parasail Kernel and the Parasail Exchange (.para) project format.

The P app icon is unchanged, and old app links continue to work.

Parasail now has a product film and a link to parasail3d.com on the Apps page.

2026-10-21

v0.1.21: Complete multilingual editions

Read the public site in 23 languages, with English as the default and complete translated articles, Dictionary entries and captured archives.

Completed all 22 non-English editions of the captured public corpus, including the public pages, 25 published posts, Dictionary entries and historical archive text.

Saved translations as reviewed repository files that ship with the site; public reading no longer calls a translation service.

Kept existing translations and used Codex for all new text, preserving links, code, product names and embedded media.

Added native-language Dictionary search while retaining English term matching.

Patched the HTML sanitizer and development tooling after the release dependency audit.

Validated translated content, language availability and packaged files together, with last-good translations retained during temporary file failures.

2026-10-20

v0.1.20: Apps, side projects and a multilingual site

Explore three upcoming Mac apps and side projects under About, with explicit language editions, clearer navigation and stronger search discovery.

Added Apps to the header and created a dedicated directory with a full-row Cyclops film and product introduction, plus illustrated Coming soon previews for Pliability and Mask.

Moved the project gallery and detail pages under /about/projects and permanently redirected the old /projects links. Client redirects also retain query strings and page anchors, including older game aliases.

Home now places secondary Blog Posts and Projects links before the orange primary Explore Apps action on the right. Home, About, Posts and Apps have matching icons in desktop and mobile menus.

Removed ASUS Fusion VPN from the project directory, native pages, public media and discovery. Updated canonical links, sharing metadata, sitemap, search and MOEBIS grounding for the new app and project destinations.

Added Mask as the third Coming soon app, using its authored theatre-mask artwork and an introduction to on-device face swapping for live camera footage, photos and videos on Apple silicon Macs.

Highlighted Projects with the animated outline beside the About title, centered a plain Dictionary of AI button below the profile portrait, and removed the interest pills. Fixed local responsive image routing so blog covers and the About portrait reach the image server.

Home now shows eight recent posts in two desktop columns and a Load More link to the full /posts archive. Replaced its lower Projects preview with Cyclops, Pliability and Mask app cards and a View all Apps link.

Added an explicit language picker and dedicated URLs for the same 23 languages as Cyclops, with English always the default and right-to-left layouts for Arabic and Hebrew.

Translated public pages and published articles use persisted translations, localized titles and descriptions, self-canonical links, reciprocal language alternates and localized structured data. Each language edition becomes available only when its required translations are complete.

Server-rendered the cached Dictionary of AI, X Log and Tech Tonic content so visitors and search engines receive readable page content before JavaScript.

Aligned both sitemaps with article modification dates and replaced the native language dropdown with a themed, keyboard-accessible panel that matches the search and theme controls.

Translated inline article image descriptions, image-viewer captions and link labels while preserving the original links, embeds and code.

2026-10-18

v0.1.19: Updated Cyclops film

The Cyclops showcase on Home now plays the current launch film, with refreshed narration, captions and product scenes.

Replaced the narrated 1080p and 720p Cyclops film with the current cut: updated narration lines, dot-matrix activity graphs and a plain webcam mirror.

Updated the English captions to match the new narration and refreshed the film and caption cache tokens.

Consolidated operating, recovery and Ocean Simulator ownership guidance.

2026-10-17

v0.1.18: Ocean Simulator

Explore an endless sunset sea with realistic waves, whitecaps and shimmering light in the new Ocean Simulator project.

Added Ocean Simulator to Projects with its own description, generated sunset thumbnail, responsive artwork and canonical sharing and discovery metadata.

Adapted Noniv’s MIT-licensed web-ocean renderer, preserving its original six-cascade FFT waves, foam, sun glitter, procedural sky and clouds, and free camera.

Added visible settings, Pause/Resume, Reset view and fullscreen controls, with drag-to-look and held movement buttons for touch devices.

Bound rendering resolution and touch cadence, pause hidden or offscreen work, respect reduced motion and release graphics resources. Devices without compatible WebGPU show the project artwork and a clear explanation.

2026-10-16

v0.1.17: Faster publishing and a stronger project lab

Safer editorial saves, lighter public pages and durable search/chat updates, alongside usability and reliability improvements across five interactive projects.

Preserve newer typing when an earlier save finishes, isolate editor/session generations and reject stale authentication responses. Post, page and project editors retain recoverable unsaved work.

Send only route-relevant public content, reuse unchanged revisions and retry temporary failures within bounded budgets. Keep article text visible during recovery and render large articles and project pages visibly before JavaScript starts.

Give route styles clear ownership, share dark/light surface tokens and explicit panel variants, and put Home destinations and Posts filters/results earlier on mobile. Local build measurements reduced initial CSS gzip by 28.1% and the Home content JSON by about 71%.

Serve responsive hero, portrait and project artwork variants, keep real image sources in server-rendered HTML, and bound managed-image transformation work. Pause the About video when offscreen or hidden and respect reduced motion.

Use targeted editorial transactions and durable retrieval generations so search/chat refreshes retry after failures or restarts. Older refreshes cannot replace newer output, and withdrawn posts leave retrieval immediately.

Separate process liveness from database readiness, drain accepted application work on shutdown and strengthen authentication budgets, request limits, backup consistency and metrics retention. Shared server configuration is unchanged.

Update God's Eye View to official upstream 0.2.1, preserving the hosted asset paths, private provider worker and authenticated settings boundaries.

Improve Hand Atlas Palm/Back navigation, exercise pause/resume, inference cadence, hand landmark validation, camera overlay alignment and accessible mobile layer controls.

Fix Cinderwake trigger edges, launch shields, upgrade limits and retry cleanup; bound HUD updates, saves and audio allocation, and dispose imported graphics resources.

Improve AI Market Maker prediction reads, cached-state validation and scenario cancellation. Charts use actual trading-session offsets, preserve scenario points and avoid invented future volume.

Broaden Tech Tonic with Hacker News top/best, Ars Technica, The Verge, Cloudflare, GitHub Changelog and PortSwigger alongside Techmeme. Preserve original publisher links, source attribution, freshness and diversity with bounded fetches and transactional publication while retaining the daily schedule and archives.

2026-10-13

v0.1.16: Updated Cyclops product film

The homepage now plays the refreshed Cyclops narrated product film, including support for twenty-three languages.

Updated the 1080p and 720p narrated exports and their English captions to show twenty-three languages. Versioned media URLs refresh cached video while preserving click-to-play, inline playback and accessible controls.

2026-10-12

v0.1.15: Cyclops showcase and a compact About chat

The homepage pairs its introduction with the particle logo, presents the animated Cyclops mascot and product film, and brings compact text and voice chat into the About panel.

Placed the interactive particle logo to the left of the Bohemian polymath eyebrow and all things curious headline, with the welcome paragraph spanning the full width below. A contrasting light-mode palette keeps its highlights visible on the pale background.

Added the current 109-second narrated Cyclops product film with its poster, desktop/mobile video sources, an animated play overlay with playback controls revealed after play starts, English captions and a link to the app website.

Moved MOEBIS chat into About on desktop. The voice-responsive portrait sits to the right of the About heading, with the biography using the full width below. Mobile layouts stack chat below, and desktop expansion remains available.

Added the existing animated Cyclops website mascot beside the Cyclops wordmark and a small Coming soon banner above the video, with gaze scaled to the full promo card, stationary-hover tracking, standby look-around on pointer leave, click interactions and reduced-motion support. Coming soon sits to the right of the wordmark with its lower edge visually aligned to the wordmark, and the video poster uses the branded end card from the film. The footer links to the app site with Cyclops / A notch above the rest and Learn more beside the arrow.

Made connected voice sessions more visible with scanning cyan/amber light, orbiting rings and a decorative animated signal meter around the portrait, respecting reduced motion.

Balanced the chat panel’s top and bottom padding and added clearance beside the About portrait. Refreshed the homepage and About biography around current Mac apps, AI workflows and hands-on lab projects. About interest pills now sit beneath the portrait, use Web instead of Web Development, and omit Shell.

Removed the visible chat status strip and inner transcript frame, moved expand/collapse beside CONNECT, and shortened the chat panel while keeping bubbles, status accessibility and error feedback.

Updated default Open Graph, Twitter and identity previews to the current black-and-white portrait on a fresh, versioned JPEG URL, with explicit dimensions and a shared post-preview fallback.

Removed webcam and screen sharing, including capture previews and video-frame uploads. Chat retains text, voice, microphone mute, citations and its compact CONNECT, microphone and Send controls.

2026-10-06

v0.1.14: Accurate Instagram incident notifications

Instagram alerts now distinguish account authorization problems from temporary API failures, avoid notifying for brief interruptions, and confirm recovery.

Temporary, unclassified and rate-limit failures email only after three spaced failures lasting at least two hours. Requests and service restarts cannot create duplicate incident notices.

Authentication, permission and configuration failures receive specific actionable guidance. A previously delivered temporary-failure notice can escalate once when account action becomes necessary; authorization rejection does not by itself establish token expiry.

Successful feed refresh sends one recovery notification only when the failure email was delivered. Failure and recovery email delivery retries are bounded to once per hour. The last successful posts and automatic token renewal remain protected.

Provider diagnostics retain only sanitized failure category, HTTP status, error code/subcode and transient flag, without provider messages, response bodies or credentials.

Patched audited dependencies to proxy-addr 2.0.8, sharp 0.35.5, source-map-js 1.2.2 and shell-quote 1.11.0. The existing concurrently version is retained with a scoped shell-quote override.

2026-10-04

v0.1.13: Hybrid search and reliable MOEBIS conversations

Semantic search now complements keyword matching across the site and MOEBIS. Featured stories fit their content, Live conversations preserve typed and interrupted turns, and today’s metrics map and Gemini model updates remain included.

Fixed the admin visitor map appearing as a single clipped tile after opening the page. The map now updates when its container expands or changes size.

Updated MOEBIS memory synthesis and AI Market Maker news ranking and predictions to gemini-3.5-flash-lite.

Updated MOEBIS voice to gemini-3.8-live with supported audio and transcription settings. Site searches explicitly block the answer until grounding finishes, and unsupported thinking settings are omitted.

Added gemini-embedding-001 retrieval vectors in PostgreSQL for public search and MOEBIS context. Hybrid ranking retains exact title matches and keyword fallback, while content fingerprints exclude stale, deleted and draft sources. Background batches, shared daily budgets and cached query vectors bound provider usage. Background indexing pauses for one minute after each run of at most 64 documents to leave request headroom for visitor queries on the free key. Explicit MOEBIS title requests remain ahead of broader semantic matches, including changelog entries. Provider quota cooldowns honor Google’s supplied reset delay across workers, retaining cached vectors and keyword fallback while indexing waits. Daily accounting counts each document in a batch against the verified 1,000-request free allowance, reserving 100 requests for visitor query vectors.

Removed the oversized empty area below featured blog stories. The image keeps its full proportions, excerpts use a stable four-line clamp, and the article link follows the text on desktop and mobile.

Aligned gemini-3.8-live with the current Live API: typed messages and greetings send completed client turns, stale callbacks and grounding requests cannot cross connections, interrupted responses preserve replacement turns, and citations only attach to context delivered to the model.

2026-10-03

v0.1.12: GPU particle physics for Gummy Bear, Water World and Particle Sim

Three projects rebuilt on real-time GPU particle physics: a candy physics lab for Gummy Bear, a particle-water pool for Water World and a 320,000-particle playground for Particle Sim, each keeping its previous version for browsers without WebGPU.

Gummy Bear became a candy physics lab with a new studio look and controls. Squish a big bear under a press and watch it spring back upright, make it rain a dozen bears into a glass bowl, or float them in a tank of soda, cola, strawberry milk or honey you can pour, slosh and splash. Seven flavors, a softness slider, slow motion, moon gravity and synthesized sounds join in.

Water World is now a sunny backyard pool of real particle water. The beach ball, rubber duck, crate and cannonball float or sink by their actual density, can be thrown around, and share the pool with a wave machine, fountain and whirlpool that can all run at once.

Particle Sim moves 320,000 glowing particles on the GPU into the moebis logo, a galaxy, a heart, a DNA helix, a torus knot or any word you type, with attract, repel, vortex and shatter tools, supernova and black-hole effects, motion trails and colour palettes.

All three run on the open-source threejs-particle-fluids library through a shared WebGPU engine, and browsers without WebGPU keep the previous version of each project.

Safari (and every iOS browser) can freeze on the particle contact and liquid physics, so it now gets Squish in the Gummy Lab and the classic Water World ocean while Chrome, Edge and Firefox keep every scene. Particle Sim's Vortex and Repel tools were inert and now spin and push the particles as intended.

AI Market Maker was redesigned with a ticker strip, a clear stock header, a larger chart that stays readable in light mode, and a Model outlook panel showing the 5-day, 1-month and 3-month forecasts with targets, ranges and confidence. Its stats now come from five years of stored closes (1Y and YTD return, volatility, drawdown, volume) instead of fundamentals the data source never provided, invented sector percentages and the one-day view were removed, and news shows why each story matters without placeholder text or unrelated stories.

A thrown gummy bear now stays in frame as the camera follows it, the press lands wherever it is, and very hard flings can no longer launch it into the void. Water World has a larger pool of finer water with streaked spray and a proper fountain jet, without the floating chunks.

ASUS Fusion VPN has new shield-and-padlock artwork to match its 1.1.0 release: a new project cover, app icon and menu bar icon, and an updated description. The app now keeps one quiet SSH connection to the router instead of logging in every 30 seconds, and its icon adapts to light and dark mode.

The ASUS Fusion VPN project page was redesigned for app version 1.1.1: a release badge, a what’s-new section, the four menu bar icon states, new screenshots of the current menu and settings window, and release notes for every version of the app.

Water World gained a fine droplet-spray fountain, gentler waves and a deeper pool without the earlier floating chunks, and dropping a toy for the first time no longer stalls. AI Market Maker charts now show exactly the selected period, from five trading days to five years.

Gummy Bear moved into a candy land at sunset, with a cloud-streaked sky, a candy-check floor scattered with sprinkles, and gumdrops and lollipops on the horizon. Bears now jiggle like real jelly when moved, poked, thrown or squashed, with the softness slider making them visibly wobbly, and they can be grabbed from any side. Builds also no longer rewrite Cinderwake artwork on the server.

Gummy Bear and Water World now give Safari exactly the same experience as Chrome. Bear rain, the soda pool and the particle pool no longer freeze Safari, and Water World loads in a few seconds instead of half a minute.

2026-10-01

v0.1.11: Crawlable pages and clearer content discovery

Public React rendering, accurate modification dates, clearer project descriptions and stronger links between related content.

Public pages now deliver their readable content in the initial HTML, then hydrate the same markup in the browser. Published article bodies are available immediately; private drafts stay out of the public bootstrap.

Public rendering has a bounded cache, concurrency limit and deadline. Desktop and mobile checks verify that hydration preserves the server-rendered DOM and that theme and article-image controls remain interactive.

Added descriptive search titles and visible explanations for all twelve projects, alongside topic guides, related reading and visible article author links.

Added entity-specific modification dates and article structured-data updates. Unchanged content retains its dates, publication dates remain intact and legacy undated pages no longer receive invented sitemap freshness.

Verified the Google Search Console domain property, submitted the article sitemap and requested a fresh crawl of Better Living Through Chemistry after its live test confirmed indexing is allowed.

Reviewed first-party real-user performance: aggregate p75 measurements are healthy; small-sample interaction and layout signals on Hand Atlas, God’s Eye View and mobile remain investigation leads.

Patched transitive Axios and DOMPurify dependencies. The complete verify gate passed 137 regression scripts, 14 desktop/mobile hydration cases passed and both dependency audits reported zero vulnerabilities. The broader accessibility smoke retains its pre-existing Dictionary link-count failure.

2026-09-29

v0.1.10: Safer content saves, private drafts and webcam sessions

Production-only X refreshes, atomic content saves, draft privacy, bounded Tech Tonic downloads and reliable webcam cleanup.

Fixed the X Log and homepage X card falling a day behind: a local test server that shares the production database could read the X timeline on a public request and reset the 24-hour refresh window. Outside production the latest X post is now served from storage read-only, with no provider reads, token work or cache writes, including admin forced refreshes.

Added regression coverage proving a non-production server shows the stored post with zero X API reads or writes, while production keeps its once-a-day timeline refresh.

Atomic content saves: competing admin and operator snapshots are checked under the same database row lock as the write; stale edits receive a conflict instead of silently overwriting changes.

Loaded private drafts and pending post-body requests are invalidated when the authentication/content scope changes, including logout without a page reload.

Tech Tonic cancels oversized RSS and HTML responses while streaming instead of buffering them before applying its 2 MB limit.

Hand Atlas cancels pending webcam startup, releases late camera streams and closes hand-tracking models on Stop, failure and retry.

Local X feeds can read the persisted production cache without provider credentials, including forced requests, without calling X or changing shared provider state.

Patched the development-only Joi dependency to 18.2.9 and added behavioral regression coverage for concurrent saves, streaming limits and webcam lifecycle.

2026-09-28

v0.1.9: Hand Atlas anatomy lab and the Moebis Sizzle reel

Hand Atlas joins Projects as an interactive 3D hand for exploring hand pain, with peelable anatomy, pain spots and webcam hand tracking, and the Projects page gains a Moebis Sizzle reel.

Added Hand Atlas, an interactive 3D hand built entirely in code: peel back skin, fascia, nerves and vessels, tendons and sheaths, and muscles down to the bones, with a ghost skin outline, palm, back, thumb-side and pinky-side views, six poses and four guided hand-therapy exercises.

Fourteen marked pain spots explain which structures sit underneath, the most likely causes, what usually helps and when to get it checked. The content is for learning, not diagnosis.

Webcam hand tracking with MediaPipe mirrors your hand on the model and lets your other index finger point at a sore spot; hold still or pinch to open it. An air cursor mode is also available. Tracking keeps real-hand chirality, corrects wrong left/right labels from finger curl, and fits the thumb so a real pinch closes on the model despite different hand proportions.

The Hand Atlas embed only gains WebAssembly compilation for the hand tracker and camera access inside its own frame. A new round-trip test covers joint retargeting, handedness correction and pinch contact.

Added a Moebis Sizzle button beside Open GitHub on the Projects page. It plays the 60-second code-made reel in an accessible modal with keyboard focus handling, Escape to close and scroll lock.

2026-09-27

v0.1.8: Theme controls, typography, mobile polish and search visibility

A system-aware light and dark theme with a header toggle, unified Plus Jakarta Sans typography, cleaner post headers, sturdier mobile layouts, and richer search metadata.

Added a complete light theme across pages, posts, projects and the admin console, with daylight shader backgrounds, frosted hero panels, a slate wordmark and readable charts and project artwork. The theme follows the system until changed with the header toggle; a saved override is kept only while it differs from the system setting.

Built the light palette with a colour generator that maps every dark colour by role, so text becomes ink, dark panels become light surfaces and accents keep their hue at readable contrast; automated contrast checks now pass on the main pages in both themes.

Tightened mobile layouts: nothing scrolls sideways on phones, the footer social links and the AI Market Maker range picker are full-size touch targets, and the smallest labels are larger on small screens.

Improved search visibility with breadcrumbs, richer article data, accurate image descriptions for social previews, per-page sitemap dates, clearer page titles, and a dedicated headline and introduction for every tag page.

Removed duplicate copies of generated project files from the repository and added a guard so file-sync duplicates can no longer be committed. The full verify gate passed all 131 regression scripts.

Fixed shader lab tiles briefly vanishing after being selected: entrance-animation state is now kept where page updates cannot reset it, so selected tiles and other animated elements stay visible.

Added a circular theme transition from the header toggle and softened light-mode text to slate. Unified the main site typography with Plus Jakarta Sans, including variable weights and true italics.

Moved post tags beside the date and read time, with quiet monochrome share links on the right and a subtle divider below the article. Phone layouts stack the share links below the metadata.

Fixed long article bodies staying hidden during entrance animations, removed clipping from the Instagram feed, smoothed the light footer fade, and refined mobile admin icons and light-mode project details.

2026-09-24

v0.1.7: Cinderwake 1.1.0, real-user performance, lighter Capybara SK8R and admin hardening

Cinderwake 1.1.0 with an adaptive score, escalating visuals and fairer progression, plus real-user Core Web Vitals, a much lighter Capybara SK8R, production-only provider refreshes, safer configuration parsing and admin fixes.

Hardened configuration parsing: blank or malformed settings now fall back to their defaults instead of silently becoming zero or NaN, empty PG variables no longer shadow the DATABASE settings, and the X username, public site URL and Gemini key are read through one shared helper.

Fixed the admin unsaved-changes guard for the browser Back and Forward buttons: the listener is now installed before the router so it can ask before a draft is discarded, and cancelling keeps the editor and its draft in place.

Added a keyboard skip link to the main content, and site search now leaves focus on the new page after a result is chosen instead of pulling it back to the search button.

Gave the Cinderwake launch and pause panel buttons 44-pixel touch targets on phones, alongside the earlier workshop and upgrade dialog fixes, and confirmed the new pre-contact ram forecast rings in live play.

Broadened behavioral test coverage for Instagram stale-while-refresh, the admin history guard, content conflicts, configuration parsing and the project registry, and replaced or removed older tests that only checked source text. The full verify gate passed all 124 regression scripts and both dependency audits found zero vulnerabilities.

Added real-user performance measurement: visitors now report Core Web Vitals (LCP, INP, CLS, FCP and TTFB) through the site’s own first-party metrics, with no visitor or session identifiers, and the admin metrics page shows 75th-percentile results by route and device class with the element behind each LCP.

Made Capybara SK8R much lighter: game textures are now WebP inside the 3D models and palette-optimized PNGs generated from retained source masters, cutting about 9.7 MB from the shipped game, and its Draco mesh decoder now loads from moebis.com instead of Google’s servers.

Stopped local development servers from running provider refreshes against the shared database: Instagram, X, Tech Tonic, AI Market Maker, Dictionary and knowledge refreshes, Instagram token updates and feed-failure alerts now run only on the production service, which ends the false Instagram refresh-failure emails caused by an outdated local token.

Moved the admin page editor into its own workspace component and gave admin sessions a dedicated signing secret, so sessions no longer derive their key from the admin password.

Released Cinderwake 1.1.0 with an adaptive score: the music speeds up and darkens as you push deeper, moving from bright early sectors to minor and menacing modes, each wave builds from a lone melody to a full driving groove, the key rises after every dreadnought, bosses arrive with a klaxon and a drop into their own theme, overdrive turns the music grittier, victories end on a heroic stinger, low shields muffle the mix under a heartbeat, and a lost flight winds down like a tape stop.

Cinderwake now escalates visually too: the sky shifts from cyan through violet to ember, sectors end with a warp jump, dreadnoughts open with a red warning, and a combo meter, beat-synced glow and heavier boss destruction add impact while respecting Reduce Motion.

Cinderwake progression is fairer: retries face the same threat as your first attempt so post-loss upgrades help, lost dreadnought duels scar the boss for the rematch, each hull evolution adds built-in shields, clearing a sector restores shields, and late sectors bring more elites and quicker enemy fire. Existing campaign saves migrate automatically.

Simplified the God’s Eye View page for its personal sandbox use by removing the footer credit line, the on-globe provider credit bar and the project description’s attribution sentence; the MIT license and upstream data notices still ship with the explorer.

Tightened the homepage hero by removing the chat button and Tech Tonic logo so the Latest X post sits right under the introduction, and rebuilt entrance motion across the site: headlines now build in word by word, panels rise and sharpen with depth, grids cascade into place, and hero panels land with a diagonal wipe and a brief edge glint, all switched off under Reduce Motion.

2026-09-23

v0.1.6: God's Eye View refresh, iPhone Duo polish and platform hardening

God's Eye View upstream refresh, a leaner iPhone Duo, and a platform hardening pass across server boundaries, frontend resilience, accessibility and verification.

Updated the pinned God's Eye View source to upstream revision 082074a while retaining moebis.com guest access, admin-only provider settings, local extension hooks, attribution, and the earlier fullscreen, stacking, and icon fixes.

Reworked the upstream explorer integration and server packaging for the new modular source while preserving bounded provider use, PostgreSQL-backed public data caching, browser caching, and lazy admin services.

Simplified iPhone Duo to Wallpaper and Launcher modes, removed the Custom control, improved load behavior, optimized its launcher images, and kept the original project credit visible.

Updated compatible dependencies and tooling, retained source masters outside shipped runtime assets, and removed superseded generated output. The full local verify gate passed all 115 regression scripts; both dependency audits found zero vulnerabilities.

Removed the iPhone Duo overlay labels and top source link while retaining attribution below the embed; desktop and mobile browser checks confirmed both screen styles and fold controls.

Hardened server boundaries: decoded source-master and dotfile path denial, fail-closed rate limits with separate global buckets and IPv6 /64 keys, revocable admin sessions backed by a server-side epoch, redacted public error messages, upload limit responses, and provider timeouts with a capped Instagram media download.

Improved reliability: the PostgreSQL pool now logs idle-client errors instead of crashing and bounds ordinary statements, contact delivery reports success once the message is sent, admin saves detect conflicting edits with a 409 instead of silently overwriting, and stale Instagram data is served while refreshing in the background.

Made the frontend more resilient and accessible: a route error boundary recovers from stale chunks after deploys, voice, camera and screen-share permissions can no longer leave devices running after leaving the chat, lightboxes and the mobile menu manage focus, navigation moves focus to the page, and backgrounds respect Reduce Motion, pause in hidden tabs and recover from WebGL context loss.

Fixed the homepage About portrait being cropped at mid-desktop widths, added a consistent focus ring, added pre-contact ram strength rings and larger touch targets in Cinderwake, and improved Water World portrait framing, splash continuity and clear-water depth.

Sped up verification: 122 regression scripts now run in parallel in about 8 seconds, test scripts are type-checked with stricter compiler settings, source-shape tests and unused dependencies were removed, the deploy workflow is manual-only with a pinned host key, and a value-free configuration reference was added. Both dependency audits found zero vulnerabilities.

2026-09-17

v0.1.5: Bolt lightning shader

Bolt joins the Projects hero as Shader Lab option 20, faithfully adapting @filip’s Stepped Leader shader with evolving lightning branches, repeated return flashes, volumetric clouds and distorted water reflections.

Replaced the initial simplified approximation with a faithful WebGL port of @filip’s Stepped Leader. Preserved the original 220-step volume integration, nine distortion octaves, branching paths, eight-second cycle and water reflections, with visible CC BY-NC 4.0 attribution.

Bolt uses half-resolution rendering with a 1x device-pixel-ratio cap, a static Reduce Motion frame, hidden-tab pausing and GPU cleanup when switching backgrounds.

Verified the Projects hero selection and rendered canvas, both TypeScript targets, client/server production builds, all 115 regression scripts, deployable output and both dependency audits with zero vulnerabilities.

Reconciled the preceding week of shipped commits and added the missing September 14 iPhone Duo release record.

Matched the Bolt preview tile to the shared translucent Shader Lab cards, replacing its opaque dark fill with the same subtle gradient treatment, dimensions, rounded border and status badge styling.

Compared the port directly with the reference at matching 4.05-second and 12.05-second frames, confirming the lightning geometry, changing branch patterns, cloud illumination and water reflection. Verified the corrected Projects page on desktop and mobile with no shader errors.

Reduce Motion now renders the complete 4.05-second strike as a fixed frame instead of an empty start frame. The full release gate again passed all 115 regression scripts, both TypeScript targets, production builds and both zero-vulnerability audits.

2026-09-14

iPhone Duo joins the project lab

An interactive foldable-phone study joins Projects with a local Three.js embed, synchronized screen content and hinge transitions.

Added the iPhone Duo project card, cover artwork, project page, isolated interactive embed and packaged runtime assets. This entry records the previously shipped September 14 update.

2026-09-12

v0.1.4: God's Eye View, Cinderwake and Liquid Glass

Cinderwake v1.0.0 brings hull evolution, more deliberate progression, stronger rival fleets, and a versioned flight log. Liquid Glass joins Shader Lab as the nineteenth background. God's Eye View adds an interactive planet explorer with guest access, an admin console and PostgreSQL-backed public-feed caching.

Cinderwake flight log: the current game version stays beside the hull name, including Vanguard, and opens a changelog overlay that pauses combat and restores your flight when closed.

Four hull stages, expanding armor and escorts, fourth-level damage milestones, slower research and upgrade choices that preserve developed weapons.

Rebalanced enemy fleets, evasive interceptors, repeat Lancer charges, readable boss arrivals, tracking ion-lance warnings and heavier hostile projectiles.

Reciprocal collision damage with clear ram feedback, independent firing tiers and one fleet-wide full-auto upgrade after all five quad weapons and four drones.

Refined exhaust, plasma, lightning, boss destruction, sound and mobile HUD readability.

Consolidated project guidance and removed obsolete implementation-shape guards. Full verification passed all 114 regression scripts; both dependency audits were clean.

Added Liquid Glass as Shader Lab option 19, adapting Sabo Sugi’s Liquid Rings geometry, blue-violet studio lighting and mutual reflections to a lazy-loaded site background.

Liquid Glass respects Reduce Motion, pauses in hidden tabs and releases GPU resources on selection changes. Rendering uses a 1x DPR cap and bounded reflection captures; Three.js core and renderer chunks are split to keep client builds within the size budget.

Verified desktop and mobile Liquid Glass rendering, shader switching, a stable reduced-motion frame and the built client preview. The full release gate passed all 114 regression scripts and both dependency audits reported zero vulnerabilities.

Consolidated project lessons and retired obsolete visual guards; reconciled all shipped source commits from the preceding week with this build log.

Launched God's Eye View with a Projects card, credited thumbnail, satellite globe, sensor styles, public earthquake layer and browser-window fullscreen that preserves the current view. Based on Bilawal Sidhu's MIT-licensed open-source project.

Existing moebis.com admin sessions unlock the full explorer and private provider settings. Guests cannot access provider credentials or start paid provider requests. The isolated provider process starts on demand, expires after inactivity and has memory safeguards.

PostgreSQL stores a bounded shared earthquake snapshot and atomic five-minute refresh cooldown, preserving the last good data on provider failures. Application memory retains no public-feed payload between requests; browser HTTP caching and ETags reduce repeat transfers. Fingerprinted static assets use long-lived caching.

Pinned pristine upstream source and a reviewed-revision updater keep moebis.com customizations separate, with strict compatibility checks and local extension hooks.

Passed both TypeScript checks, client/server builds, all 115 regression scripts, PostgreSQL cache checks, zero-vulnerability dependency audits and guest/admin browser verification.

Fixed God's Eye View windowed stacking so the site shader background stays behind the explorer. Verified the opaque embedded panel, fullscreen and returning to the same view. All 115 regression scripts and both dependency audits passed.

Repaired God's Eye View flyout pin icons and the admin microphone asset path. Clear Layers, Copy Link and Reset Globe now use non-selectable inline SVG icons. Audited local image, model and CSS icon references, verified guest/admin image loading and mobile settings, and passed all 115 regression scripts plus both dependency audits.

2026-09-09

v0.1.3: Cinderwake, Three.js r186 and Cyclone

Cinderwake now adds independent two-touch steering and firing plus landscape fullscreen or expanded play while preserving the four-Drone, proximity-fused plasma-bomb campaign, alongside today’s Three.js r186, Capybara and Cyclone updates.

Added Cyclone as Shader Lab option 18, preserving the supplied 90-step shader and seven distortion passes. Lazy loading, half-resolution rendering, reduced motion, hidden-tab pausing, and cleanup use the shared renderer.

Updated Sharp to stable 0.35.4 to resolve a high-severity image-processing dependency advisory. Both full and production dependency audits report zero vulnerabilities.

Extended generated-build collision cleanup while preserving canonical siblings and intentional public assets, with isolated regression fixtures covering those boundaries.

Consolidated project ownership, deployment, and recovery guidance; focused existing regression guards on behavior and boundaries, and retained current artwork masters while superseded concepts remain recoverable from Git.

Passed both TypeScript targets, client and server production builds, all 103 regression scripts, and deployable-output checks. Verified desktop and mobile Cyclone rendering and the fixed reduced-motion frame.

Upgraded the shared Three.js dependency to stable r186 for Gummy Bear and Water World, and replaced Capybara SK8R’s embedded r183 engine with a separately built r186 runtime while preserving its customized game, art and toon rider.

Added a 140 ms keyboard and touch jump buffer so a fresh press just before landing is retained once. Pausing, leaving the window and restarting cancel pending jumps; held-key repeats do not create automatic jumps. Reduced gameplay bloom to keep the rider, logs and road detail clearer.

Made Shader Lab tiles about 20% shorter, with proportionally tighter padding and spacing across desktop and mobile layouts.

Updated Multer to stable 2.3.0 to fix newly reported multipart upload denial-of-service and file-size-limit issues. Both full and production dependency audits report zero vulnerabilities.

Advanced the application version to 0.1.3 and recorded the release date. Future first releases on a new Europe/Bratislava calendar day receive a patch-version bump and a changelog update; subsequent same-day changes merge into that daily release.

Verified both TypeScript targets, production client and server builds, all 104 regression scripts, deployable output, desktop and mobile rendering, Gummy Bear interactions and clear gelatin, Water World floating objects and caustics, and Capybara keyboard and touch jumps.

Reconciled all six source commits from the preceding week with the existing changelog; Reaction, Gummy Bear, Water World and Cyclone were already covered, including all associated source commit references.

Production verification exposed blocked embedded GLB texture fetches. Added blob: only to the connection policy required by Three.js ImageBitmapLoader, retaining enforced CSP and excluding executable blob scripts on ordinary site pages. Added regression coverage and re-ran the full 104-script release gate and both security audits.

Fixed Capybara startup under enforced production security headers. Only the standalone game permits the WebAssembly mesh decoder, Basis texture decoder bindings, Troika worker modules and existing Google Fonts. Ordinary site and admin pages retain their stricter script policy. Verified title-screen startup and gameplay with the production policy, all 104 regression scripts, clean builds and zero audit vulnerabilities.

Replaced the retired Galaga project with Cinderwake, a 16:9 side-scrolling space campaign where the fighter holds the left flank against gradually growing patrols, elites and three dreadnoughts.

Added persistent schema-5 progression with stable three-card upgrades that can pause and resume the exact encounter. Six 20-level weapons now include up to three Drones, independent burst-to-full-auto trigger paths and focused attribute branches; retries preserve the installed build, rank and banked credits.

Reworked combat around first-impact physical projectiles, one-charge-per-hit shields, modest seeker damage, seeded live-muzzle lightning, evolving detachable ship hardware, shield salvage, burning fracture debris and a bounded power-aware pressure increase applied only when a sector begins.

Added five original adaptive electronic themes: four rotate through regular flight with real crossfades, while Afterburn Avenue takes over for bosses and overdrive before returning to the preserved playlist. Music is quieter beneath distinct weapon effects and sustained explosion bass.

Passed both TypeScript targets, clean client and server builds, 111 regression scripts, deployable-output checks and both dependency audits with zero vulnerabilities. Desktop and mobile QA covered the compact landscape HUD, HUD-safe flight bounds, horizontal combat, three moving Drones, saved-campaign migration and reset cancellation.

Cinderwake plasma bombs now leave the muzzle as slow compact charges, arm after time and travel thresholds, and trigger one bounded nova at the earliest swept proximity crossing or physical impact. Empty-field bombs expire quietly instead of stretching into beams.

Reworked Drones into four one-credit armed escorts with one weapon per craft. The complete fleet keeps lightning on the fighter while D1 through D4 prefer missiles, plasma bombs, Starfall and laser; partial fleets compact available weapons and fall back to shared Starfall fire.

Advanced campaign saves to schema 6. Saves from schemas 1 through 5 retain core weapon levels, rank and credits, map prior Drone levels to earned escort capacity, and refund excess Drone levels plus retired Drone firing and targeting purchases exactly once.

Passed both TypeScript targets, clean client and server builds, 112 regression scripts, deployable-output checks and both dependency audits with zero vulnerabilities. Desktop and 844 by 390 QA covered all fleet patterns, physical muzzles, moving escorts, plasma bomb dynamics and the final PLASMA label without changing the user campaign.

Added an independent right-thumb Fire control so touch steering and firing use separate pointers. Quick taps queue one volley, held fire respects unlocked full-auto weapons, and releasing either finger preserves the other input.

Added a landscape fullscreen action that uses native fullscreen where available and a same-iframe expanded fallback otherwise, preserving the running campaign, locking page scroll, and restoring focus on exit.

Passed both TypeScript targets, clean client and server builds, all 113 regression scripts, deployable-output checks and both dependency audits with zero vulnerabilities. Production mobile QA confirmed the new controls, preserved saved campaign, clean render and empty browser console.

2026-09-08

Gummy Bear and Water World expand the interactive lab

Gummy Bear gains a black studio cover with translucent multicolor candy lettering, while Water World receives improved water optics, original Blender props, more expressive impacts, and stronger desktop and mobile interaction.

Created an original Blender gummy bear with a broad seated base, smooth paws, and an integrated triangular nose and smile, plus a matching project thumbnail and description.

Built a tetrahedral soft-body simulation with local grabbing, elastic deformation, momentum, floor contact, friction, and damped recovery. The bear can roll and tumble freely.

Added translucent candy shading, window reflections, thickness-dependent absorption, and refracted ash grain using a real-time floor approximation.

Added Red, Green, Yellow, Orange, and Clear controls, Stand up, Bounce, Pause, and Reset, with responsive touch targets and keyboard shortcuts.

Verified both TypeScript targets, production builds, all 100 regression scripts, deployable output, and both dependency audits with zero vulnerabilities. Browser checks covered the project page, mobile controls, candy colors, dragging, bouncing, and standing the bear upright.

Added a lightly tinted Clear gummy with subtle warm gelatin absorption, plus a five-option mobile palette that fits narrow screens.

Fixed grabs missing the bear after moving or tumbling by refreshing its deformed click bounds before each grab. Regression and browser checks cover moved and rotated bears, color changes, and picking the bear up from its back.

Replaced the pale Gummy Bear project thumbnail with a black studio composition, a ruby-red bear, and glossy multicolor GUMMY BEAR lettering. Updated the matching image description and versioned artwork URLs so returning visitors receive the new cover.

Improved Water World with projected caustics, scene reflection and refraction, depth-dependent absorption, and coordinated fixed-step wave and object physics.

Created original Blender ball, duck, crate, and cannonball props, plus a Mantaflow-simulated rebound jet with retained source assets. Impacts combine breaking crowns, spray, and bounded rebound geometry.

Improved Water World buoyancy, grabbing, lifting, throwing, pointer capture, portrait framing, and collapsible mobile controls. Repeated button drops spread around the pool.

Verified the combined release with both TypeScript targets, production client and server builds, 103 regression scripts, deployable-output checks, and both dependency audits with zero vulnerabilities. Browser checks covered desktop and mobile project artwork, water rendering, controls, and object interaction.

2026-09-05

Reaction shader, motion accessibility, and editor hardening

Reaction shader and live motion controls expand Shader Lab, while keyboard search navigation, GPU cleanup, patched editor dependencies, and aligned production startup make the site more reliable.

Added Reaction as shader 17 with flowing purple, blue, and pink detail, lazy loading, a matching preview tile, and bounded half-resolution WebGL rendering.

Canvas backgrounds now respond immediately when Reduce Motion changes. Single-pass renderers keep a fixed frame during reduced-motion resizing, skip hidden resize work, and release partial GPU allocations after initialization failures.

Search keeps Tab and Shift+Tab inside the dialog, returns focus to the search trigger on close, and ignores results or errors from cancelled requests.

Updated the synchronized Tiptap family to stable 3.31.3 and qs to 6.16.0, clearing newly reported dependency vulnerabilities and adding a regression check against inherited editor DOM attributes.

Aligned the production service with dist-server.nosync, bringing the existing build-output migration and streamlined project guidance into the deployed checkout.

Verified both TypeScript targets, production builds, 99 regression scripts, deployable output, and both dependency audits with zero vulnerabilities. Browser checks covered desktop/mobile Reaction, live Reduce Motion changes, search focus wrapping and restoration, and editor typing, list formatting, and undo.

2026-08-31

Instagram feed recovery and proactive stale-feed alerts

Recovered the nine missing Instagram posts after Meta invalidated the production session, then added independent feed monitoring, an explicit stale-cache warning, and deduplicated owner email alerts so a future provider failure cannot remain silent.

Validated the stale boundary directly against Meta, rotated the revoked production credential through the approved owner login flow, restarted the service, and confirmed the newest six footer cards now cover the latest nine-post recovery window through August 30.

Moved provider refresh checks out of the footer request path: the server now checks Instagram at startup and hourly, while the public endpoint continues serving the last known good cached cards during an outage.

Added a visible generic warning above cached Instagram cards whenever provider refresh is failing, without exposing provider responses, credentials, or operational details to visitors.

Persisted alert state in PostgreSQL so restarts cannot duplicate an incident email, reset the incident only after a successful provider refresh, and retry failed Mailgun delivery no more than once per hour.

Reused the contact-form Mailgun configuration to send one owner notification per Instagram incident and completed the approved end-to-end test email.

Passed the canonical typecheck, production client and server builds, all 98 regression scripts, deployable-output validation, both dependency audits with zero vulnerabilities, guarded deployment, exact SHA parity, live feed checks, and rendered desktop and mobile warning-state QA.

2026-08-29

Profile portraits and voice signal animation

Updated the About and homepage portraits from the supplied black-and-white ink profile, with a tighter 4:3 About crop, a transparent circular still shared by the homepage About and Latest X surfaces, and a substantially stronger CONNECT-state signal animation that preserves the face.

Published the canonical About still to media.moebis.com, kept its tighter 4:3 hero crop, and derived a separate 20% tighter circular homepage still with genuine alpha transparency outside the portrait.

Created a 28-frame circular CONNECT animation with a brighter ImageGen signal treatment, rotating cyan and amber edge pulses, dual scans across the sunglasses, and at least 75% more peak signal color than the previous loop while keeping the original face geometry stable.

Limited the animated asset to active homepage voice sessions; disconnect and prefers-reduced-motion always resolve to the circular still.

Kept the homepage and About presentations independently owned so future crop or motion changes cannot silently alter both surfaces.

Added tracked source masters, a reproducible Sharp-based circular mask and animation generator, alpha and compactness checks, signal-strength regression coverage, and durable project ownership notes.

Verified exact R2 upload hashes, 138 KB still and 2.0 MB GIF budgets, local CONNECT and DISCONNECT source transitions, zero horizontal overflow, clean application console output, and the canonical gate with 95 regression scripts.

Replaced the homepage Latest X Post card’s separate legacy avatar with the same site-owned circular still, while preserving the post copy, verified state, action links, and canonical X destination.

2026-08-23

Security, reliability, voice, editorial UI, and crawler rendering restored

Completed a full-stack audit across React, Express, PostgreSQL, R2, AI-backed routes, dependency health, and production delivery, then shipped bounded managed-asset recovery, durable public cost controls, faster retrieval rebuilds, coordinated migrations, enforcing CSP, reliable voice playback with deterministic barge-in, contained chat rendering, restored editorial typography, crawler-safe published-post rendering, and lower-cost production monitoring.

Restricted public managed-asset rehydration to R2 keys referenced by published content, with single-flight downloads, a 32 MiB object cap, negative caching, and default limits of 256 files, 512 MiB, and seven days without pruning canonical assets.

Moved accepted contact PIN issuance and AI Market Maker scenario budgets into atomic PostgreSQL daily buckets so the cost controls survive restarts and apply consistently across multiple application processes.

Serialized startup migrations with a PostgreSQL advisory lock, tightened ordinary, live-log, and authenticated authoring JSON parser boundaries, and independently contained R2 backup staging paths.

Rebuilt the public search and MOEBIS live-context corpora with one jsonb_to_recordset batch insert per corpus, removing per-document database query loops and shortening the locked rebuild transactions.

Measured production before changing PostgreSQL: indexed retrieval plans completed in about 2.1 and 2.6 ms, the sampled 30-day metrics query completed in about 1.0 ms, and a 120-request search burst reached the configured 10-connection pool without failed application requests, so no speculative index or pool change was made.

Refreshed the compatible AWS SDK, Google GenAI, Tiptap, PostgreSQL types, Vite, Lucide, Concurrently, and sanitize-html dependency graph while keeping npm outdated and both dependency audits empty.

Moved Content Security Policy from report-only to enforcement with an immediate rollback flag, then added only the narrow Cloudflare Web Analytics script source justified by production browser evidence.

Passed the canonical typecheck, client/server builds, 92 regression scripts, deployable-output validation, both dependency audits, production accessibility smoke, database health checks, and read-only authenticated post and page editor CSP QA.

Made consolidated DB-backed changelog updates mandatory for future multi-change production releases, including exact commit references and public search and MOEBIS retrieval verification before handoff.

Fixed first-connect MOEBIS voice playback by creating and resuming the browser AudioContext from the user gesture before the asynchronous Gemini session starts, with a visible sound-settings error if playback cannot begin.

Contained long chat transcripts inside their own scroll region so the toolbar remains reachable, aligned the embedded chat with its homepage stage, and clipped backdrop paint to the true rounded shell while preserving the exterior shadow.

Restored post paragraph, heading, list, quote, figure, and code spacing by moving public prose rules out of the route-split Admin and Tech Tonic stylesheet into the globally loaded content stylesheet.

Removed the homepage Tech News Chat shortcut and its dedicated client, shared, and server entry-point contract while retaining the Tech Tonic project link, daily digest, and ordinary MOEBIS tech-news knowledge.

Shortened the live voice control to CONNECT and DISCONNECT, and removed presentation CSS that belonged only to the retired Tech News Chat greeting.

Added regression and rendered browser coverage for first-connect playback priming, transcript containment, stage alignment, rounded-corner clipping, public post typography, concise labels, and complete Tech News Chat entry-point removal.

Passed typechecks, production client and server builds, all 94 regression scripts, deployable-output validation, rendered browser accessibility smoke, both dependency audits with zero vulnerabilities, GitHub Verify, guarded deployment, exact production SHA checks, and public service health checks.

Restored Gemini Live barge-in at the browser playback boundary by generation-fencing asynchronous audio, stopping every scheduled source, and suppressing buffered response fragments until the interrupted turn completes while keeping microphone streaming full duplex.

Fixed Google Search Console Soft 404s on both affected published posts by allowing Google’s Web Rendering Service to fetch the anonymous public content catalog and published post bodies while keeping admin, metrics, live-session, write, and all other API routes blocked by robots.txt.

Added effective robots-policy coverage that permits only /api/content and /api/posts/ under the broad API disallow; anonymous post reads remain published-only and API responses retain noindex headers.

Removed the high-frequency GitHub-hosted uptime schedule after per-job minute rounding exhausted the Actions allowance, then replaced its obsolete existence check with a guard that keeps the scheduled probe retired even if renamed.

Passed local and GitHub verification with 94 regression scripts and zero dependency vulnerabilities, deployed exact SHA a82aa448f422899232426ba590bf6fb36f0c5c80, purged only the stale robots.txt edge object, confirmed both affected URLs are available to Google in live inspection, submitted each to the priority crawl queue, and started Soft 404 validation.

2026-08-15

Homepage particle interaction and performance restored

Restored the homepage About-panel particle logo's pointer-driven repel interaction, then returned capable Chrome and Safari to the same full-density, display-rate animation while preserving adaptive safeguards for constrained environments.

Traced the regression to the July 19 performance pass: pointer tracking moved from the window to the particle canvas while the decorative shell still made that canvas compute to pointer-events none.

Made only the canvas hit-testable while keeping its decorative wrapper non-interactive, restoring hover and drag repulsion without bringing back global pointer listeners or changing the existing particle physics.

Added a real homepage browser smoke that scrolls to the particle canvas and sends pointer movement, plus contract coverage that keeps this interaction check in the scheduled accessibility workflow.

Reproduced the new check failing against the pre-fix production build, passed it against localhost after the fix, ran the canonical gate with all 88 regression scripts, passed GitHub Verify, and deployed the exact verified commit.

Traced the remaining animation and density regression to the shared decorative performance profile, which capped capable Chrome near 30 frames per second and Safari near 15 while also applying different density and device-pixel-ratio limits.

Gave the interactive particle logo a dedicated profile that restores full density, device-pixel ratio 2, and display-rate animation on capable desktops in both browser engines while retaining reduced-motion, save-data, constrained-device, offscreen, and hidden-tab safeguards.

Added behavioral profile and component-boundary regression coverage, matched the denser particle ring and pointer response through real Chrome and Safari sweeps, passed the canonical gate with all 88 regression scripts, passed GitHub Verify, and deployed the exact verified commit.

2026-08-11

Runtime optimization, security hardening, and database maintenance

Completed full code, dependency, security, and CSS efficiency reviews; refreshed the runtime graph; removed avoidable work; hardened public and privileged boundaries; and verified the release plus online PostgreSQL maintenance in production.

Reviewed React, server, and feature-owned CSS boundaries with build analysis, React Doctor, Knip, and PostCSS inventories; preserved the existing lazy-loading and cascade design where broad rewrites had no measured benefit.

Reused date and number formatters across high-traffic views, started independent Tech Tonic database reads concurrently, and removed an array-plus-Set allocation from every Water World visual synchronization frame.

Updated every outdated direct Node dependency and regenerated the resolved lockfile; npm outdated returned no packages and both full and production-only audits reported zero known vulnerabilities.

Kept the primary stylesheet at 157.42 kB raw / 28.58 kB gzip and added focused runtime-allocation regression coverage instead of deleting intentional responsive and cascade selectors.

Ran the canonical verification gate with production client/server builds and all 82 regression scripts, then passed GitHub Verify and deployed the exact verified commit to production.

Ran online PostgreSQL VACUUM (ANALYZE), confirmed autovacuum and PGLZ TOAST compression, and verified zero dead tuples, invalid indexes, waiting locks, deadlocks, or checksum failures after maintenance.

Completed a repository-wide security, correctness, and efficiency audit, then remediated all 13 source-backed findings across public telemetry, live chat, backup restore, admin refresh, social providers, static paths, and Tech Tonic previews.

Bounded public telemetry and live-chat logging with route-specific body limits, per-IP/global/token throttles, expiring capabilities, strict stored schemas, canonical paths, clock-skew clamping, and a selective privacy rescrub migration.

Removed server-side publisher fetching from Tech Tonic story previews; previews now render persisted digest content inside a sandboxed cache-only frame, eliminating the SSRF and unbounded upstream-response boundary plus per-open network work.

Hardened privileged flows by removing uploaded SQL execution from web backup restore, validating ZIP types before extraction and realpaths afterward, sanitizing restored content, containing local cover paths, moving provider and MOEBIS refreshes to CSRF-protected POST routes, bounding login and PIN abuse state, and fixing the image-upload multipart contract.

Expanded the canonical regression gate from 82 to 88 scripts, passed the independent remediation review with no remaining findings, passed clean npm audits and GitHub Verify, and deployed the exact verified commit to production.

2026-07-27

Lower-cost X updates and sharper site search

Reduced X API work with incremental owner-aware refreshes and resilient caching, then strengthened both public search and MOEBIS retrieval with shared query normalization, deterministic relevance ranking, and typo recovery.

Changed Latest X ingestion to request only posts newer than the saved post ID, paginate and archive every unseen post, persist the stable account ID, and keep the previous homepage post when a refresh is empty or fails.

Added OAuth 2.0 owner-read support with server-side refresh-token rotation, proactive expiry handling, a single retry after authentication failure, and full compatibility with the existing app-only bearer token.

Moved X refresh work into a coalesced background lifecycle with a one-hour provider-cache boundary, shorter browser freshness, and automatic synchronization of new posts into site search and MOEBIS context.

Unified site and chatbot retrieval normalization so conversational filler is removed, common word forms and X terminology converge, identity searches remain intact, and topic-bearing queries reach the right corpus terms.

Added deterministic title, phrase, route-intent, full-text, and fuzzy relevance ranking with bounded PostgreSQL candidates plus conditional pg_trgm indexes for typo recovery.

Hardened public search routes with bounded query lengths and configurable per-IP limits, and passed the canonical npm run verify gate with production client/server builds and all 79 regression scripts.

2026-07-24

Block-based publishing editor, media workflow, and Tech Tonic recovery

Rebuilt the post composer as a modern block-style authoring workspace, added first-class media cards and hardened uploads, then restored Tech Tonic after Digg changed its live payload and backfilled the missing daily archive from exact-day source history.

Rebuilt the authenticated post composer around independent top-level Tiptap blocks with an Add block catalog, active-block move up/down/delete controls, draggable media cards, and preserved inline formatting and keyboard authoring.

Added editable YouTube, audio, RSS, and X/Twitter cards with paste-to-card conversion while keeping Post.contentHtml as the canonical backward-compatible storage format.

Added bounded admin audio uploads for MP3, M4A, WAV, OGG, and FLAC with byte-signature validation, managed staging and canonicalization, R2 mirroring, cleanup, backup, and unresolved-upload publication checks.

Extended server sanitization and public presentation for typed media cards while rejecting unsafe URL schemes, event handlers, unauthorized iframe hosts, autoplay, and spoofed audio uploads.

Kept RSS embeds deterministic as semantic feed-reference cards so public rendering never fetches arbitrary third-party feeds, preserving the site security boundary.

Updated the dependency graph to clear both high-severity CI audit gates and retained the maintained React Router 6 SPA line while the current Router 7 release has no patched version for its new advisory.

Passed the canonical npm run verify gate with 75 regression scripts, production client and server builds, deployable-output validation, both GitHub dependency audits, responsive desktop/mobile editor checks, and production deployment health verification.

Repaired Tech Tonic after Digg changed its ranked live payload from items with flat title/tldr fields to posts with nested summary fields, while preserving compatibility with both formats.

Added authenticated exact-day recovery through Digg frozen feed history with strict date matching, then backfilled July 23 and refreshed July 24 so the public daily archive is continuous again.

2026-07-18

Site performance and architecture optimization

Completed a deeper site-wide optimization that reduced public payload and browser work, tightened content, server, build, and deployment boundaries, and preserved every public route, admin workflow, visual treatment, and project runtime.

Cut the anonymous content bootstrap from 242,168 to 120,070 bytes by serving published summaries only, loading full post bodies on demand, and keeping drafts and full content behind authenticated admin scope.

Split the browser API layer into focused feature clients and lazy-loaded search, Instagram, and background boundaries, shrinking the initial entry from 103.45 KB raw / 31.32 KB gzip to 78.06 KB / 24.81 KB.

Deferred non-critical responsive images, the About video, and offscreen, hidden, or reduced-motion canvases; a matched Lighthouse pass reduced transfer from about 3.18 MiB to 1.02 MiB and background main-thread attribution from 9.81 seconds to 2.53 seconds with 2 ms total blocking time.

Replaced the external border-beam package with the owned CSS BeamFrame treatment while preserving the About and MOEBIS visual design and removing the separate effects bundle.

Kept Tailwind CSS 4.3.3 current with explicit app source discovery, compacted and memoized Dictionary delivery, coalesced latest-X knowledge synchronization, denied source-master asset paths, and made API failure responses controlled and private.

Made server builds clean stale output before compilation, added a final deployable-artifact check to Verify, updated GitHub checkout and setup-node action runtimes to v7, and changed production deployment to wait for a successful Verify run with current-main SHA checks immediately before restricted SSH.

Passed the complete npm run verify gate with 74 regression scripts, both TypeScript builds, browser accessibility smoke, zero npm vulnerabilities, no outdated packages, 100 Lighthouse SEO, Accessibility, and Best Practices scores, and rendered desktop, mobile, search, background, post, and authenticated-admin QA.

2026-07-12

Deep analytics, architecture, server hardening, and Water World physics

Completed the first improvement-roadmap release with deeper admin analytics, clearer code ownership, unified verification and CI, media and accessibility work, a backup-gated Ubuntu maintenance and security pass, and a major Water World upgrade with interactive object physics and weight-scaled GPU waves.

Rebuilt Admin Metrics around a persistent command bar, 7/30/90/365-day and custom ranges, comparison controls, KPI context, trend analysis, acquisition, device, browser, geography, internal-traffic, error-path, and session-detail views.

Fixed the Sessions workspace sizing and scroll treatment so the list and detail panes use the available height without ending in a clipped blank region.

Added server-side metric definitions, classification, overview analytics, session filtering, comparison summaries, indexed migration support, and regression coverage for the expanded analytics contract.

Split the 9,600-line stylesheet into feature-owned CSS modules and decomposed oversized admin, MOEBIS chat, site-layout, and server entry-point responsibilities into focused components, hooks, routes, and services.

Added a single npm run verify path, GitHub CI and browser-smoke workflows, deterministic Node 26 deprecation checks, browser accessibility smoke coverage, Dictionary internal-link monitoring, and architecture-boundary tests.

Increased small mobile controls toward 44-pixel targets, reduced font payloads, converted large project artwork and game textures to optimized WebP assets, and staged site-wide Content Security Policy reporting with regression coverage.

Documented the site architecture, design system, improvement roadmap, project ownership boundaries, local/production environment model, and verification workflow for future maintenance.

Backed up and checksum-verified PostgreSQL, both Ghost MySQL databases, hosted web data, and service configuration before upgrading all 30 pending Ubuntu packages and rebooting into kernel 6.8.0-134.

Repaired Fail2Ban by disabling invalid Ghost filters, restored the active SSH nftables jail, reconciled the production AI-DICTIONARY.md checkout drift, and verified every hosted site, database, certificate-renewal path, firewall rule, and application service after reboot.

Reconciled stale Water World and Capybara SK8R database image paths, added canonical project artwork selection, and shipped WebP-first picture markup with optimized JPEG/PNG fallbacks for older Safari.

Standardized Facebook, X, and LinkedIn controls across every project hero in one upper-right media column above the artwork, with a stacked mobile layout and no mixing into project CTA, source, or admin-action rows.

Fixed the scheduled production browser smoke by making scrollable Dictionary tables named keyboard-focusable regions and stabilizing the responsive menu assertion after its accessible label changes.

Expanded Water World into Play, Sandbox, and Show modes with Beach Ball, Duck, Crate, and Cannonball objects, density-based buoyancy, floating and sinking, pointer throws, splash particles, and a bounded 12-object physics layer.

Retired the visible Atlantic, Tropic, and Night selectors in favor of a fixed hidden Atlantic palette, added compact object controls, and replaced the generic bird symbol with a larger custom duck icon.

Made object impacts reuse the canonical pointer-click GPU ripple function with weight-scaled amplitude, damped the beach ball so it settles instead of bouncing forever, and verified the result through regression tests, browser QA, CI, and production deployment.

2026-07-08

Stack hardening and version 0.1.2

Updated the site stack, tightened public API abuse controls, and shipped the 0.1.2 package release after production verification.

Updated npm packages across the site stack, including the Tailwind, Vite, TypeScript, React, Three.js, Express, Multer, and sharp toolchains.

Added a global MOEBIS live session-token rate limit on top of per-IP throttling so paid LLM-backed session creation is harder to abuse from distributed traffic.

Tightened multipart parsing for admin image uploads and backup restores with strict file, field, part, and field-name limits.

Kept Tech Tonic on the no-LLM Digg Tech source path and preserved the free-key-only Gemini policy for AI Market Maker prediction work.

Verified typecheck, production build, npm audit, npm outdated, and the focused route/security regression tests before deployment.

Bumped the site package version to 0.1.2 and deployed the release to production.

2026-06-25

Social sharing and identity SEO

Added canonical Facebook, X, and LinkedIn sharing across posts and projects while strengthening the public identity and citation graph around Carl Moebis, moebis, and @moebis.

Added reusable branded share controls for published posts and every project experience, always targeting the canonical moebis.com route.

Kept share previews aligned to the existing server-rendered canonical, Open Graph, Twitter card, and project/post image metadata.

Connected Carl Moebis, moebis, and @moebis through stable Person and ProfilePage JSON-LD with official LinkedIn, GitHub, X, Instagram, Flickr, and about.me profiles.

Expanded project structured data and /llms.txt citations so priority project pages identify their stable sources, references, and upstream dependencies.

Added focused share-URL, identity-SEO, crawler-summary, and structured-data regression coverage.

2026-06-22

Persistent Instagram token refresh

Made the footer Instagram feed more resilient by persisting refreshed long-lived Meta tokens in shared runtime state instead of depending on one static environment value forever.

Kept INSTAGRAM_ACCESS_TOKEN as the seed while allowing refreshed long-lived tokens to survive process restarts through the shared runtime_state table.

Added a conservative 30-day refresh window after Meta's cooldown, bounded refresh failure handling, and regression coverage for persisted token selection.

Preserved the last good DB-backed feed when provider refreshes fail and kept public forced-refresh flags admin-gated.

2026-06-21

Dictionary shader and markdown tables

Added the Germ Fractal sidebar shader to the Dictionary of AI and restored upstream GitHub-style markdown tables with responsive card rendering.

Added a clipped, rounded WebGL Germ Fractal panel beneath the Dictionary sidebar navigation.

Rendered upstream README pipe tables as styled responsive dictionary tables instead of flattened markdown text.

Kept table-heavy entries inside shrink-safe cards and horizontally scrollable table shells so the mobile layout does not overflow.

Verified the page against the real DB-backed dictionary payload with 68 parsed terms and the full upstream markdown cache.

Bumped the site package version to 0.1.1.

Added more breathing room beneath wide Dictionary tables so the following entry heading no longer crowds the horizontal-scroll shell.

2026-06-18

Tech Tonic Digg source reset

Returned Tech Tonic to a single Digg Tech daily feed, removed the search-grounded multi-source LLM pipeline, cleaned old Tech Tonic rows, and kept Gemini paid-key fallbacks disabled.

Replaced the Tech Tonic Gemini/search-source adapter with a deterministic Digg Tech fetcher that parses https://digg.com/tech/ and stores ten ranked daily stories under the digg-tech source key.

Removed the Last 30 Days weekly feed, retired source keys, and one-off Week 23 bootstrap script from the runtime, shared types, project page, tests, and durable AGENTS.md memory.

Added migration 023_tech_tonic_digg_tech_source to delete old Tech Tonic runs/items/archives and constrain future rows to last-24-hours, daily archives, and digg-tech items.

Regenerated the live Tech Tonic digest after cleanup; the database now has one succeeded digg-tech run with ten items and no non-daily or non-Digg Tech rows.

Kept AI Market Maker and Tech Tonic Gemini key selection from falling back to GEMINI_API_KEY_PAID or GEMINI_API_KEY unless paid usage is explicitly reauthorized.

Removed the unused GEMINI_API_KEY_PAID entry from local environment files after verifying tracked runtime code only reads GEMINI_API_KEY_FREE and Tech Tonic no longer calls Gemini at all.

2026-06-14

Maintenance, security, publishing, and editor polish

Updated npm packages, hardened provider-backed endpoints, published the American Abroad follow-up with managed R2 media, and improved the admin editor link and cursor behavior.

Updated all top-level npm packages, moved sharp to 0.35.1, fixed the transitive esbuild advisory, and verified npm audit plus production-only audit are clean.

Added public rate limits for MOEBIS live session token minting and AI Market scenario analysis, capped scenario prompt length, and kept admin sessions exempt for legitimate maintenance.

Changed X and Instagram refresh query flags so unauthenticated callers cannot force provider/cache refresh work.

Hardened Tech Tonic article previews by rejecting private literal hosts and private DNS resolutions before server-side story-frame fetches, including redirect hops.

Removed verified-dead CSS selectors, deleted tracked tmp/imagegen preview files, ignored future tmp scratch output, refreshed the security report, and updated durable project memory.

Published The Anti-Bubble, Ten Years Later as the featured American Abroad follow-up, including the corrected handwritten cover montage, original-post backlink, R2-backed cover/social assets, collages, captions, and cleanup of replaced media objects.

Added an admin editor link toolbar action and guarded rich-text content syncing so local typing does not reapply the editor HTML and reset the selection while writing.

2026-06-05

Water World Three.js project launch

Added Water World as a native, self-hosted Three.js project page with interactive GPU ripples, refractive pool shading, caustics, orbit controls, and landscape project artwork.

Registered /projects/water-world as a built-in native project, including project-grid metadata, the Three.js Ocean Lab eyebrow, and a landscape cover image under public/project-assets/water-world.

Built the editable Water World scene with render-target ripple simulation, pointer-made drops, normal updates, caustic light-map rendering, refractive water, transparent pool perimeter walls, and no visible floor tile grid.

Moved the controls into a narrow left-side column with presets, height, speed, foam, quality, and Orbit controls, then tuned the camera so desktop framing shifts the pool right while OrbitControls still pivots around the water center.

Stabilized the ripple solver so the Speed control adjusts visible wave time without overdriving the simulation, capped ripple height and velocity, and kept mobile layouts free of horizontal overflow.

Added Three.js dependencies, an isolated three-vendor build chunk, BSD-style attribution for the public martinRenou/threejs-water reference, regression coverage in scripts/test-water-world-project.mjs, and durable AGENTS.md project memory.

2026-06-04

Security, dependency, dictionary, and live-source fixes

Completed the security/dependency audit, fixed the production deploy blocker from a dirty generated dictionary file, moved the AI dictionary weekly cache into the shared database, and restored first-turn MOEBIS live-chat source citations.

Followed up the deploy failure by leaving tracked AI-DICTIONARY.md unchanged from the production base commit, allowing the server checkout to merge cleanly despite its stale generated local copy.

Moved the AI dictionary weekly cache into the shared Postgres site_documents row ai-dictionary, seeded the database cache from the upstream source, and left the root AI-DICTIONARY.md file as read-only bootstrap fallback.

Aligned the local shell/runtime target to Node 26.1.0 and npm 11.14.0, refreshed npm packages, removed unused direct dependencies, and kept the package audit clean.

Hardened admin and public-server security paths: forwarded IP handling now honors Express trust proxy, admin mutations require the CSRF header, rich-text sanitization has tighter URL schemes, admin uploads are verified with sharp, backup restore validates ZIP expansion before extraction, and MOEBIS live-log tokens no longer use a public fallback secret.

Added regression coverage in scripts/test-server-hardening.mjs, refreshed the AI Coding Dictionary cache, documented the audit in security_best_practices_report.md, and updated AGENTS.md project memory for future threads.

Fixed MOEBIS live voice source pills on first-turn answers by tracking pregrounding controllers and completed assistant answer targets per voice turn sequence, so late source results attach to the answer that used them even after a follow-up begins.

Promoted anchored page and dictionary matches in live/search retrieval, including term-specific Dictionary of AI anchors such as /dictionary#inference and /dictionary#training plus X-log anchors for first-turn personal-history answers.

2026-05-31

AI Market Maker, Tech Tonic, and voice grounding stabilization

Stabilized three live surfaces: AI Market Maker prediction caching now falls back to the latest complete cached model set, Tech Tonic follows Digg's current AI feed payload, and MOEBIS voice chat grounds spoken turns before answers begin.

AI Market Maker now reads the latest complete cached 5D, 1M, and 3M prediction set when today's rows are missing or partial, and browser snapshots only persist prediction-ready renders so dashboards do not stick on Prediction cache pending.

Tech Tonic now pulls Digg AI from digg.com/ai's embedded story payload, uses canonical digg.com story URLs, and has matching project copy and parser regression coverage.

MOEBIS voice chat injects retrieved site context into active spoken turns before assistant output starts, improving grounding for relevant site material surfaced from site_chat_chunks.

Updated AGENTS.md project memory plus AI Market Maker and Tech Tonic regression tests, then verified with focused tests and a production build.

2026-05-16

React Doctor hygiene and accessibility cleanup

Added a React Doctor configuration and regression check, then fixed the first real hook-order, alt-text, keyboard-accessibility, and route-location diagnostics in the React app.

Added react-doctor.config.json to exclude generated project embed bundles while keeping real app source in scope, plus scripts/test-react-doctor-hygiene.mjs to guard the cleanup.

Moved PostPage and PostsPage hooks ahead of early returns so hook order stays unconditional.

Required alt text in the shared PanelImage primitive and made Tech Tonic digest story links keyboard-aware.

Destructured React Router location values in SiteLayout, SiteSearch, and XLogPage to quiet misleading mutable-global dependency warnings without changing route behavior.

Verified the release with React Doctor at 76/100 Great, zero targeted diagnostics, typecheck, and a production build.

2026-05-14

Galaxy Center shader and Node 26 production cleanup

Added Galaxy Center as the 16th background shader, reshaped the Projects hero into a 4x4 shader lab, and cleaned up the Node 26 build/deploy path so production no longer emits the module.register deprecation warning.

Added the Galaxy Center WebGL shader with a smoother lower-resolution renderer and blue-white galaxy color pass based on the reference animation.

Expanded the Projects shader selector to a 4x4 desktop grid, gave the shader controls more room, and tightened the Projects hero copy around the Experiments framing.

Updated Tailwind and tsx dependencies and added a Node 26 trace test so local dev, Vite, and production builds stay clear of the module.register DEP0205 warning.

Moved production Dictionary of AI refreshes into ignored .runtime storage so the server no longer dirties the tracked checkout while still keeping the local AI-DICTIONARY.md workflow intact.

Documented the command-restricted production deploy key behavior and verified the final GitHub Actions deploy of 3948f69c37c7c8a7ed51eea80657602c013bc1f7.

2026-05-10

Dictionary search, Safari favicons, and faster dev startup

Indexed the Dictionary of AI across search and live voice context, fixed Safari favicon delivery with proper icon assets, and moved slow knowledge refreshes off the blocking dev startup path.

Added the Dictionary of AI page and term chunks to both client and DB-backed site search so searches like "dictionary" surface the Dictionary page.

Expanded live voice grounding so AI-term and Dictionary of AI questions pull from the same Dictionary corpus alongside posts, projects, changelog entries, and archived X posts.

Added a client pre-grounding cue for AI vocabulary questions before live voice tool calls, plus regression coverage for the Dictionary search/live-context corpus shape.

Replaced the PNG masquerading as favicon.ico with a real multi-size ICO container and added explicit 16px, 32px, 256px, and Apple touch icon assets for Safari and other stricter browsers.

Moved Moebis knowledge artifact refreshes into background startup work so /api/health can respond before Vite waits on port 5173 during npm run dev.

Added focused regression tests for favicon assets and dev startup ordering while preserving the existing Dictionary coverage.

2026-05-09

Homepage list polish, ASUS Fusion VPN launch, and Tech Tonic parser

Tuned the homepage to surface fewer posts and projects up front, added a direct projects-directory CTA, shipped the ASUS Fusion VPN project page, and tightened Tech Tonic into a smaller di.gg-only digest path.

Changed the Tech Tonic pull so /ai supplies the ranked top-10 story links while each di.gg detail page supplies the clean heading and main story paragraph.

Fixed the title/body fusion regression caused by list-card anchors that contained both heading and summary text.

Removed old hidden digest item payloads and retired HN/Slashdot-era item fields so Tech Tonic stores only the rank, link, title, body, source, and freshness data it still uses.

Added a migration that drops the obsolete Tech Tonic item columns and rebuilds the run/rank index around the simplified Digg-only table shape.

Kept Tech Tonic storage compact after the archive cleanup so the admin DB badge reflects a much smaller current working set.

Turned digest ranks into aligned green-to-red importance badges and kept the manual Force refresh action beside the di.gg AI source button.

Expanded Tech Tonic regression coverage for nested list-card summaries, detail-page body extraction, Digg story links, and absence of Gemini, Hacker News, Slashdot, and Further Reading output.

Added /projects/asus-fusion-vpn as a dedicated native app showcase page with app icon, menu bar glyph, feature cards, screenshots, and a GitHub Releases download CTA.

Registered ASUS Fusion VPN as built-in project metadata so it appears in the project directory and still resolves before any DB-backed project row exists.

Added redacted app screenshots for the menu status and settings views, blocking private network/location values while preserving the product UI.

Fixed the public app icon asset so its rounded corners are truly transparent instead of carrying an opaque black square background.

Added regression coverage for the ASUS route, metadata, CTA copy, CSS hooks, public assets, redacted screenshots, and transparent icon corners.

Limited the homepage recent-post grid to the first nine non-featured posts before the existing Load More expansion appears.

Limited the homepage project preview to the latest three project cards and added a matching VIEW ALL PROJECTS CTA that opens the full projects directory.

Added homepage regression coverage for the nine-post batch, three-project preview, and projects-page CTA wiring.

2026-05-08

Capybara SK8R, Dictionary shader polish, and Tech Tonic Digg refresh

Replaced the old 2042 project with Capybara SK8R, shipped the Dictionary of AI intro shader polish, and simplified Tech Tonic into a lean di.gg AI top-10 digest workflow.

Added /projects/capybara-sk8r as the playable project route and redirected legacy /projects/1942 and /projects/2042 traffic to it.

Packaged the isolated Capybara SK8R iframe embed with capybara player art, tutorial cards, CRT title-screen scanlines, blue-sky backdrop, cream floor texture, updated poster art, and cleaned-up start/result screens.

Credited Matthew Greenberg's original GitHub project Skate Cat in the project hero and preserved model attribution for the Capybara asset.

Removed the retired 2042 embed, aircraft/ocean assets, and 2042 regression script while adding shared built-in project metadata and Capybara SK8R coverage.

Added a transparent animated particle shader to the Dictionary of AI intro, tightened the intro copy, and loaded the lighter Bai Jamjuree 200 font weight for the revised layout.

Resized and positioned the Dictionary shader so it draws larger inside a compact square canvas without adding a boxed background.

Updated regression coverage for the Dictionary intro copy, shader canvas behavior, responsive CSS, and transparent rendering expectations.

Rebuilt Tech Tonic around the top 10 ranked stories from di.gg/ai, removing the Hacker News and Slashdot feed parsing, source-batch debug payload, Gemini digest prompt path, and further-reading output.

Added a database migration that clears legacy Tech Tonic runs, items, and archives while dropping the old debug prompt field so new digests start from the Digg-only workflow.

Changed Tech Tonic story titles to open their di.gg item links in an in-page modal iframe and kept the public project view focused on the current lean digest.

Moved the admin Force refresh control beside the di.gg AI source pill while leaving the automatic 06:00 Europe/Bratislava refresh note below the hero actions.

2026-05-05

Tech Tonic extraction, Camera Toy launch, and static embed backgrounds

Improved Tech Tonic extraction and dependency hygiene, launched Camera Toy with hand-tracked visual/audio effects, and tuned Particle Sim plus Camera Toy to use static plasma shell backgrounds for more GPU headroom.

Added Defuddle/linkedom as the first-pass article reader before the existing local extractor and r.jina.ai fallback.

Added a bad-excerpt quality gate so empty, navigation-heavy, social/share, ad, newsletter, and related-card text fails over instead of being summarized.

Added Tech Tonic golden fixtures for known noisy article-page patterns and covered the extractor/gate behavior in scripts/test-tech-tonic.ts.

Ran npm audit fix and npm update, leaving the audit clean while keeping @types/node on the Node 24 line.

Updated the project runtime target to Node 24.15.0 and npm 11.13.0, then verified extraction tests, AI Dictionary, AI Market Maker, 2042 coverage, typecheck, and production build.

Added Camera Toy at /projects/camtoy as a MediaPipe Hands + p5.js iframe project with raw camera and hand-silhouette modes.

Made Laser Harp the default effect, with finger-mapped chords, hand-height tone shaping, hand-distance expression, and touch explosion sounds in Web Audio.

Added Cat's Cradle, Plasma Web, and Lightning modes with elastic neon strings, plasma shots, stronger close-range bolts, and fingertip particle bursts.

Added transparent Camera Toy project artwork plus regression tests for project routing, iframe metadata, effect wiring, copy, audio hooks, and SVG transparency.

Forced Particle Sim and Camera Toy project routes to use a static plasma site background instead of the animated shader layer so their iframe canvases keep more GPU headroom.

Added a reusable static motion mode to SitePlasmaBackground plus a regression test covering the heavy project routes.

2026-05-04

Dictionary of AI page

Added a weekly refreshed Dictionary of AI page sourced from Matt Pocock's AI Coding Dictionary, surfaced it from the About hero, and tightened the source CTA and readability treatment.

Added the /dictionary route backed by /api/dictionary, parsing root-level AI-DICTIONARY.md and refreshing it weekly from the upstream README.

Added search, section navigation, a concise local intro, high-contrast term cards, sitemap coverage, and Dictionary-specific SEO metadata.

Added a prominent About hero CTA to Dictionary of AI and simplified the About subject pills by removing their edge beams.

Moved the Dictionary Source action to the hero upper-right with a GitHub mark and linked it to the human-readable source README.

Added regression coverage and project memory for the dictionary refresh flow, CTA placement, and readability behavior.

2026-05-03

About page performance and hover beam polish

Made the About page lighter on Safari and lower-end browsers by dialing back plasma background work, restored the original subject-pill BorderBeam look as a hover-only effect, and updated the Flashback title copy.

Added a visual performance profile that switches the plasma background between full, balanced, and static modes based on Safari, low-memory/low-core devices, compact viewports, Save-Data, and reduced-motion preferences.

Reduced plasma background cost on balanced/static profiles by lowering device pixel ratio, field resolution, frame cadence, and blur passes while preserving the full treatment on capable desktops.

Restored the About subject pills to the original committed BorderBeam tuning and changed the beam from always-on to hover-activated so idle pills stay quiet.

Updated the Flashback title fallback/live copy to From 8-bit to US Robotics.

Added regression scripts for the About pill beam behavior and visual performance profile selection.

2026-05-02

AI Market Maker live data dashboard polish

Moved AI Market Maker deeper into its real-data phase with DB-first dashboard hydration, provider-aware cache behavior, animated Recharts price curves, cleaner status overlays, and a tighter single-screen analysis layout.

Removed the old fake seeded financial values from the watchlist/data layer so unknown prices, metrics, charts, risk, and news render from cached EOD data or pending states instead of mock market data.

Added browser-local dashboard snapshot caching so previously rendered ticker/period views can appear immediately while the internal API refreshes newer database-backed data.

Reworked the connected historical/future chart onto Recharts with animated period transitions, dynamic axes, volume bars, real/pending hover states, scenario overlays, and centered chart status messages that no longer push the page down.

Hardened the backend cache and provider flow with FMP 402/403 unavailable handling, Twelve Data recent-history fallback, DB-first external call logging, and a five-year EOD data completeness panel.

Restored current sector exposure cards above database coverage, simplified sector labels, added sector icons, and tightened the watchlist/news/What-if columns to equalized heights.

Updated AI Market Maker project memory and helper coverage so future work preserves the EOD-only data model, provider quota discipline, news ranking rules, and snapshot-cache behavior.

2026-05-01

Route polish and AI Market Maker hardening

Smoothed client-side navigation, tightened the public 404 copy, and hardened AI Market Maker’s cache-first stock analysis so prediction math, refresh retries, cache invalidation, chart scaling, and UI motion line up with the EOD-only data model.

Internal route clicks now reset scroll before React Router paints the next page, avoiding the halfway-down flash before the page settles at the top.

The site shell now opts into manual browser scroll restoration so Safari and other browsers do not reuse stale in-app route offsets.

The 404 page headline now reads: This is not the URL you are looking for.

Hardened AI Market Maker prediction math so bearish base curves preserve their direction instead of scaling into false upside.

Changed AI Market Maker refresh accounting so failed provider/cache steps mark ingestion runs as failed and remain eligible for retry.

Made cached prediction curves depend on the latest close, same-day news summary, ranking version, and model version so reranked news can rebuild the future chart.

Scoped daily news signals to current-day rows and kept the EOD-only data rule by avoiding current quote payload storage during routine refreshes.

Updated the React dashboard chart to scale dates and prices from cached ticker data, key scenario results to the selected ticker, and animate period changes with more polished chart and flyout motion.

2026-04-26

Tech Tonic retries and Follower reliability

Shored up the daily Tech Tonic automation and swapped Follower to a lightweight local renderer, improving Safari reliability while keeping the production bundle under the warning threshold.

Tech Tonic scheduled refreshes now retry after failed runs until a successful digest or archive exists for the day.

Rebuilt the Follower background as a local canvas renderer so Safari can start it immediately after selection without a page refresh.

Removed the unused Three.js cursor dependency, eliminating the oversized production build chunk warning.

Instagram feed hover polish

Refined the footer Instagram feed hover so each thumbnail and its card frame enlarge together with cleaner spacing and a more cohesive lift effect.

Increased the hover scale on the full Instagram card so the visible frame now grows with the thumbnail instead of feeling static.

Reduced the internal image zoom so the motion reads as one connected card interaction rather than a cropped image moving inside a fixed box.

Expanded the feed row hover breathing room to prevent the larger cards and shadows from feeling clipped at the row edges.

2026-04-25

Performance audit and loading tune-up

Published a production performance pass that tightened initial loading, asset priority, shader cost, and route-level polish while preserving the current visual direction.

Optimized Vite/Rolldown output so shared vendor code is split more predictably and admin-heavy libraries stay out of the public page startup path.

Deferred the Instagram footer feed until it approaches the viewport and switched feed thumbnails to lazy, lower-priority loading.

Reduced default plasma shader cost with lower render resolution and calmer frame cadence on compact or lower-core devices.

Adjusted homepage, posts, and projects media priorities so below-fold cards stop competing with first-screen content.

Ran production Lighthouse checks across the key public routes and confirmed the next meaningful optimization target is large image payloads rather than JavaScript regressions.

2026-04-24

Site, 2042, and UI systems polish

Refined the public site UI, rebuilt 2042 around stronger raster-style visuals, centralized repeated interface patterns, and tightened changelog presentation into a cleaner daily archive.

Rebuilt 2042 artwork around a raster sprite atlas for ships, enemies, islands, explosions, and EMP visuals.

Reworked the player exhaust, ocean treatment, convoy wakes, scenery depth, and stage-clear bonus card so the arcade scene reads cleaner in the project embed.

Tightened broader site polish including project labels, hero spacing, footer/background blending, contact handling, and performance-oriented frontend cleanup.

Added shared primitives for page stacks, panels, CTAs, tag pills, media frames, and section headers so repeated public-page patterns live in one place.

Expanded Tailwind v4 theme tokens for panel surfaces, ink colors, shadows, radii, and spacing while keeping bespoke visual effects in custom CSS.

Updated the homepage posts grid to show 15 recent posts first, then reveal one more batch of up to 15 via LOAD MORE.

Improved the changelog view so same-day work stays grouped, source commit labels display short hashes, and current-year entries remain available in the archive.

Polished the about page hero pills and cleaned up the experimental profile-photo border-beam work so the portrait frame stays simple.

2026-04-23

Project labels, plasma backdrop, and footer polish

Tightened project taxonomy labels, made the plasma backdrop and footer blend more cleanly, and gave page heroes a little more room under the navigation.

Project cards and project detail pages now use descriptive eyebrows like AI News Aggregator, Future Retro Game, Retro Game, and Eye Candy instead of the generic Project Node label.

The 2042 project stack labels were shortened to Canvas Sprites, Audio Chiptunes, and Responsive Input for cleaner card scanning.

The plasma shader now fills the viewport more reliably, removing the black bar that could show up below the projects grid.

The footer moved from a solid dark block to a transparent dark gradient that rises into the Instagram feed while letting the plasma background show through.

Shared page-shell spacing now gives hero sections more breathing room below the fixed navigation on desktop and mobile.

The About page flashback copy was tightened into one continuous paragraph while preserving the full Seequa-to-comicshow.com story.

Verified contact flow, shared media, and homepage polish

Added a short-code contact form, refreshed the homepage voice and Tech Tonic entry points, and tightened cleanup for visitor-linked messages.

The About page now includes a short-lived email-code contact flow before a message can be sent.

Contact submissions are linked to the visitor session for review, deletion, and short-term retention cleanup.

Homepage voice actions, the Tech Tonic shortcut, and the footer byline received cleaner interactive polish.

The public feed output was adjusted for broader reader compatibility while keeping featured images available to feed readers.

Public media references now resolve through shared media storage so page art, project images, logos, and embedded project assets stay consistent across environments.

Tech Tonic source intake now strips page chrome, metadata, and other non-article markup before captured items are sent into the digest flow.

The homepage hero copy and voice-entry labels were tightened so the main actions read more naturally.

April 22, 2026

Tech Tonic live-news mode, safer media publishing, and reading polish

April 22 focused on tightening the new Tech Tonic workflow, blending its daily digest into the live chat experience, smoothing image handling across posts, and polishing public reading surfaces like feeds, featured cards, and article lightboxes.

Tech Tonic intake was tightened around Hacker News and Slashdot, expanded to deeper source batches, cleaned up noisy article extraction, and tuned so the digest now picks six lead stories plus a compact In other news recap.

The Tech Tonic project page became more editorial and operationally clear with digest archives, refined pipeline status cards, usage reporting, and a cleaner hero and sidebar layout.

The homepage now has a dedicated voice path for daily tech news: Chat about today's tech news launches the same live Moebis experience but seeds it with a Tech Tonic intro and today's digest so questions can start immediately.

Post asset handling is smarter and faster now: image-only blog edits skip the heavier text-refresh path, and updated cover or social images publish under fingerprinted URLs so stale browser and media caches do not linger.

Reading UX also got a polish pass with uncropped homepage featured media, responsive excerpt trimming, refreshed portraits, click-to-enlarge article images, and a guardrail that blocks temporary image uploads from slipping into published posts.

The public feed and changelog layer were tightened too: the changelog entry layout no longer stretches bullet spacing against the commit column, and the RSS feed now uses a single canonical /rss endpoint with feed-friendly post cover images embedded for readers.

April 21, 2026

Tech Tonic launch, content cleanup, and console polish

The site completed its move onto a database-backed content and memory flow while launching Tech Tonic, a daily AI-synthesized tech-news digest with its own refresh pipeline and operational controls.

Editable site content now reads and writes from the database only, with site exports and recovery tools following the same path.

The memory layer moved to a cleaner document model and can propose reviewable draft updates from fresh site changes without publishing them automatically.

Tech Tonic shipped as a dedicated project with scheduled daily news intake, source batching, digest generation, refresh controls, run-status reporting, and rollout visibility.

The Projects background matrix expanded with Maze, String Theory, Pulse, Vortex, Quasar, and Caustics, while the selector UI became tighter and easier to preview from both the console and the public Projects page.

Console and metrics surfaces were tightened up with shared header actions, a maintenance summary, clearer recovery controls, improved filters, and less noise from internal sessions.

Native Instagram feed, managed media, and preview overhaul

The footer Instagram strip moved off the third-party widget and into the app itself, backed by direct Instagram pulls, managed media delivery, and a rebuilt click-to-preview experience tuned for both desktop and mobile.

The old JavaScript embed is gone: the site now pulls the latest six Instagram posts directly and renders them as native cards inside the footer shell.

Instagram media is cached through the shared media pipeline so the public site is not asking Instagram for every footer view.

The strip now keeps a six-up desktop layout with a three-by-two mobile fallback, plus grayscale-to-color hover treatment and a stronger card-lift interaction that reads as part of the site instead of an external widget.

Clicking a tile opens a native lightbox preview with a square media stage, Instagram CTA, inline caption, and reel playback support instead of bouncing the visitor straight out to Instagram.

The preview motion was rebuilt around a tile-origin transition, and the rollout no longer depends on older content fallbacks.

April 20, 2026

Follow the Leader, source-backed posts, and publishing polish

April 20 turned into a focused refinement pass: the new Follow the Leader background shader replaced the old World Destroyer slot, posts picked up optional structured source footers, and a set of publishing and metrics cleanups tightened both the reading and editing flow.

The former World Destroyer background slot now runs the new Follow the Leader effect, complete with the updated selector label and visual treatment tied into the shared site shader system.

That shader also picked up a viewport tracking fix so the cursor-follow effect continues all the way to the lower part of the screen instead of stopping short around the first post rows.

Published posts can now carry an optional structured sources list, stored directly in the content layer and rendered as a subtle linked footer only when a post actually includes source material.

The publishing flow also understands pasted reference lines like Title: https://... or existing anchor markup and converts them into clean linked source titles so long raw URLs do not spill into the visible post footer.

The site shell no longer boots the wrong fallback shader on first load while waiting for content, so a first-time visitor now lands directly on the configured background instead of briefly initializing Plasma first.

Additional polish tightened the metrics and editorial workspace layout so long-running management views make better use of space and stay easier to navigate during ongoing publishing work.

April 19, 2026

Grounded MOEBIS, fuzzy retrieval, and native metrics

April 19 became the big MOEBIS architecture pass: live chat retired the old compressed-context bootstrap in favor of a retrieval-backed memory flow, public search and X-log matching got much sharper, and third-party analytics gave way to a native metrics path.

The old upfront context bootstrap is no longer the live grounding layer: MOEBIS now uses a durable memory layer plus on-demand site retrieval for each turn.

That grounded chat path returns structured source links under each answer, keeps those links out of private and 404 content, and strongly prefers leaf sources like posts, projects, and anchored X posts over broad archive pages, tags, and changelog entries.

Public search also moved deeper into the site archive: the X log is indexed, X-post hits jump to exact anchors, highlighted terms can carry across the clicked destination, and first-search latency dropped after the index build stopped happening on the first interactive query.

The retrieval stack now uses typo-tolerant fuzzy matching plus stricter ranking and follow-up reuse, so questions around things like Ukraine, iPhone, Ghostty, Modest Mouse, or vague spoken follow-ups stay closer to the actually relevant posts and tweets instead of drifting into tangential content.

Third-party analytics is gone: native session and event tracking now captures visits, unique visitors, page views, chat opens, device signals, and longer-range rollups over time.

The homepage and live shell got a parallel polish pass too: MOEBIS is now embedded in the hero by default, can expand across the full hero-and-About shell on desktop, and the transcript/source chrome was tightened so the wider mode actually uses the available room.

April 18, 2026

Shader system, shared media sync, and optimization

April 18 became the tight-everything-up release: the site picked up a real multi-shader background system with site-configurable modes, a cleaner route-loading and session path, a rebuilt clouds effect, and a shared content-and-media pipeline so live edits and post media stay in sync between localhost and prod.

The site background stopped being a one-off effect and became a shared system: World Destroyer, Shader Toy, Jupiter, Cauldron, Gobstopper, Easter Lily, and the rebuilt Head in Clouds effect now sit alongside Plasma as normalized site-config options.

Background shader selection is wired through shared site-config types and normalization, so changing the site look no longer means hand-editing content or risking mismatched values between client and server.

A dedicated SiteBackgroundLayer plus reusable renderer plumbing now lazy-load the heavier WebGL backgrounds behind the public shell, which keeps the default route lighter while making it much easier to swap in and iterate on new shader experiments.

Mutable site content is now database-backed across environments, with the changelog, editable pages, site config, tweet log, and other live content all reading from the shared store instead of repo snapshots.

Post media now uploads into the shared media host while keeping an archive copy under assets/posts, the old uploads cruft was retired, and existing post image references were migrated over to the shared media host.

The front end also leans harder on route-level code splitting, deferred third-party work, shared session state, and editor cleanup so the editing and publishing surfaces rely on less duplicate fetch logic and less leftover glue code.

The server side picked up a smarter content-store cache plus stricter hardening around protected and live-session routes, and the local shell now keeps the last good content snapshot on screen during backend restarts while cross-process content edits refresh without needing a manual restart.

April 17, 2026

Tailwind v4, UI parity cleanup, and context-plus-chat polish

April 17 turned into a broad refinement pass across the stack: the site moved onto Tailwind v4 and fresher core dependencies, the chat-grounding pipeline got more continuity-aware, and a long visual parity cleanup pulled localhost back toward the production look after the upgrade work.

The front-end stack is now on Tailwind v4 with refreshed React, Vite, TypeScript, Tiptap, lucide-react, and other direct dependencies, plus the supporting config changes needed to keep the build green.

A long parity pass then restored the older visual rhythm where the upgrade drifted it: hero eyebrows, nav pills, CTA sizing, tag pills, post-edit controls, changelog spacing, post-title line height, search-button alignment, and other small chrome details were pulled back toward the production styling.

The homepage hero kicker now reads Bohemian polymath / creative web lab, and the latest-X card branding was simplified back down to a standard x.com pill instead of a custom logo treatment.

The default 404 experience now uses the uploaded Obi-Wan still, keeps the smaller caption treatment on the image, and drops the oversized overlay copy so the artwork can breathe.

The manual memory refresh flow now supports a one-off full rebuild plus a lighter incremental workflow that updates only the affected sections of the grounding files instead of reprocessing everything on every delta refresh.

Those grounding files also picked up an explicit Musical Taste section so preferences like Pink Floyd, Modest Mouse, and Radiohead are preserved as first-class context instead of getting flattened away in summaries.

MOEBIS live chat now keeps the original first-time greeting, switches reconnects in the same session to What's up?, and uses a warmer default voice than the earlier build.

The homepage latest-X card now revalidates against the server even when a browser has a recent cached copy, so moebis.com stops holding onto a day-old local tweet cache after the server already knows about a newer post.

April 16, 2026

MOEBIS chat polish, arcade restoration, and publishing pipeline cleanup

April 16 turned into a broader polish sprint across the site: MOEBIS chat got calmer mixed-mode behavior, the arcade projects were restored and renamed more intentionally, and the publishing stack tightened up around cleaner media handling, sturdier editing flows, and purpose-built social cards.

MOEBIS chat now opens with a seeded text greeting, keeps the input live before voice is connected, and only speaks that opener once the user explicitly turns voice on.

Within a live session, replies now follow the user's latest input mode instead of the mere presence of an open microphone, so typed turns stay text-only while spoken turns can still answer aloud.

The send control now telegraphs readiness with a green outlined state as soon as a typed draft is ready to send.

The 2042 remake was pushed much closer to the arcade original with a clearer P-38 silhouette, flatter carrier geometry, calmer enemy pressure, readable POW crates, stronger audio tuning, and cleaner island and convoy staging.

Both 2042 and Galaga now sit in lighter rounded project windows with restrained halo glow, and the footer Instagram treatment was simplified to match the rest of the site more cleanly.

Post editing picked up a much sturdier asset pipeline too: new drafts and focused edits now resolve correctly, title spacing and captions behave in the composer, markdown filenames stop auto-linking, and published post assets stay organized under slug-based folders when covers or slugs change.

Featured media across cards, article headers, editing previews, and share previews now use a unified 1.91:1 ratio, while every published post also gets a dedicated 1200 x 628 social card image so X receives a purpose-built large-card preview instead of the raw cover asset.

April 13, 2026

Changelog launch and article media polish

The site picked up a more usable editorial loop here: a public changelog and a cleaner media system for inline video and image-heavy articles.

The changelog page went live with milestone entries and a footer link so the build history is part of the site, not trapped in source control alone.

Published posts picked up a more focused editing flow with less console clutter while keeping article updates close to the live content.

Post cards and article covers now surface embedded-video posts with a VIDEO badge, while inline article media moved to centered, more intentional 80% presentation with improved video framing.

April 12, 2026

Project lab pass and memory hardening

The project pages kept evolving into a more intentional interactive lab while the site memory pipeline was reworked to preserve richer detail for MOEBIS chat instead of flattening away the important texture.

Project embeds were refreshed so the arcade experiments and browser-native demos feel more at home inside the site.

The compressed context and memory pipeline now carries more detail forward and treats continuity as part of the memory model instead of rewriting from scratch.

Hero surfaces across the site were tuned again so the plasma background shows through more consistently without making non-home pages feel washed out.

April 11, 2026

Publishing stack, live chat, sync, and speed sprint

A large systems pass landed across the publishing stack, the homepage MOEBIS assistant, site recovery workflows, analytics, and performance tuning so the site could function like a real self-hosted publishing platform.

The homepage gained the inline MOEBIS live chat experience with realtime voice controls and site-aware context.

The publishing stack added stronger sessions, source-controlled recovery tools, better editor controls, embeds, search, and cleaner publishing flows.

Performance and stability work covered chunk splitting, caching, homepage loading priorities, visual polish, and a return to a straightforward analytics snippet.

April 10, 2026

Self-hosted site foundation and front-end direction

The initial site foundation came together here: a self-hosted moebis build with homepage, about, posts, projects, route-level SEO, and the first wave of visual language for the new interface.

The site structure and navigation were established across home, about, posts, tags, projects, and the core publishing routes.

SEO fundamentals landed early, including metadata, redirects, sitemap support, and social cards.

The homepage feed card, hero layering, motion, and bundle behavior went through several rapid refinement passes to establish the visual tone.

Instagram