What actually landed on the public o0oi1i site — pages, theme, motion, and language. This is not a SaaS product log.
Aug 30, 2026
Work, public data, and pricing as their own pages
New
The showcase now has first-class routes instead of homepage-only anchors. Portfolio, public data, and pricing can be opened on their own.
New
Standalone /work, /data, and /pricing pages. The frames are in place; live case studies and a public-data API come later.
Improved
Navigation and the footer point at those routes, not section hashes.
New
The homepage keeps the intended order: hero, selected work, data preview, process, latest notes, pricing, then connect.
Aug 29, 2026
Motion that can step down
Background motion is decorative. The page stays readable if animation is reduced, WebGL fails, or the device should stay light.
New
Default lite mode: a color wash, not a WebGL particle field.
New
prefers-reduced-motion uses a static or faded background. Content does not depend on the animation.
Improved
If WebGL fails to start, the site falls back to lite instead of leaving a broken canvas.
Aug 28, 2026
Light, dark, and system
You can follow the system color scheme or pin light or dark. The choice stays on this device.
New
A color-mode control with system, light, and dark.
New
The preference is stored in localStorage on your device, not sent as an account setting from this public site.
Improved
The public site defaults to system theme so the first visit matches the device.
Aug 27, 2026
The o0oi1i mark on the public site
The marketing site now reads as a personal showcase: the mark, the name, and copy about work and public data — not a generic starter product.
New
Shared logo: the o0oi1i mark plus the word o0oi1i.
Improved
Homepage copy talks about selected work, a data preview, and how the site is built.
New
The primary call to action is View work.
Aug 26, 2026
Chinese and English
The public site is bilingual. English is the default locale; Chinese lives under /zh. Switching language remembers your last choice in a locale cookie.
New
zh and en locales on the marketing site. German locale files from the starter are unused.
New
A language switcher in the header.
New
The last locale can be stored as NEXT_LOCALE so the next visit stays in that language.