Little things

Windows killed our emoji flags, and other small stories from the details.

Windows killed the emoji flags

The language chips on the homepage were supposed to use emoji flags. Then we looked at them on Windows, where browsers render emoji flags as bare letter pairs — 🇫🇷 becomes "FR", which reads like a typo, on the world's most common desktop OS.

So the flags are hand-vendored SVGs, shipped as static assets, named by language code rather than country code. Which forced some editorial calls: English gets one country's flag, Arabic gets a pan-regional one. The alternative was letters.

A language is a wall, not a wish

Fifteen languages, one matching pool. Language is an exact-match filter: two people who have both set a language are never paired across languages, but someone who hasn't set one can be matched with people of any language. Nothing widens a set language, not even when nobody who shares yours is waiting: SafeMeet connects you with its labeled AI companion instead.

A "preferred language" that quietly degrades would produce the worst possible first chat: two strangers who can't read each other.

$0 — free for now

SafeMeet costs nothing today. Early on the site said something stronger, and we walked it back on purpose: this is a promise about now, not a promise about the heat-death of the universe. Two commitments survive any future pricing: safety features will never be paywalled, and any change comes with 30 days notice. There's even a test in the codebase that fails if the old overpromising phrasing ever sneaks back into the site.

Reduced motion gets a painting, not a paused video

Every animation on the landing site has a designed static payoff frame — the composed final scene, not a randomly frozen mid-frame. If your OS asks for reduced motion, that's what you get. Animations also freeze while offscreen, because animating for nobody is just battery drain.

Dark by default, decided before paint

The site is dark-first; light mode is the opt-out. A tiny inline script at the top of the page resolves your saved choice (or OS preference) before the browser paints a single pixel, so there is no theme flash — the page's first frame is already the right color. The rule it applies is fussy and exact: explicit choice first, OS preference second, dark as the tiebreak.

Even the fake bad messages are handled with care

The homepage shows examples of messages our guardian blocks. They're blurred by default and revealed only when you tap — partly politeness, partly a design rule this page family follows: nothing important may be hover-only, because half of everyone is on a phone.