cutty.dev — szybka skracarka linków
cutty.dev — szybka, samodzielnie hostowana skracarka linków. v0.6.2 LIVE na własnym serwerze w UE, launch 3.06.2026. 12 lokalizacji z auto-detekcją (PL, EN, DE, FR, ES, IT, CS, RO, NL, AR, ZH, PT — tłumaczenia napędzane lokalnym modelem AI). Rich hero z opcjami zaawansowanymi (własna końcówka, hasło, data wygaśnięcia, limit kliknięć), 3-tier pricing (Free aktywny, Pro+Team Wkrótce), strony About / FAQ z JSON-LD schema / Contact z formularzem / Changelog z 5 wersjami, blog z RSS + JSON feeds + BlogPosting schema. T&C checkbox we wszystkich 12 lokalach. 4 sposoby logowania (Google, Facebook, LinkedIn, X) + email PIN. Cinematic UI, branded 404, SSL Labs A+ z post-quantum kryptografią, IndexNow 111 URL-i zgłoszone do Bing/Yandex.
Stack
- Astro 5 SSR + React 19 islands
- Tailwind 4
- SQLite + Drizzle ORM
- Lokalny model AI (open-source LLM) dla auto-tłumaczeń — uruchomiony na prywatnej sieci mesh
- Docker + Caddy z auto-HTTPS przez Let’s Encrypt
- Własna skrzynka pocztowa dla transakcyjnych maili (PIN do logowania), provider chain z fallbackiem
- Bot powiadomień dla daily i18n digest oraz uptime monitor
Funkcjonalności
- 🎬 Cinematic UI na całej stronie — ambient particle bg z reakcją na kursor (mobile pomija dla Performance)
- 🌍 Auto-wykrywany język — kraj wizytora i preferencje przeglądarki
- 📧 Wielojęzykowy mail — PIN do logowania w języku użytkownika, z brandowym templatem (dark + purple gradient)
- 🔗 Markowe końcówki — /twoja-marka zamiast /k3n9X
- ⏰ Termin ważności — data wygaśnięcia, limit kliknięć, albo oba
- 🔒 Ochrona hasłem — bcrypt + HMAC unlock cookie, rate-limit
- 📱 Kody QR w komplecie — PNG/SVG download, druk-ready
- 📊 Analityka kliknięć — kraj, urządzenie, referrer, bez crossdomain trackingu
- 🎯 UTM auto-append — per-link source/medium/campaign
- 👤 Bez wymogu rejestracji — twórz anonimowo, potem przejmij na konto (z brandowym confirmation modal, statystyki zachowane)
- 🛡️ Admin panel — Overview / Links / Users / Translations editor
- ⚖️ GDPR-ready — Privacy + Terms PL i EN, cookie banner z opt-in
- ♿ WCAG AA accessibility — skip-to-main, focus rings, aria-labels
- 🔍 SEO baseline — sitemap z hreflang, JSON-LD, og:image per locale, OG cards
- 🚫 Branded 404 — „Nie ma tu nic. Jeszcze.” / „Nothing here. Yet.”
v0.5.7 — kosmetyka, branding, mail (2026-05-22)
Ostatni kilometr przed launchem. Cinematic styl rozciągnięty z landingu na wszystkie podstrony (login, marketing, regulamin, polityka prywatności) — ten sam animated badge, sequence reveal, gradient hero glow. Particle background tła zachowuje się aktywnie (ambient drift + reakcja na kursor + szybsze formowanie konstelacji), mobile pomija canvas dla wyniku Lighthouse Performance.
Wielojęzykowy og:image — każda lokalna wersja strony ma własny social-share preview (na razie PL + EN, reszta dwunastu wskoczy z v0.6). Renderowane z brandowego HTML template przez headless Chromium, ten sam typografia + gradient co landing, bez badge’a beta.
Własna skrzynka pocztowa dla PIN-ów do logowania — primary path przez SMTP na domenie cutty.dev, zewnętrzny provider zostaje jako fallback. Templates zbrandowane (PL + EN), reszta dwunastu języków w v0.6.
UX polish: natywne confirm() / alert() w dashboardzie wymienione na brandowe modale (delete = czerwony destrukcyjny, claim = fioletowy niedestrukcyjny). ESC + backdrop dismiss + focus trap. CSRF guard w API ucichł — wszystkie POST/DELETE z UI lecą z explicit Content-Type. Branded 404 z lokalizowanym copy.
Co zostaje przed premierą: tłumaczenie błędu „Wrong PIN” (backend nadal zwraca po angielsku na PL locale), Manual QA flow dla password-protected linków i admin panelu, merge PR z lokalną bazą GeoIP (TOP KRAJE pokazuje „unknown” gdy CF Proxy off). Potem v0.6 — dziesięć nowych języków + ProductHunt + Show HN.
Roadmap
v0.6 international: dwanaście języków (PL/EN/DE/FR/ES/IT/CZ/RO/NL/AR/ZH/PT), pełna lokalizacja UI + mail + og:image. Lighthouse 100/100/100/100 desktop+mobile, schema expansion, a11y audit.
v0.7+ revenue (gated na 1000+ zarejestrowanych użytkowników): płatne plany z custom domains, większe limity, branding usuwany.
v0.8+ power features (gated na traction): publiczne API z webhookami, smart routing (A/B + geo + device), QR z embedowanym logo.
v0.9+ extensions (gated na traction): widget embed, Chrome extension, Firefox extension, mobile-friendly bookmarklet.