Week of September 29, 2026

A choice made on one of my sites kept getting erased by another

Shipped

One cookie now remembers light or dark mode across all three of my sites.

I run three different web addresses under one business: a personal site, this blog, and a course site. Someone reading one and clicking to another expects it to feel like the same place. The one thing breaking that was something as small as light or dark mode.

Each site kept its own separate memory of what a visitor picked. Choosing dark on one and landing on another reset it straight back to default.

The fix moves the choice into a cookie, a small file a browser holds and hands back to a site on every visit. It is scoped to the domain shared by all three addresses instead of to any single one of them. Whichever address a visitor lands on next already knows what they picked, because all three read from the same place now.

Broke

The fix almost shipped with a second bug hiding inside it.

For a while, “this visitor never chose a theme” and “this visitor chose light” were stored the exact same way: as nothing. That is fine right up until one of your systems has an older memory of its own to fall back on.

Here is how it went wrong:

  • A visitor picked dark on the main site months ago.
  • This time they landed on the blog first and picked light.
  • Light and “never asked” looked identical, so no record was left behind.
  • The main site’s older memory read that as still dark and pulled everything back to it.

The fix underneath the fix was simple once it was found: a stored choice and no choice at all can never be allowed to look the same.

Steal this

Check whether “nobody answered yet” and “the default answer” are stored the same way anywhere in your business.

Places it hides:

  • A form that treats a blank field and a zero the same.
  • A settings screen that treats “never opened notifications” and “turned notifications off” the same.
  • A customer record that treats “never asked” and “said no” the same.

If two different real situations write down as the identical stored value, something downstream will eventually read that value back and get the wrong one, the same way an old memory of mine did.

The fix is never clever. Give “nothing happened yet” its own value, distinct from every real answer a person could actually give.

Worth knowing

Google made its new text-to-speech models generally available last week. Text-to-speech means you hand it a script and get back a recorded voice.

  • Gemini 3.8 Flash TTS for voice work that needs real acting and direction.
  • Flash-Lite TTS for cheap, high-volume audio.
  • 2,000+ ready-made voices across 100+ languages.
  • It can build a copy of your own voice from a 30-second sample, as long as the owner of that voice records a spoken consent first.
  • Every clip carries SynthID, Google’s hidden watermark that marks the audio as AI-made.

What changes Monday: the phone greeting, the hold message, the voiceover on a how-to video, the same script in Spanish for half your customers. All of that used to mean booking a voice actor or recording yourself ten times. Now it is a script and a few minutes in Google AI Studio, which is free to try.

One catch before you plan around your own voice: the voice copy feature is not available in Texas, Illinois, the UK, the EU or India.

> Get the next issue in your inbox.

Subscribe free →