venus-petani adalah aplikasi sederhana untuk para petani yang ingin menjual hasil panen sayur di pasar. Aplikasi ini berangkat dari masalah nyata para petani di sekitar rumah pengguna: mereka sering mengalami kerugian karena tidak mengetahui harga sayur di pasar. Ketika sayur mengalami kenaikan harga di pasar, para petani baru menanamnya di sawah, dan hal ini menyebabkan harga di pasar turun atau anjlok karena melimpahnya stok sayur jenis tertentu; berlaku sebaliknya ketika harga sedang rendah.
Aplikasi ini menjawab masalah tersebut dengan tiga kemampuan inti yang diminta secara eksplisit:
Audiens utama adalah Petani Sayur — petani yang menjual hasil panen sayur di pasar dan perlu mengetahui harga pasar serta rekomendasi tanam sebelum memutuskan apa dan kapan menanam, agar tidak lagi merugi akibat harga anjlok atau stok yang melimpah.
venus-petani adalah aplikasi web sederhana yang menyajikan informasi harga sayur pasar, rekomendasi komoditas yang cocok ditanam, dan jalur pertanyaan bagi petani — baik lewat teks maupun suara. Aplikasi dirancang agar mudah digunakan oleh petani yang gaptek dan yang sulit membaca grafik.
Aktor manusia aktif (satu-satunya): Petani Sayur.
Kemampuan yang diterima (current):
Batasan yang dinyatakan secara eksplisit:
Referensi non-wajib: Meta AI dijadikan acuan kesederhanaan aplikasi (fitur tanya jawab), bukan spesifikasi wajib. Tidak ada nama produk, salinan teks, atau kemampuan dari Meta AI yang diadopsi sebagai persyaratan.
Pengecualian sempit: Aplikasi ini tidak menambahkan kemampuan di luar yang diminta — tidak ada marketplace jual-beli, tidak ada manajemen akun berlapis, tidak ada modul logistik, dan tidak ada fitur sosial. Fokusnya adalah informasi harga, rekomendasi tanam, dan jalur pertanyaan.
venus-petani adalah sistem informasi publik untuk petani sayur, bukan aplikasi SaaS komersial. Seluruh halaman dapat diakses tanpa akun: petani dapat langsung membuka aplikasi, melihat harga, bertanya, dan merekam suara tanpa hambatan pendaftaran. Ini konsisten dengan sifat audiens (petani gaptek, sering di lapangan) dan dengan sifat informasi yang disajikan (harga pasar publik, bukan data pribadi).
Kepemilikan delivery:
Batas current vs future: Seluruh kemampuan yang dijelaskan di dokumen ini adalah current. Tidak ada kemampuan future yang dinyatakan dalam sumber; karena itu tidak ada bagian future yang diisi.
Tidak ada content_source yang dideklarasikan dalam reference directives. Bagian ini sengaja dihilangkan.
Informasi/state:
Aksi utama:
Aksi pendukung:
Entitas domain: Komoditas sayur, harga pasar hari ini, arah perubahan harga.
Tanggung jawab komponen:
prefers-reduced-motion.State:
Informasi/state:
Aksi utama:
Aksi pendukung:
Entitas domain: Pertanyaan petani, jawaban/rekomendasi tanam, kondisi harga pasar, kondisi stok pasar.
Tanggung jawab komponen:
State:
Informasi/state:
Aksi utama:
Aksi pendukung:
Entitas domain: Rekaman suara pertanyaan, transkrip pertanyaan, jawaban/rekomendasi atas pertanyaan suara.
Tanggung jawab komponen:
prefers-reduced-motion diganti level meter statis.State:
Informasi/state:
Aksi utama:
Aksi pendukung:
Entitas domain: Komoditas sayur, harga pasar, arah perubahan harga, waktu/periode harga.
Tanggung jawab komponen:
State:
prefers-reduced-motion angka tampil langsung dan bar tampil penuh tanpa animasi.FR-1 — Tanya jawab sayuran yang cocok ditanam (provenance: explicit) As a Petani Sayur, I should dapat mengetik pertanyaan tentang sayuran apa yang cocok untuk ditanam dan menerima jawaban/rekomendasi, sehingga saya tahu komoditas apa yang sebaiknya ditanam berikutnya.
FR-2 — Voice note untuk petani gaptek (provenance: explicit) As a Petani Sayur yang gaptek, I should dapat merekam pertanyaan dengan suara dan mengirimkannya, sehingga saya tidak perlu mengetik untuk bertanya.
FR-3 — Grafik sederhana harga sayur (provenance: explicit) As a Petani Sayur yang sulit membaca grafik, I should melihat grafik sederhana harga sayur yang mudah dibaca, sehingga saya dapat memahami perubahan harga pasar dengan cepat.
FR-4 — Informasi harga pasar untuk mencegah kerugian akibat harga anjlok (provenance: explicit) As a Petani Sayur, I should mengetahui harga sayur di pasar sebelum memutuskan menanam, sehingga saya tidak lagi menanam setelah harga naik dan menyebabkan harga pasar turun/anjlok akibat stok melimpah, dan sebaliknya.
FR-5 — Titik masuk bernomor ke fitur utama (provenance: required_inference) As a Petani Sayur, I should melihat tiga titik masuk bernomor (1 Tanya, 2 Rekam suara, 3 Lihat harga) di halaman Landing, sehingga saya tahu cara memulai tanpa harus menebak-nebak.
FR-6 — Transkrip pertanyaan suara (provenance: required_inference) As a Petani Sayur yang gaptek, I should melihat transkrip pertanyaan suara saya ("Kami dengar: …"), sehingga saya yakin pertanyaan saya dipahami dengan benar sebelum jawaban diberikan.
FR-7 — Jawaban/rekomendasi berbasis kondisi harga dan stok pasar (provenance: explicit) As a Petani Sayur, I should menerima jawaban/rekomendasi yang mempertimbangkan kondisi harga serta stok pasar, sehingga rekomendasi tanam tidak sekadar daftar sayur, tetapi relevan dengan situasi pasar saat itu.
Konteks produk: Petani sayur yang menjual hasil panennya di pasar dan tinggal di sekitar lingkungan pengguna. Mereka sering mengalami kerugian karena tidak mengetahui harga sayur di pasar. Pola yang berulang: ketika sayur mengalami kenaikan harga di pasar, mereka baru menanamnya di sawah, dan hal ini menyebabkan harga di pasar turun atau anjlok karena melimpahnya stok sayur jenis tertentu; berlaku sebaliknya ketika harga sedang rendah.
Tujuan utama: Memilih komoditas dan waktu tanam berdasarkan informasi harga dan rekomendasi tanam, sehingga tidak lagi mengalami kerugian akibat harga anjlok atau melimpahnya stok.
Tanggung jawab yang diterima:
Input dan keputusan:
Interaksi dengan peserta lain: Petani Sayur adalah satu-satunya aktor manusia aktif. Tidak ada peserta manusia lain yang menerima, menunggu, atau bertindak atas hasil kerja petani dalam lingkup aplikasi ini. Jawaban dan rekomendasi dihasilkan oleh proses sistem di belakang layar, bukan oleh manusia lain.
Keberhasilan yang dapat diamati: Petani memilih komoditas dan waktu tanam berdasarkan informasi harga dan rekomendasi tanam, sehingga tidak lagi mengalami kerugian akibat harga anjlok atau melimpahnya stok.
Yang membedakan peran ini: Petani Sayur bukan pengguna dashboard analitik. Mereka bekerja di lapangan, sering di bawah sinar matahari, sebagian gaptek, dan sebagian sulit membaca grafik. Kebutuhan mereka adalah sinyal yang jelas dan langsung dapat ditindaklanjuti — bukan eksplorasi data. Karena itu, aplikasi harus sederhana, dapat dioperasikan dengan suara, dan menyajikan harga sebagai baris yang dapat dibaca sekilas.
Muse: Erik Spiekermann — typographic infrastructure for farmers: information as wayfinding, warmth inside order.
Headline direction: "Tahu harga sayur sebelum menanam." — dirancang sebagai papan informasi publik, bukan dashboard SaaS.
| Peran | Hex | Penggunaan |
|---|---|---|
| Background | #F4EFE6 | Warm paper ground (nada kertas koran/notice-board) |
| Surface | #FFFFFF | Panel kartu informasi |
| Text | #1A1A18 | Teks utama, legibilitas maksimum |
| Primary | #1F6B4A | Hijau daun sayur — navigasi, state aktif, sinyal "baik untuk ditanam" |
| Accent | #D4451F | Merah-oranye sinyal — HANYA untuk peringatan harga, lonjakan naik, aksi kritis |
| Muted | #8A8578 | Label sekunder dan garis pemisah |
| Chart Yellow | #E8B33A | Warna garis grafik (komoditas) |
| Chart Blue | #2B5EA7 | Warna garis grafik (komoditas) |
Proporsi: 70% warm ground, 20% panel putih, 7% hijau, 3% aksen merah dan warna sinyal. Biru-di-atas-putih sebagai warna primer dilarang.
font-feature-settings: 'tnum') agar kolom harga sejajar seperti jadwal.Skala (modular 1.25, mobile-first, via clamp()):
| Elemen | Mobile | Desktop |
|---|---|---|
| Display | 40px | 72px |
| H1 | 32px | 48px |
| H2 | 24px | 32px |
| H3 | 20px | 24px |
| Body | 17px | 18px (tidak pernah di bawah 16px) |
| Label | 13px | 14px small caps |
Line-height: 1.15 untuk display, 1.6 untuk body. Semua ukuran via clamp() agar tidak terpotong di 375px.
Konsep: Papan Keberangkatan Harga — hero Landing sebagai papan informasi publik yang langsung menjawab "harga sedang apa sekarang."
Hero Landing adalah panel warm-paper full-width dengan judul rata kiri dalam Fira Sans 700 (clamp 40px mobile → 72px desktop) yang membentang hingga 9 kolom di desktop: "Tahu harga sayur sebelum menanam."
Di bawahnya, strip sinyal harga — baris full-bleed berisi 5 chip komoditas sayur, masing-masing dengan titik warna kode tetap, nama sayur, harga hari ini dalam angka tabular, dan panah arah (↑ hijau, ↓ merah, → abu-abu). Strip ini adalah visual dominan hero: ia terbaca seperti papan keberangkatan, langsung menjawab "harga sedang apa sekarang."
Di mobile, strip menjadi baris yang dapat digulir horizontal (overflow-x: auto, snap) di mana setiap chip terbaca penuh saat dibawa ke tampilan; dengan prefers-reduced-motion, strip membungkus menjadi dua baris.
Di bawah strip, tiga titik masuk bernomor (1 Tanya, 2 Rekam suara, 3 Lihat harga) duduk sebagai panel putih datar dengan border hairline dan pictogram kecil masing-masing — tanpa headline terpusat, tanpa tombol biru, tanpa gradient blob.
Seluruh hero flat, information-first, dan hanya bisa menjadi milik produk ini.
Interaction Model: Static (direction) Motion Tempo: restrained Hero Dimensionality: flat
NFR-1 — Kesederhanaan untuk petani gaptek (provenance: explicit) Aplikasi harus sederhana dan mudah digunakan oleh petani yang gaptek. Setiap aksi memiliki label teks (bukan ikon saja), alur utama tidak lebih dari beberapa langkah, dan tidak ada pendaftaran akun yang menghalangi penggunaan.
NFR-2 — Grafik sederhana yang dapat dibaca (provenance: explicit) Grafik yang ditampilkan harus sederhana dan dapat dibaca oleh petani yang sulit membaca grafik. Grafik menggunakan bar horizontal sederhana dengan ujung membulat dan label nilai besar, bukan garis tipis, sumbu kompleks, atau chart multi-seri.
NFR-3 — Voice note sebagai akomodasi gaptek (provenance: explicit) Voice note disediakan khusus untuk mengakomodasi petani yang gaptek. Tombol rekam harus besar dan jelas, dengan state merekam yang terlihat (titik merah berdenyut dan waveform), serta transkrip "Kami dengar: …" agar petani yakin pertanyaannya dipahami.
NFR-4 — Legibilitas di lapangan (provenance: required_inference)
Teks body tidak pernah di bawah 16px; kontrol memiliki tinggi sentuh minimal 48px; semua ukuran menggunakan clamp() agar tidak terpotong di 375px; angka harga menggunakan tabular figures agar kolom sejajar.
NFR-5 — Akses tanpa akun (provenance: required_inference) Keempat halaman (Landing, Ask, Voice Note, Prices) dapat diakses tanpa akun. Tidak ada identitas pengguna yang perlu dibuat atau diverifikasi.
NFR-6 — Aksesibilitas gerak (provenance: required_inference)
Aplikasi menghormati prefers-reduced-motion: angka tampil langsung, bar grafik tampil penuh, waveform voice note diganti level meter statis, dan strip harga membungkus menjadi dua baris.
NFR-7 — Teks dan kontrol tetap utuh di setiap viewport (provenance: required_inference)
Headline, label, angka, teks kartu, dan kontrol tetap sepenuhnya di dalam viewport dan kontainernya pada 375px, 768px, dan 1280px, membungkus atau menskalakan (misalnya font-size: clamp(...)) agar muat. Tidak ada elemen lain yang menutupi bagian mana pun dari teks atau kontrol yang dapat dibaca.
Catatan: Pilihan teknologi di atas adalah default yang wajar untuk aplikasi web sederhana; sumber tidak menetapkan teknologi tertentu selain referensi kesederhanaan ke Meta AI (yang bersifat non-wajib).
Asumsi:
Batasan:
#F4EFE6 yang menyerupai kertas koran atau papan pengumuman, menjadi dasar seluruh tampilan.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!