$ cat ./posty/devlogi/cutty-devlog-6-wszystkie-12-jezykow-i-co-sie-okazalo-po-drodze.md

cutty devlog #6 — all 12 languages and what happened along the way

maj 23 02:33 | 2 min | autor: esej | #devlogi

Last night cutty.dev had two languages. This morning it has twelve. Along the way, quite a few things came to light.

What went in today

  • Twelve languages with automation — the site adapts to the country you're coming from. A German gets the German version, a Spaniard the Spanish one, an Arab the Arabic one (with a mirrored right-to-left layout). Translations are generated by a local AI model on my second server — no external APIs, no monthly fees.
  • Card after creating a short link — previously you just got a short address. Now a nice tile appears with a QR code (with our logo in the center), a copy button, a summary of settings (password? expiration date? click limit?) and a suggestion to create a free account.
  • Advanced options from the first click — without logging in, you can immediately set your own suffix, password, expiration date, and click limit. All in one form.
  • Delete account with one click — in compliance with GDPR. You click, the session disappears, your links stop working (but their suffixes never return to the pool — so no one else can take them).
  • Password leak warning — when you set a password on a link, we check it against a database of public data breaches (HaveIBeenPwned, anonymously). If it was compromised before — we inform you, but don't block it.
  • Blog — at cutty.dev/blog. For now, one welcome post. More to come when there's something to write about.

What came to light along the way

Small things that grew:

  • Four versions of the pricing page written from scratch. The first promised “free forever” — too bold. The second was too technical. The third with specific future prices — which I don't know. The fourth simply says: now free, maybe something will be paid later, don't know what yet.
  • Privacy policy and terms of service revised to not reveal who our infrastructure providers are. Not out of paranoia — for security.
  • Four blog posts written, accepted by me, published, and then deleted — because they sounded too aggressive towards competitors and could carry legal risks. Lesson: minor comparisons with branded services are a minefield. Even if true.
  • The logo in a screen reader was read as “cuy.dev” instead of “cutty.dev”. A small HTML attribute fixed it.

What's next

I'm waiting for the translations to finish — for now half the languages are ready, the other half is being translated. Then polishing the Arabic version (right-to-left layout requires specific checking in the browser). Then deciding when to make the public announcement.

cutty.dev is ready. I haven't decided yet when to “launch”.