Tersebar
Foto terbaik hidup di tiga tempat berbeda. Klien harus mencari sendiri, dan link Drive terasa seperti berkas kerja, bukan karya.
UX Case Study · 2026
Merancang galeri karya yang terasa eksklusif seperti katalog butik, tetap ringan di HP, dan mengubah rasa kagum menjadi percakapan WhatsApp.
Overview & UX Research
Masalah yang ingin diselesaikan.
Calon klien menilai sebuah studio dari beberapa detik pertama melihat karyanya. Sebelumnya karya hsn.Studio tersebar di feed Instagram, folder Google Drive, dan kiriman WhatsApp, sehingga kualitasnya tenggelam di antara konten lain dan tidak ada jalan yang jelas menuju pemesanan.
Foto terbaik hidup di tiga tempat berbeda. Klien harus mencari sendiri, dan link Drive terasa seperti berkas kerja, bukan karya.
Tanpa kategori dan cerita per acara, calon klien wedding melihat foto produk, dan sebaliknya. Kesan premium hilang.
Setelah kagum, pengunjung harus menyalin nomor dan menyusun pesan sendiri. Setiap langkah tambahan menurunkan niat menghubungi.
Tujuan bisnis dan cara mengukurnya.
Tampilan setara studio papan atas, supaya harga paket terasa sepadan sebelum calon klien bertanya.
Ukuran: waktu di halaman, foto dibuka per kunjunganSetiap halaman punya ajakan WhatsApp dengan pesan yang sudah terisi sesuai kategori atau album yang dilihat.
Ukuran: persentase kunjungan album yang klik WhatsAppHalaman dirender di server lengkap dengan judul, deskripsi, dan data terstruktur, supaya muncul untuk pencarian lokal Tasikmalaya.
Ukuran: impresi dan klik di Search ConsoleAdmin menambah kategori, album, foto, dan film langsung dari Google Drive lewat panel admin, tanpa menyentuh kode.
Ukuran: waktu publikasi album baruProto-persona dari pola pertanyaan klien yang masuk ke admin. Belum divalidasi lewat wawancara terstruktur.
“Aku mau lihat hasil satu acara utuh, bukan cuma satu foto terbaik.”
“Saya perlu bukti cepat bahwa foto produk mereka bisa menjual.”
Ringkasan untuk persona utama, Nadia.
“Ada contoh wedding yang lengkap?”
“Paketnya mulai berapa ya?”
Apakah hasil di hari H akan sebagus foto di Instagram?
Studio ini sepadan dengan budget kami?
Menyimpan tangkapan layar, mengirim ke pasangan, membuka beberapa studio bergantian.
Antusias tapi cemas salah pilih. Malu bertanya harga sebelum yakin.
Flow Design & Architecture
Lima tahap dari menemukan studio sampai menghubungi admin. Geser ke samping di HP.
| 01Menemukan | 02Masuk | 03Menjelajah | 04Meyakinkan diri | 05Menghubungi | |
|---|---|---|---|---|---|
| Aktivitas | Melihat link di bio Instagram, hasil Google, atau kiriman teman | Membuka beranda, melihat foto besar dan nama kategori | Memilih kategori, membuka album, menggeser foto | Membaca kata klien, melihat rating, memutar film | Menekan WhatsApp, mengirim pesan |
| Touchpoint | Pratinjau link (judul, gambar Open Graph) | Hero bergantian, bilah kategori | Kartu album, penyaring kategori, penampil foto | Testimoni, lencana rating Google, film YouTube | Tombol melayang, ajakan di akhir album |
| Emosi | |||||
| Hambatan | Link terlihat seperti berkas kerja | Layar putih saat data dimuat | Foto besar lambat di 4G | Tidak ada bukti dari pihak ketiga | Bingung harus menulis apa |
| Solusi | Render server per halaman: judul, deskripsi, gambar pratinjau | Data tertanam di HTML, tampil tanpa menunggu server | Ukuran foto sesuai layar + pratinjau buram 32 px | Lencana Google 5,0 dan kutipan klien per album | Pesan WhatsApp terisi otomatis sesuai album |
Tiga tingkat yang dangkal: beranda, kategori, album. Setiap tingkat punya alamat sendiri yang bisa dibagikan.
/portfolio/portfolio/wedding
/portfolio/wedding/best-curation
di setiap halaman
Alur inti: dari link Instagram sampai pesan terkirim, dengan keputusan di setiap titik.
Dari bio Instagram, Google, atau pesan teman.
Keputusan desainServer langsung mengirim HTML lengkap beserta datanya. Teks pertama tampil sekitar 0,3 sampai 0,6 detik di desktop.
Lima sampul album unggulan bergantian, nama album bisa langsung diketuk.
Keputusan desainFoto memenuhi layar, teks serif tipis. Karya jadi bintang, antarmuka mundur.
Pengunjung memilih jalur sesuai kebutuhannya.
Keputusan desainChip memakai angka jumlah album, jadi pengunjung tahu isinya sebelum memilih.
Cerita satu acara utuh: sesi, foto, film, dan data acara.
Keputusan desainFoto bermatte putih seperti cetakan galeri. Urutan bisa diatur admin per bagian.
Geser kiri kanan, tombol panah, atau papan ketik.
Keputusan desainLatar hitam, foto tidak terpotong, posisi “2 dari 38” selalu terlihat.
Titik keraguan terbesar di journey map.
Keputusan desainBukti sosial diletakkan tepat sebelum ajakan, bukan di halaman terpisah.
“Halo hsn.Studio, saya suka karya ‘Best Curation’ (Wedding) di portofolio. Boleh info paket serupa...”
Keputusan desainPesan menyebut album yang dilihat, jadi admin langsung tahu konteksnya. Klik dicatat untuk statistik per album.
UI Design & System
Token asli yang dipakai halaman portofolio, lengkap dengan rasio kontrasnya. Biru logo #0152CC tetap dipakai pada logo.
#F4F0E8Latar utama#15130F16,3 : 1 · AAA#0141A38,1 : 1 · AAA#4A453C8,4 : 1 · AAA#0F0E0CPenampil & kontak#EBE5D9Bidang sekunder#00317DTeks putih 12,1 : 1 · AAA#EFE9DF16,0 : 1 · AAA#B7B0A39,0 : 1 · AAA#7FB0FF8,8 : 1 · AAAKarya pilihan
Wedding
Retya & Yasa
Dokumentasi Studio, Graduation, Prawedding, Wedding, Product dan Event.
Portofolio · Tasikmalaya
| Token | Nilai | Dipakai untuk |
|---|---|---|
--pf-gutter | clamp(18px, 4.5vw, 72px) | Jarak tepi, ikut lebar layar tanpa breakpoint |
--pf-max | 1440px | Lebar isi maksimum |
--pf-ease | cubic-bezier(.22,.61,.36,1) | Satu kurva gerak untuk seluruh situs |
radius | 999px · 0 | Tombol berbentuk pil, foto bersudut tegas |
touch | min 44px · tombol utama 48px | Target sentuh di HP |
motion | 0.4s warna · 1.4s foto | Hover cepat, perubahan foto perlahan |
Garis tipis berubah jadi isi pekat saat disentuh. Huruf kapital berjarak lebar.
Satu-satunya tombol berwarna biru penuh, supaya mata langsung menemukannya.
Coba ketuk. Angka kecil memberi tahu jumlah album sebelum memilih.
Bukti sosial dari pihak ketiga, tertaut ke Google Business Profile.
Foto memenuhi kartu, judul di atas foto, zoom pelan saat disentuh. Coba arahkan kursor.
Serif miring yang besar, terasa seperti kutipan di majalah.
Tangkapan layar halaman live, desktop 1440 px dan HP 390 px.


Layar 01
Satu foto penuh layar dan judul serif besar. Tidak ada banner promo atau teks panjang.


Layar 02
Chip penyaring menempel di atas, nomor kategori bergaya editorial, dan satu album besar memimpin setiap kategori.


Layar 03
Judul kapital besar di atas sampul, data acara di satu baris, lalu foto dikelompokkan per sesi.


Layar 04
Latar hitam pekat, foto utuh tanpa dipotong, posisi foto dan tombol tutup selalu terlihat.
Setiap keadaan dirancang, bukan dibiarkan kosong. Pilih keadaan untuk melihat contohnya.
Tombol sekunder bergaris tipis, tombol utama biru penuh. Hierarki terbaca tanpa label tambahan.
Fokus papan ketik memakai garis biru 2 px berjarak 4 px, terlihat jelas di latar terang maupun gelap.
outline: 2px solid var(--pf-gold); outline-offset: 4pxSaat disentuh, garis berubah jadi isi pekat dalam 0,4 detik. Saat ditekan, tombol mengecil 2% seperti tombol fisik.
Kartu album memperbesar foto perlahan selama 1,4 detik, gerakan yang terasa mahal karena tidak terburu-buru.
transition: background-color .4s var(--pf-ease)Pratinjau buram 32 px (sekitar 1 KB) tampil dulu, lalu foto tajam memudar masuk.
Tidak ada layar putih. Kunjungan ulang langsung tampil dari salinan di HP, lalu data baru diambil diam-diam di belakang.
Rasio pratinjau buram dipakai untuk memesan tempat, jadi susunan tidak melompat saat foto tajam datang.
lh3.googleusercontent.com/d/{id}=w32Kami menampilkan versi terakhir yang tersimpan. Karya terbaru akan muncul sendiri saat koneksi pulih.
Kalau Apps Script lambat bangun (terukur sampai 12 detik), server memakai data terakhir yang tersimpan. Pengunjung jarang melihat error sama sekali.
Foto yang gagal dimuat dari Google dicoba ulang lewat jalur cadangan sebelum menyerah.
return hit?.data || null; // pakai data lama bila adaKarya terbaru hsn.Studio segera tampil di sini.
Kategori tanpa album disembunyikan otomatis. Kalau seluruh portofolio kosong, pesan menenangkan menggantikan grid, dan ajakan WhatsApp tetap ada.
Album yang tidak ditemukan mendapat halaman 404 bergaya sama dengan jalan kembali ke beranda.
System & Performance · Metrics
Bagaimana sistem ini tumbuh tanpa ikut menjadi berantakan.
Warna, jarak, kurva gerak, dan lebar isi disimpan sebagai variabel CSS. Mengganti warna brand cukup di satu baris, tanpa mencari di 2.000 baris gaya.
Setara auto-layout di Figma: kartu, chip, dan kolom menyesuaikan isi. Jarak tepi memakai clamp(), jadi mengecil mulus dari 1440 px ke 390 px.
Dua titik utama, 1024 px dan 720 px, ditambah 560 px dan 460 px untuk HP kecil. Lebar foto yang diminta ke Google dihitung dari kolom dan kepadatan layar, sehingga HP mengambil sekitar 85% lebih sedikit data.
Kategori, album, bagian, urutan foto, film, testimoni, dan album unggulan diatur dari panel admin. Folder Google Drive jadi sumber foto. Album baru tayang tanpa deploy.
Target kuantitatif dan cara mengukurnya. Angka di cincin adalah target, bukan hasil yang sudah diukur.
Survei satu pertanyaan, “Seberapa membantu portofolio ini untuk mengenal karya kami?”, muncul sekali per HP: ke pengunjung yang kembali dari WhatsApp, dan ke 1 dari 4 pengunjung yang sudah membuka 5 foto. Kelompok kedua mengimbangi bias, karena orang yang menekan WhatsApp sudah tertarik. Kedua angka dilaporkan terpisah di statistik admin. Pembanding saat ini: rating Google 5,0 dari 5 ulasan.
Uji 5 sampai 8 orang dengan tugas: “Temukan album wedding, buka 3 foto, lalu tanyakan paket lewat WhatsApp” dalam 60 detik tanpa bantuan. Skrip uji dan lembar catatan sudah disiapkan.
Kuesioner System Usability Scale 10 butir setelah uji tugas, dihitung otomatis dengan skrip. Skor 80 ke atas masuk kelompok “sangat baik” (sekitar 10% teratas).
Diukur di halaman live pada 1 Oktober 2026 dengan Chrome, setelah perbaikan. HP: layar 390 px, jaringan 1,6 Mbps + jeda 150 ms, CPU diperlambat 4 kali.
| Teknik | Dampak |
|---|---|
| Render di server + data tertanam di HTML | Halaman tampil tanpa menunggu Apps Script. Cache 10 menit di server, cadangan data lama bila Google lambat. |
| Ukuran foto sesuai layar | Lebar diminta = kolom × kepadatan layar, dibulatkan ke 100 px. Galeri HP 2 kolom cukup sekitar 400 px, bukan 1.200 px. |
| Foto WebP dari Google | Sekitar 30% lebih kecil dari JPEG pada resolusi yang sama. Foto hero album wedding: 1,18 MB menjadi 0,79 MB. |
| Hero bertahap + preload dari server | Hanya slide pertama dimuat saat halaman dibuka, dan server menyuruh browser mengunduhnya sebelum JavaScript berjalan. Slide berikutnya diambil menjelang gilirannya. |
| Pratinjau buram 32 px | Sekitar 1 KB per foto, mengisi ruang sebelum foto tajam datang dan mencegah layout melompat. |
| Salinan di HP (24 jam) | Kunjungan ulang tampil seketika, data baru diambil di belakang. |
| Pemutar YouTube dimuat saat diklik | Halaman album tidak membawa ratusan KB skrip video sampai pengunjung benar-benar menonton. |
| Huruf web dimuat tanpa menahan tampilan | Teks langsung terbaca memakai huruf cadangan, lalu berganti halus. |
npm run warm.Status terhadap kriteria WCAG 2.2. Audit otomatis axe-core di beranda, kategori, dan album (desktop + HP): pelanggaran kontras AAA turun dari 31 menjadi 0.
| Kriteria | Status | Bukti |
|---|---|---|
| 1.4.6 Kontras teks utama (AAA, 7:1) | AAA | Ink di atas Paper 16,3 : 1. Teks di latar gelap 9,0 sampai 16,0 : 1. |
| 1.4.6 Kontras teks sekunder | AAA | Muted 8,4 : 1, biru 8,1 : 1, teks putih di tombol 9,2 : 1. Sebelumnya 5,2 / 6,0 / 6,8 : 1 (AA). |
| 2.5.5 Ukuran target sentuh (AAA, 44 px) | AAA | Semua tombol, chip, dan tautan navigasi minimal 44 px, tombol utama 48 px. |
| 2.4.7 / 2.4.13 Fokus terlihat | AAA | Garis fokus 2 px berjarak 4 px di setiap elemen yang bisa difokus: biru tua di latar terang (8,1 : 1), biru muda di latar gelap (8,8 : 1). Sebelumnya di area gelap hanya 2,1 : 1. |
| 2.3.3 Gerak dari interaksi | AAA | Semua animasi dimatikan bila HP meminta “kurangi gerakan”. |
| 2.4.1 Lewati ke isi · landmark | AA | Tautan “Langsung ke isi”, header, nav, main, footer, judul berurutan. |
| 1.1.1 Teks alternatif | AA | Tombol foto berlabel “Buka foto 2 dari 38”. Sampul kartu dianggap dekoratif karena judul album sudah tertulis, ikon disembunyikan dari pembaca layar. |
Halaman studi kasus ini sendiri memakai pasangan warna yang seluruhnya di atas 7 : 1.
Temuan studi kasus ini langsung diterapkan ke galeri portofolio pada 1 Oktober 2026, lalu diukur ulang dengan cara yang sama.
| Temuan | Sebelum | Sesudah | Perbaikan |
|---|---|---|---|
| LCP beranda, HP 4G lambat | 2,7 s | 1,3 s | Lima foto hero 2.048 px dulu dimuat bersamaan. Kini hanya slide pertama, di-preload server, format WebP. |
| Pelanggaran kontras AAA (beranda) | 31 elemen | 0 | Abu #6B6458 menjadi #4A453C, biru teks dan tombol #0152CC menjadi #0141A3. |
| Pelanggaran kontras AAA (kategori, album) | 7 sampai 8 | 0 | Token warna yang sama, tanpa mengubah tata letak. |
| Ukuran foto hero album wedding | 1,18 MB | 0,79 MB | Foto diminta dalam WebP dari Google (sekitar 30% lebih kecil). |
| Album pertama setelah deploy | 3 sampai 11 s | 0,1 s | Cache dipanaskan setiap hari secara otomatis dan setelah deploy dengan npm run warm. |
| CSAT belum terukur | Hanya target | Survei aktif | Satu pertanyaan, sekali per HP: setelah kembali dari WhatsApp dan untuk sampel pengunjung yang menjelajah. Hasil dua kelompok dipisah supaya tidak bias. |
Istilah di halaman ini dalam bahasa sehari-hari.
Hasilnya
Studi kasus terbaik adalah produknya. Buka galeri portofolio hsn.Studio, atau ceritakan acara Anda kepada kami.