$ cat ./posty/devlogi/cutty-devlog-3-ostatni-kilometr-przed-premiera.md

cutty devlog #5 — it was supposed to be half an hour

maj 22 21:33 | 2 min | autor: esej | #devlogi

It was supposed to take half an hour: "check if the favicon is good, fix og:image". Ended up at 3 AM with a mailbox migration, two modals, and full QA. The standard "since I'm already here" loop.

What changed

  • The background is alive — particles react to the cursor and have their own drift, so the screen doesn't freeze if no one moves the mouse. Mobile skips the canvas because Lighthouse penalizes every ms.
  • The entire template got a landing page upgrade — the login looked like a placeholder from 2018. Now everywhere has the same badge + reveal + gradient.
  • Branded 404"Nothing here. Yet." Status 404, but the human doesn't break.
  • Favicon — turns out the default Astro Rocket was hanging in the tab. Since some migration. Generating it from scratch.
  • og:image per locale — previously every viewer got a Polish preview with a "Beta" badge. Now the browser picks the language. PL+EN ready, the rest of the ten in v0.6.
  • Own mailbox for PINs — primary path from the cutty.dev domain, external provider as fallback. You log in, the code comes from my domain, not someone else's.
  • Native confirm() is gone — deleting a link looked like it was slapped on from 2005. Now a branded modal: red for destructive, purple for non-destructive. ESC works.
  • CSRF guard in Astro 5 silently rejected POST/DELETE from the UI. It looked like the page randomly threw errors. Fix: one line, one header.

What's next

Lighthouse: desktop 100/100/100/100, mobile 99 — because of 4× CPU throttling + 3G, in reality everything runs smoothly. Minor things remain (translating the "Wrong PIN" error in the Polish UI is still in English — congratulations to me) and Manual QA of the rest of the flow. Then v0.6 — ten new languages via Ollama at night, I sleep.

Launch (ProductHunt + HN) still gated on full QA. Max two more sessions. Yes, I said the same thing a week ago.