Dipisah dari homepage-restructure-plan.html. Isinya tiga hal: (1) keputusan tampilan harga, (2) verdict tier Section, (3) kurasi — section mana dari 34 porto yang layak dijual, dinilai dari kekuatan interaksi & animasi.
Free tetap ada sebagai mekanik (10 prompt — 5 Halaman Penuh + 5 Hero), tapi tidak ditampilkan sebagai kartu. Modelnya jadi trial, bukan paket. Ini pilihan yang wajar — kartu Free yang berdiri sejajar sering menarik orang berhenti di situ dan tidak pernah melihat kolom berbayar.
Kalau Free tidak punya kartu, satu-satunya tempat user tahu batasnya adalah copy. Kondisi sekarang di homepage — "Free to start. Upgrade whenever you are ready." — tidak menyebut angka apa pun. Digabung dengan tidak adanya kartu Free, user tidak punya cara mengetahui bahwa jatahnya 10 sampai dia menabrak batasnya.
Rekomendasi copy: "Mulai gratis dengan 10 prompt. Buka semuanya mulai $49." Satu kalimat, batasnya jelas, dan tetap tanpa kartu Free. Sebutkan juga di FAQ dan di bawah tombol CTA.
library.astro sekarang gate semua copy di balik login — biner. Dengan Free 10 item, logikanya jadi hitungan kuota per akun (5 Halaman Penuh + 5 Hero). Perlu dukungan D1 dan kontrak API-nya disepakati dengan Pak Arya lebih awal, jangan menunggu frontend selesai.
$89 ≈ Rp 1,4 juta. Target di plan adalah vibe coder pemula Indonesia yang price-sensitive. Tidak ada harga IDR dan tidak ada sinyal metode bayar lokal (QRIS/transfer/e-wallet). Bukan blocker launch, tapi kemungkinan besar ini hambatan konversi terbesar begitu trafik Indonesia masuk. Minimal: tampilkan perkiraan IDR di sebelah harga USD.
Di audit sebelumnya saya tulis bahwa Section bisa "dipotong murah" dari Halaman Penuh yang sudah ada. Setelah saya periksa isi 34 file, itu tidak akurat.
Hanya 4 file yang punya breakdown per-section — velo · recall · beyond-horizon · relay. 30 sisanya monolitik: isinya "copy App.tsx ini persis", package.json, vite.config, dan implementation rules. Tidak ada batas per-bagian yang bisa dipotong.
Implikasi buat hari ini: jangan targetkan 40 item. Targetkan 12 section dari 5 porto terbaik — itu yang realistis diselesaikan tanpa derivasi ulang dari situs sumber. Detailnya di bagian 3.
Saya skor 34 file berdasarkan dua hal: sinyal library animasi (GSAP/ScrollTrigger, motion/react, Lenis, WebGL) dan sinyal interaksi native (@keyframes, hover state, sticky/scroll-snap/IntersectionObserver, drag/parallax/marquee).
Paling impresif ≠ paling layak dijual. Ini tensi nyata dan menentukan mana yang kamu ambil.
velo punya section paling spektakuler di seluruh katalog — dua section scroll-pinned pakai GSAP ScrollTrigger. Tapi prompt-nya sendiri mendokumentasikan cara section itu rusak: tanpa anticipatePin: 1 layout melompat, tanpa z-index eksplisit section-nya muncul di belakang yang lain. Untuk pemula yang menempel prompt ke Cursor, itu tingkat kegagalan yang tinggi — dan section yang gagal generate jauh lebih merusak daripada section yang biasa saja.
Sebaliknya arlo dan luma skornya lebih rendah tapi interaksinya CSS + IntersectionObserver murni — hampir mustahil gagal, dan tetap terlihat hidup.
| Section | Sumber | Interaksi | Risiko reproduksi |
|---|---|---|---|
| Pricing flip card | recall | Auto-flip tiap 3400ms, rotate-y-180, spring damping:14 stiffness:100, berhenti saat disentuh user | Rendah |
| Sticky stacking cards | beyond-horizon | sticky top-0 h-[100dvh] dengan z-index bertingkat — kartu menumpuk saat scroll | Rendah — CSS murni |
| Custom cursor + product grid | aura | Cursor 12×12 → 100×100 dengan spring, muncul teks "VIEW MORE", AnimatePresence | Sedang |
| Drag-to-scroll carousel | elan | Gesture mouse kustom untuk drag horizontal di track koleksi | Sedang |
| Hero scroll morph | beyond-horizon | GSAP pin h-[250vh], scrub 1.5 — hero berubah jadi konten berikutnya | Tinggi |
| Scroll-pinned comparison | velo | ScrollTrigger pin end:"+=220vh", scrub | Tinggi — butuh anticipatePin |
| Scroll counter | velo | Angka menghitung naik mengikuti progress scroll | Tinggi |
| Preloader berprogress | aura | Timer 60ms × 40 langkah, gambar di-push bertahap sambil progress 0→100 | Sedang |
| Section | Sumber | Interaksi | Risiko reproduksi |
|---|---|---|---|
| Sticky hide-on-scroll header | luma | Sticky setelah 20px, sembunyi saat scroll turun cepat, muncul lagi saat scroll naik | Rendah |
| Infinite marquee | arlo · beyond-horizon | @keyframes 24s linear / translateX(-33%) | Sangat rendah |
| Scroll reveal grid | arlo · elan | IntersectionObserver — opacity:0 translateY(24px) → masuk viewport | Sangat rendah |
| Feature cards spring | recall | Kartu masuk dengan type:'spring', stagger antar kartu | Rendah |
| Footer clip-path wipe | aura | Reveal via clipPath inset + blur(16px)→blur(0) | Rendah |
| Magnetic button + text reveal | recall | Komponen reusable — MagneticButton.tsx, TextReveal.tsx | Rendah |
| Category tile hover zoom | luma · arlo | scale(1.05) dengan overflow:hidden, mask brightness | Sangat rendah |
| Announcement bar berputar | luma | Pesan berganti otomatis di bar paling atas | Sangat rendah |
| FAQ accordion | luma · elan | Expand/collapse dengan transisi tinggi | Sangat rendah |
| Testimonial | recall | Satu-satunya testimonial di file berskor tinggi | Rendah |
warebotics · thecity · stillwave · figureworld · edgehaul · curalink · curalink-medic-ai · candor · altr · aethera · apex · saha-medical · storefront-v1 · lunea · vox
Dipilih supaya menutup 8 tipe dasar yang tiap landing page butuh, plus 4 signature sebagai magnet. Semuanya dari 5 file yang detail interaksinya sudah terdokumentasi — tidak perlu derivasi ulang dari situs sumber.
| # | Section | Sumber | Tipe | Kelas |
|---|---|---|---|---|
| 1 | Pricing flip card | recall | Pricing | Signature |
| 2 | Sticky stacking cards | beyond-horizon | Feature / showcase | Signature |
| 3 | Custom cursor + product grid | aura | Gallery / grid | Signature |
| 4 | Drag-to-scroll carousel | elan | Carousel | Signature |
| 5 | Sticky hide-on-scroll header | luma | Nav / header | Utilitas |
| 6 | Footer clip-path wipe | aura | Footer | Utilitas |
| 7 | Infinite marquee / logo strip | arlo | Logo strip | Utilitas |
| 8 | Feature cards spring | recall | Feature grid | Utilitas |
| 9 | FAQ accordion | luma | FAQ | Utilitas |
| 10 | Testimonial | recall | Testimonial | Utilitas |
| 11 | CTA + magnetic button | recall | CTA band | Utilitas |
| 12 | Scroll reveal grid | arlo | Content grid | Utilitas |
Komposisi: 4 signature + 8 utilitas = 33% / 67%, persis rasio yang disarankan. Delapan tipe dasar tertutup semua. Katalog naik dari 47 → 59.
Thumbnail di public/assets/showcase/ semuanya screenshot halaman penuh. Kalau item Section memakai thumbnail yang sama, katalog akan terlihat seperti 59 screenshot halaman penuh yang berulang — dan tier Section jadi tidak terasa beda dari Halaman Penuh.
Audit homepage menemukan kekurangan: pricing, testimonial/bukti, FAQ yang rapi, feature grid, CTA band, logo strip. Daftar kurasi di atas berisi tepat section-section itu.
Artinya cara termurah membangun tier Section adalah membangun homepage kamu sendiri lebih dulu, lalu menjual hasilnya. Sekali kerja, dua hasil — dan sekaligus bukti paling meyakinkan bahwa prompt-nya benar-benar bekerja: "homepage yang kamu lihat ini dibangun dari section yang kami jual." Itu klaim yang tidak bisa ditiru motionsites maupun 21st.dev, dan tidak butuh satu testimoni pun.