// Studija slučaja

Diamond Lux — jednostrani sajt apartmana u centru Kopaonika

Apartman od 33 kvadrata u Vili Montana, pedeset metara od hotela Grand. Do sada je živeo na tuđim listama i na Instagramu; trebalo mu je svoje mesto na internetu koje ubedi gosta za manje od minuta i na kome se rezerviše pozivom, ne formom. Jedna strana, srpski i engleski, i trodimenzionalna scena koja prati skrol od vrha do dna.

Klijent
Diamond Lux — Bratislav Rajković
Delatnost
Izdavanje apartmana, privatni smeštaj
Lokacija
Vila Montana, centar Kopaonika
Tip
Jednostrani sajt na dva jezika
Tehnologije
Next.js 15 · React Three Fiber · next-intl · Tailwind 4
Status
Živ sajt od maja 2026.
Naslovni ekran sajta Diamond Lux sa natpisom Vila Montana, centar Kopaonika
Uvodni ekran — „Vila Montana · centar Kopaonika · 1700 m" i poziv u jednom dodiru

Čime se Diamond Lux bavi

Diamond Lux je apartman od 33 kvadrata na trećem spratu Vile Montana, u samom centru Kopaonika. Pedeset metara od hotela Grand, sto pedeset od Doline sportova, na oko 1700 metara nadmorske visine. Prima četiri osobe: bračni krevet u zasebnoj spavaćoj sobi i ugaona garnitura na razvlačenje u dnevnoj.

Ono što ga izdvaja od većine privatnog smeštaja na planini je ski-to-door. Skijašnica je u samoj vili, do nje se silazi liftom, a izlaz na stazu je preko puta. Gost ne nosi skije i pancerice kroz centar, i to je rečenica koja na Kopaoniku prodaje jače od bilo kog prideva. Uz to idu podno grejanje, kompletna kuhinja, LED TV sa kablovskom, Wi-Fi i parking.

Vlasnik je Bratislav Rajković i izdaje direktno, bez agencije i bez provizije. Do sada je apartman živeo na tuđim listama, na portalima za smeštaj i na Instagram nalogu na kome stoje oba njegova apartmana na Kopaoniku.

Jedna stvar da bude jasna odmah, jer se vidi u adresi: sajt stoji na našem poddomenu, pošto vlasnik za sada nema sopstveni domen. Sve ostalo je njegovo — apartman, fotografije, brojevi telefona i rezervacije koje stižu direktno na te brojeve. Kada domen bude kupljen, sajt se seli na njega, a stara adresa ostaje kao trajno preusmerenje.

Šta je trebalo rešiti

Zahtev je bio lak za izgovoriti i nezgodan za izvesti. Apartman treba mesto na internetu koje pripada njemu, a ne portalu, i koje gosta ubedi pre nego što se predomisli. Iz toga su ispala četiri tvrda uslova:

  • Sve na jednoj strani. Ko traži smeštaj za vikend ne otvara podstranice. Sve što odlučuje — veličina, kapacitet, udaljenost od staze, sadržaji, lokacija, sezona i cena na upit — mora da stane u jedan skrol.
  • Srpski i engleski ravnopravno. Kopaonik ima i stranu klijentelu, a poluprevedena strana je gora od strane samo na srpskom.
  • Rezervacija bez forme. Vlasnik hoće da razgovara sa gostom, a ne da čeka mejlove. Poziv i Viber, ništa treće.
  • Nešto što se pamti. Privatni smeštaj na Kopaoniku ima isti šablon: galerija, cena, forma. Ako se sajt ne razlikuje ni po čemu, ostaje da se razlikuje samo po ceni, a to je najgore mesto za takmičenje.

Uz to je išao uslov koji niko nije izgovorio, a podrazumeva se: najveći deo posetilaca dolazi telefonom, često sa lošom vezom na planini. Sve što je efektno mora da ima rezervnu varijantu koja radi i kada efekat ne prođe.

Jedna strana, sedam odeljaka

Sajt ima sedam numerisanih odeljaka i navigaciju koja skače na njih: O apartmanu, Galerija, Sadržaji, Lokacija, Sezone, Pitanja i Kontakt. Redosled nije proizvoljan — prati redosled kojim gost donosi odluku.

Odmah ispod uvodnog dela stoji mreža sa činjenicama koje se najčešće traže: površina, kapacitet, sprat, nadmorska visina, udaljenost do hotela Grand i do Doline sportova. Pored nje ide oznaka za koga je apartman najbolji — porodice, parovi, skijaši i, leti, planinari. To je mesto koje presuđuje: ako gost tu ne nađe svoj slučaj, dalje ne skroluje.

Galerija ima deset fotografija sa opisima uz svaku — dnevna soba, trpezarija, kuhinja, spavaća, kupatilo, ulazna zona i pogled na centar. Svaka se otvara u uvećanom prikazu koji radi i tastaturom.

Odeljak o lokaciji nije samo mapa. Uz nju ide mali vodič kroz okolinu u obliku liste: staze i žičare, restorani, prodavnice, mesto gde se kupuje ski-pas i apoteka, sa pešačkim udaljenostima. Odeljak o sezonama je podeljen na zimu i leto sa preklopnim karticama, jer isti apartman u julu prodaje planinarenje, a ne skijanje.

Na kraju stoji jedanaest pitanja i odgovora. Nisu tu zbog dužine strane nego zato što su to pitanja koja vlasnik ionako dobija telefonom svaki put: ima li parking, kada je prijava i odjava, koliko traje ski sezona, kako se dolazi kolima.

Rezervacija bez forme

Ovo je odluka koju je vlasnik doneo sam i koja je oblikovala ceo sajt. Nema forme za rezervaciju, nema polja za mejl, nema kalendara. Postoje samo dva dugmeta: pozovi i pošalji Viber poruku.

Viber link nije goli broj — otvara razgovor sa već napisanom prvom porukom u kojoj piše da posetioca zanima Diamond Lux na Kopaoniku. Zvuči kao sitnica, ali skida najteži korak: gost ne mora da smišlja kako da počne. Na telefonu uz to stoji lepljiva traka na dnu ekrana sa oba dugmeta, koja prati skrol i ne nestaje, tako da je poziv udaljen jedan dodir sa bilo kog mesta na strani. U odeljku Kontakt stoje i rezervni brojevi za slučaj da glavni ne odgovara.

Sajt bez forme ima i mirnu stranu koja se ne reklamira: nema baze sa tuđim podacima, nema poruka koje se izgube u filteru za neželjenu poštu i nema obaveza koje nosi svako prikupljanje podataka. Politika privatnosti je zato kratka i istinita — sajt ne prikuplja lične podatke kroz forme, jer formi nema.

Vredi reći i cenu te odluke. Nema traga o upitu koji nije završen razgovorom i nema statistike o tome koliko je ljudi pisalo pa odustalo. Za jedan apartman i jednog vlasnika koji se javlja na telefon to je razumna razmena. Za deset jedinica i dve osobe koje ih vode ne bi bila, i tada bi ovaj sajt izgledao drugačije.

Dijamant koji vodi kroz skrol

Ime apartmana je dalo i ideju. Kroz celu stranu, iza sadržaja, lebdi dijamant izrađen u WebGL-u koji prati skrol: klizi u stranu, spušta se, izmiče u dubinu i smanjuje se dok se ide ka dnu. Oko njega pada sneg, a scena se blago pomera za pokazivačem miša.

Kamen nije gotov model skinut sa mreže. Geometrija je napisana u kodu kao pravi brilijantni brus — sto, kruna, rondista i paviljon do kalete — i namerno je neindeksirana, što znači da svaki trougao ima sopstvene tačke. Zbog toga se normale računaju po strani, a ne po tački, pa faseta izgleda oštro i ravno umesto da se stopi u glatku loptu. To je razlika između kamena i staklene kugle.

Materijal je providan, sa indeksom prelamanja 2,42 kao kod pravog dijamanta i blagom hromatskom aberacijom koja razbija svetlost u boje po ivicama. Bez naknadne obrade slike — nema blura ni sjaja preko cele scene. To je namerno: postobrada je najskuplji deo i najčešći uzrok pada na slabijim telefonima, a dobitak na ovoj sceni ne bi bio vredan tog rizika.

Najzanimljiviji problem u celoj sceni bio je banalan. Providan kamen na svetloj pozadini je nevidljiv — prelama belo u belo i ostane obris koji se ne vidi. Sajt ima toplu, skoro kremastu pozadinu, pa je dijamant prosto nestajao. Rešenje je tamna kružna ploča iza kamena, kao reflektor okrenut naopako: daje fasetama kontrast, a sa skrolom bledi da ne bi zaprljala svetlu temu strane.

Greške koje su rušile stranu

Ovaj deo je ovde zato što je bio najskuplji. Sajt je u jednom trenutku posetiocu prikazivao poruku o grešci umesto strane, i to ne svima, pa se prijavljivalo kao „ponekad ne radi".

Uzroka je bilo tri i svaki je sam po sebi dovoljan. Prvi: kada pregledač nema WebGL — isključen grafički sloj, stariji telefon — biblioteka za trodimenzionalni prikaz baci grešku, a bez zaštitne komponente iznad nje pada cela strana, ne samo scena. Drugi: gotovo osvetljenje iz biblioteke povlači datoteku sa mreže sa tuđeg servera, što bezbednosna pravila sajta zabranjuju, pa odbijeni zahtev takođe obara prikaz. Treći: u galeriji je stajao neispravan HTML — dugme unutar dugmeta — koji pregledač sam prepravi, pa se prepravljena struktura razilazi sa onom koju je server poslao.

Rešeno je redom. Osvetljenje se sada pravi u kodu, iz nekoliko izvora svetla postavljenih ručno, bez ijednog zahteva ka spolja. Iznad scene stoji zaštitna komponenta koja grešku hvata i tiho vraća statičnu fotografiju planine. Sama biblioteka se učitava tek pošto se potvrdi da WebGL postoji, u zasebnom paketu, pa prvo učitavanje strane ostaje na 136 kilobajta bez obzira na to da li će scena uopšte krenuti. Ko je u podešavanjima isključio animacije, ne dobija ni scenu ni sneg.

Postojao je i vizuelni kvar koji je zvučao kao sitnica: pri skrolu bi na dnu iskočila tamnoplava traka. Uzrok je bio tamni režim operativnog sistema — strana je imala i tamnu paletu koja se palila sama, a pozadinska fotografija se pomerala pri skrolu i ostavljala procep kroz koji se ta paleta videla. Tema je zaključana na svetlu, tamne blokove smo obrisali, a pozadina je postala nepomični sloj preko celog ekrana. Procep ne može da nastane jer se ništa ne pomera.

Srpski i engleski kao dva ravnopravna sajta

Srpska verzija stoji na korenu adrese, engleska na /en, a pregledaču i pretraživaču se jasno kaže koja je koja i da postoji izbor. Politika privatnosti ima obe verzije i one se međusobno prepoznaju, pa posetilac na engleskom ne završi na srpskom pravnom tekstu.

Prevod je bio i mesto gde je nađen tih problem. Engleska strana je delovala prevedeno, ali je na pet mesta i dalje ispisivala srpski: naslov Udaljenost u lokaciji, uvodni pasus iznad pitanja, nazivi kartica za zimu i leto sa savetima ispod njih, natpisi za dugmad u galeriji koje čitači ekrana izgovaraju, i oznake za primarni i rezervni kontakt. Ti tekstovi nisu prolazili kroz prevodne datoteke nego su bili upisani direktno u komponente, pa ih niko nije ni video kao neprevedene.

Svi su prebačeni u prevodne datoteke, a provera je bila gruba i efikasna: pretraga engleskog HTML-a za srpskim slovima i rečima vratila je nulu. Pouka koja se prenosi na svaki dvojezični sajt — prevod nije gotov kada su tekstovi prevedeni, nego kada u komponentama nije ostala nijedna upisana reč.

Brzina i ono što se stvarno meri

Fotografije apartmana su najteži deo strane, pa se serviraju u savremenim formatima i u više veličina, a pregledač uzima onu koja mu odgovara. Uvodna fotografija planine je istovremeno i najveći element prve slike i rezervna varijanta za scenu, pa se učitava prva i bez odlaganja.

Poslednje merenje u Google alatu daje na računaru 100 za performanse, pristupačnost, dobru praksu i SEO, sa najvećim elementom prikazanim za 0,7 sekundi. Na telefonu je pristupačnost, dobra praksa i SEO takođe 100, a performanse 89, sa najvećim elementom na 3,5 sekunde. Pomeranje sadržaja pri učitavanju je nula na oba uređaja — ništa ne skače pod prstom.

Broj 89 stoji tu namerno i neće se pretvarati da je stotka. Trodimenzionalna scena košta, a odluka je bila da vizuelni utisak vredi te razlike na sajtu čiji je posao da ostane upamćen. Sve što je moglo da se plati bez gubitka utiska — odloženo učitavanje biblioteke, izostavljena postobrada, prilagođavanje kvaliteta slabijem uređaju — već je plaćeno.

Obe jezičke verzije prolaze W3C proveru bez ijedne greške. Kartice za sezone rade po pravilima za tastaturu, uvećani prikaz slika ima natpise za čitače ekrana, a preskočni link na vrhu vodi u glavni sadržaj.

SEO, strukturirani podaci i vidljivost

Naslov i opis su pisani odvojeno za svaki jezik i skraćeni na dužinu koju pretraživač zaista prikazuje — srpski naslov je 52 znaka, engleski 54, opisi oko 155. Primarna fraza je na početku, a udaljenost od hotela Grand u opisu, jer je to podatak zbog koga se klikće.

Glavni naslov strane ostao je logotip DIAMOND LUX, što je dizajnerska odluka koja se nije menjala. Ključne fraze zato nose podnaslov ispod njega i naslov odeljka o apartmanu, koji doslovno kaže da je reč o apartmanu u Vili Montana, u samom centru Kopaonika.

Strukturirani podaci su ozbiljan deo posla: jedan povezan graf sa osamnaest tipova, među kojima su Apartment sa površinom, brojem soba i kapacitetom, LodgingBusiness sa kontaktom, FAQPage, opis okolnih lokacija i podaci za glasovnu pretragu.

Jedan detalj tu vredi više od ostalih. Pitanja i odgovori su narasla sa pet na jedanaest, a FAQPage podaci se generišu iz istih prevodnih datoteka iz kojih se ispisuje i vidljivi tekst. Najčešća greška sa strukturiranim podacima je da se tekst na strani promeni, a u podacima ostane stari — ovde to nije moguće, jer izvor postoji samo jedan.

Roboti veštačke inteligencije imaju izričitu dozvolu u robots.txt, mapa sajta nosi jezičke parove za svaku adresu, a nove verzije se pretraživačima javljaju i preko IndexNow ključa.

Iskreno o vidljivosti: kada je adresa promenjena sa starog poddomena na diamondlux, Google je novu adresu obišao dok je sadržaj bio identičan staroj i za glavnu proglasio staru — nov sajt mu je izgledao kao duplikat. Rešeno je trajnim preusmerenjem u jednom koraku, ručnim zahtevom za ponovni obilazak i zasebnim unosom u Search Console. Rangiranje na poddomenu prema portalima za rezervacije je i dalje duga trka, a najjača preostala poluga nije tehnička nego vlasnikova: profil na Google mapama, link u Instagram biografiji i postojeći oglasi koji vode na sajt.

Mapa, kolačići i sitnice koje niko ne vidi

Mapa u odeljku o lokaciji nije radila, a to se sa strane nije videlo — samo je na tom mestu bila praznina. Uzrok: mapa je bila ubačena sa Google-a, a bezbednosna pravila servera dozvoljavaju ubacivanje okvira samo sa OpenStreetMap-a, pa je pregledač okvir tiho odbijao i prijavljivao prekršaj samo u konzoli. Zamenjena je OpenStreetMap mapom koja pravila poštuje i ne prati posetioca, dok je link ka Google navigaciji ostao kao obično dugme, za one koji planiraju put kolima.

Bezbednosna zaglavlja su bila postavljena dvaput — jednom iz aplikacije, jednom sa servera — pa su neka stizala u dva primerka. Server je proglašen jedinim izvorom, a set je ostao pun: prinudni HTTPS, zabrana ubacivanja sajta u tuđi okvir, zaključana kamera i mikrofon i stroga pravila o tome odakle se sme učitavati sadržaj. Uz to idu security.txt i sopstvena strana za nepostojeće adrese, na oba jezika.

Kolačići rade po pravilu da se ništa ne meri dok posetilac ne pristane. Traka nudi tri izbora — sve, samo neophodno i podešavanja — a analitika beleži anonimno i pali se tek posle pristanka.

Najskrivenija greška bila je u DNS zapisu. Sajt je imao objavljenu IPv6 adresu koju server ne poseduje, nasleđenu iz stare beleške za postavljanje, pa je posetilac koji dolazi preko IPv6 mreže čekao dok veza ne istekne. Sa IPv4 je sve radilo, pa se kvar nije pojavljivao ni u jednoj običnoj proveri. Ispravljeno je na svim adresama iz iste grupe i provereno pozivom baš preko IPv6. Detalje o pravnom delu možete videti u politici privatnosti, koja je kratka jer sajt nema šta da prikuplja.

Šta klijent na kraju ima

Adresu koja je njegova, na dva jezika, koju može da stavi u Instagram biografiju, u oglas na portalu ili da je izdiktira telefonom. Gost sa te adrese zove ili piše u jednom dodiru, a razgovor završava kod vlasnika, ne kod posrednika koji uzima procenat.

Sajt nema mesečnu pretplatu platformi, nema dodatke koji se raspadnu pri sledećem ažuriranju i nema bazu koja može da procuri. Kod stoji na serveru, može se prekopirati i preseliti — uključujući i selidbu na sopstveni domen kada za njega bude prilike.

U podnožju stoji i link ka drugom apartmanu istog vlasnika na Kopaoniku, sa uzvratnim linkom sa te strane, pa dva sajta rade jedan za drugog umesto da se takmiče.

Ono što je ostalo vlasniku, ostalo je zato što niko drugi ne može da uradi umesto njega: profil na Google mapama za apartman, link ka sajtu u biografiji naloga i na postojećim oglasima. Sve tehničko je gotovo i provereno — na računaru i na telefonu, u oba jezika, i sa uključenom i sa isključenom trodimenzionalnom scenom.

// Sajt uživo

Diamond Lux Kopaonik

Apartman od 33 kvadrata u Vili Montana, ski-to-door, pedeset metara od hotela Grand — na srpskom i engleskom.

diamondlux.svilenkovic.rs

Često postavljana pitanja

Zašto jedna strana, a ne sajt sa više strana?
Zato što se jedan apartman opisuje jednom. Ko traži smeštaj za vikend ne otvara podstranice nego skroluje dok ne nađe razlog da pozove ili razlog da ode. Sve što odlučuje stoji u jednom skrolu, a navigacija na vrhu skače na odeljak koji ga zanima.
Zašto nema forme za rezervaciju?
Zato što vlasnik tako radi — javlja se na telefon i dogovara uživo. Sajt zato nudi poziv i Viber poruku sa već napisanim uvodom, a na telefonu ta dva dugmeta stoje u traci koja prati skrol. Bez forme nema ni baze sa tuđim podacima ni upita koji se izgubi u filteru za neželjenu poštu.
Da li trodimenzionalna scena usporava sajt na telefonu?
Košta, i to se vidi u merenju: na telefonu su performanse 89 umesto 100. Biblioteka se učitava tek pošto se potvrdi da uređaj podržava WebGL, u zasebnom paketu, pa prvo učitavanje strane ne zavisi od scene. Odluka je bila da vizuelni utisak vredi te razlike.
Šta vidi posetilac čiji telefon ne podržava trodimenzionalni prikaz?
Statičnu fotografiju planine i ceo sadržaj strane, bez ijedne poruke o grešci. Isto važi i za posetioca koji je u podešavanjima isključio animacije. Scena je dodatak, nikada uslov da bi se strana videla.
Zašto sajt stoji na poddomenu i može li da pređe na svoj domen?
Zato što vlasnik za sada nema sopstveni domen. Prelazak je jednostavan: sajt se prebacuje na novu adresu, a stara ostaje kao trajno preusmerenje da se ne izgube postojeći linkovi. Jedini uslov je da se posle toga zatraži ponovni obilazak, jer pretraživač promenu adrese ne primeti odmah.
Koliko traje izrada ovakvog sajta za apartman?
Sam sajt manje nego što se očekuje, jer je jedna strana. Najviše vremena odnesu fotografije, tekstovi na oba jezika i provera na pravim uređajima. Ako se radi trodimenzionalna scena, ona je zaseban posao i sa njom treba računati na nekoliko dodatnih dana.

Treba vam ovakav sajt?

Recite mi čime se bavite i šta sajt treba da uradi za vas — dobijate fiksnu ponudu i rok, u pisanoj formi.

Pozovi