Gagasannya
Kartu cap di saku. Tukang cukur lingkungan menjaga pelanggan tetap dengan kartu cetak kecil yang dicap tiap potong; Kilau menjadikan kartu itu halamannya. Sisi depannya grafit dengan foil bergaris tiang merah yang berkilau saat dimiringkan, nama usaha, dan member contoh; sisi belakangnya kertas mutiara dengan sepuluh lingkaran cap, yang kesepuluh dilingkari merah sebagai sasaran. Tidak ada yang terbaca sebagai kartu bank: tanpa chip, nomor panjang, masa berlaku, atau tanda jaringan.
Bahasa visual
Grafit dan krom dari meja cukur, merah dari tiang, mutiara dari kartu cetak. Sisi depan adalah kartu ID-1 gelap (1,586:1) yang sisi kanannya membawa foil pelangi yang dipotong menjadi garis tiang miring; foil tidak pernah berada di bawah kolom teks. Cap terisi di belakang berupa lingkaran bergaris merah, yang kosong putus-putus dan bernomor. Pelangi hanya hiasan, tidak pernah membawa makna.
Tipografi
Bungee 400, digambar untuk papan nama vertikal kota seperti papan di depan pangkas rambut, menulis wordmark, judul, nama di kartu, dan jumlah cap; tetap terbaca di atas grafit dan di samping foil. DM Sans membawa label, tombol, dan teks bacaan dengan angka tabular. Rubik Mono One 400 tetap cadangan tercatat yang tidak dipakai.
Tata letak & komposisi
Dua halaman, kartu dan Cara mencoba. Di 1440 kartu di kiri, sekitar 580px, dan panel 360px di kanan memuat pilihan sisi, Kilaukan sekali, dan cap contoh. Di bawah 760px terbaca judul → kartu selebar layar → panel. Jumlah cap dan catatan contoh juga ada di panel dalam ukuran baca, jadi huruf kecil di kartu tidak pernah menjadi satu-satunya sumber.
Gerak & interaksi
Kartu condong mengikuti pointer atau jari yang bergeser ke samping (paling jauh 8°, tilt bersama demo-kit) dan foil serta sorotnya ikut bergerak; gulir vertikal tetap milik peramban. Kilaukan sekali menyapu kartu sekali bolak-balik dalam 0,9 detik, untuk papan ketik. Membalik memutar kartu dalam 0,48 detik; cap baru ditera sekali. Dengan reduced motion — juga bila berubah saat halaman terbuka — kartu datar, foil diam, Kilaukan sekali disembunyikan, dan sisi berganti langsung.
Di balik layar
Demo Next.js statis dwibahasa. Foil murni CSS: gradien yang dipotong mask bergaris, posisinya dari tilt lewat sin(), dan properti kustom terdaftar untuk sapuan papan ketik — tanpa WebGL, canvas, atau orientasi perangkat. Jumlah cap disimpan sebagai { version: 1, stamps: 0–10 } dengan kunci collection-kilau-member-v1, paling besar 256 byte, divalidasi zod/mini sebelum setiap baca dan tulis.
Dirancang untuk semua
Depan dan Belakang · cap adalah tombol aria-pressed; sisi yang tersembunyi dibuat inert dan fokus tetap di tombol. Teks di kartu diukur terhadap piksel foil yang sebenarnya, minimal 4,5:1, dan setiap faktanya diulang di panel. Menambah cap diumumkan di baris status; kartu penuh menjaga tombol tetap bisa difokus dan menyebut alasannya. Mulai ulang kartu bertanya dulu dan mengembalikan fokus.
Di dalam pengalaman
- Kartu member yang miring di bawah foil CSS
- Kartu cap: sepuluh cap, ke-11 gratis (contoh)
- Kilaukan sekali, cara papan ketik melihat foil
- Cap tersimpan di peramban ini, tervalidasi
- Buku komponen dan status sendiri
- Personalisasi merek lokal
Cocok untuk
- Pangkas rambut, salon, laundry, dan kedai yang menjaga pelanggan tetap dengan kartu cap dan ingin kartunya ada di halaman, bukan di aplikasi dompet.