Inspirasi

Ketidakpastian kini menjadi ciri utama cara masyarakat Indonesia memenuhi kebutuhan pangan. Pada Juni 2026, hujan berlebih mendorong harga cabai rawit ke Rp84.400/kg. Pada September, kemarau panjang kembali membuatnya menembus Rp70.000/kg. Komoditasnya sama, cuacanya berlawanan, hasilnya serupa: harga yang sulit ditebak. BMKG memprakirakan El Niño berlangsung hingga awal 2027, dengan puncak yang mungkin terjadi pada Desember 2026–Januari 2027 dan musim hujan yang datang terlambat. Pada September 2026, cabai rawit menjadi penyumbang inflasi nasional terbesar (andil 0,08 poin dari inflasi 0,30% month-to-month).

Di sisi lain, respons dari akar rumput sudah tumbuh. Surabaya memiliki 1.361 RW yang menjalankan urban farming, dan Jakarta memiliki lebih dari 1.600 lokasi urban farming. Warga mulai menanam pangannya sendiri, tetapi mereka menghadapi tiga hambatan yang sama:

  1. Ketidakpastian cuaca: panen dan pengiriman bergantung pada kondisi yang tidak bisa diprediksi.
  2. Ketidakpastian harga: tanpa acuan harga lokal, surplus dijual murah atau terbuang.
  3. Ketidakpastian kepercayaan: jual-beli pangan antarwarga rentan terhadap penipuan, kualitas yang tidak sesuai, dan tidak adanya pertanggungjawaban.

Celahnya: belum ada yang menghubungkan produsen kecil ini dengan tetangganya sendiri. Karena itu kami membangun Tanera, ekosistem pangan hiperlokal tempat setiap warga bisa menjadi produsen sekaligus konsumen (prosumer), didukung AI yang mengurangi ketidakpastian, bukan menambahnya.

Apa yang dilakukan Tanera

Tanera adalah platform web dengan enam modul yang bekerja dalam satu alur:

  • Autentikasi & Reputasi: masuk dengan Google dan Trust Score (0–100) yang dihitung dari kejujuran (50%), kualitas barang (30%), dan kontribusi forum (20%). Pengguna baru mulai dari 60 dengan label "Warga Baru", lalu bisa meraih lencana seperti Tetangga Terpercaya, Pilar Komunitas, Penjaga Ilmu, dan Mitra Barter Adil.
  • Marketplace dengan dua tipe transaksi:
    • Jual-Beli dengan escrow melalui payment gateway. Dana baru dilepas setelah pembeli mengonfirmasi penerimaan, atau otomatis 72 jam setelah barang tiba.
    • Barter, yaitu tukar hasil panen antarwarga tanpa uang tunai. AI Fair-Trade Arbiter menilai setiap penukaran sebagai Seimbang, Cenderung menguntungkan salah satu pihak, atau Tidak seimbang, lengkap dengan rekomendasi penyeimbang. Perhitungannya dilakukan oleh sistem, sedangkan AI hanya menjelaskan.
    • Acuan harga lokal yang memberi peringatan bila harga menyimpang lebih dari 25%. Jelajah dibatasi radius 25 km.
  • Ruang Diskusi & Transaksi Aman: negosiasi di dalam aplikasi yang berujung pada Dokumen Kesepakatan dengan persetujuan kedua belah pihak. Setiap perubahan membuat versi baru, dan setiap tanda tangan tercatat dalam jejak audit.
  • Logistik & AI Cuaca: bilah pelacakan 5 tahap dan data cuaca dari BMKG (dengan Open-Meteo sebagai cadangan). AI mengubah prakiraan menjadi Saran Logistik singkat (maksimal 3 butir) yang tampil sekali saat pesanan diproses.
  • Forum Komunitas: kiriman Tips Berbagi dan Tanya Masalah, balasan 2 tingkat, Weekly Hits, dan Jawaban Terpilih. Panel "Sedang terjadi di sekitarmu" menampilkan wabah hama lokal bila ada 3 kiriman serupa atau lebih dalam radius 5 km selama 7 hari. AI Assistant menjawab pertanyaan yang belum dijawab warga dalam 30 menit. Ia tidak mendapat Trust Score dan tidak dapat dipilih sebagai jawaban terbaik, sehingga pengetahuan warga tetap menjadi pusat.
  • AI Plant Doctor: unggah foto untuk Diagnosis Penyakit atau Cek Kualitas Panen, lalu dapatkan 3 langkah penanganan organik. Bila keyakinan di bawah ambang 60%, sistem menyatakannya terus terang, bukan menebak. Penafian yang tidak dapat ditutup selalu ditampilkan.

Alur pengguna singkat: masuk → pasang atau jelajahi hasil panen dalam radius 25 km → cek harga acuan dan Trust Score penjual → negosiasi lewat chat → tanda tangani kesepakatan (jual-beli dengan escrow, atau barter dengan AI Arbiter) → pantau pengiriman dengan saran berbasis cuaca → konfirmasi penerimaan → beri penilaian → Trust Score diperbarui.

Cara kami membangunnya

Tanera dibangun sebagai monolit berlapis yang modular, cukup sederhana untuk dikembangkan dan dirawat tim kecil.

  • Frontend: Next.js 16 (App Router) di Vercel, React 19, TypeScript, Tailwind CSS, dan shadcn/ui. Peta menggunakan Leaflet + OpenStreetMap.
  • Backend & data: Supabase, yaitu PostgreSQL dengan PostGIS untuk kueri radius, ditambah Auth, Storage, Realtime, Vault, dan Row-Level Security. Kami tidak memakai ORM. Aturan bisnis yang harus atomik (escrow, buku besar, kuota) berada di fungsi RPC PostgreSQL. Repositori memuat 21 migrasi basis data.
  • Organisasi kode: 17 modul fitur dengan aturan dependensi satu arah yang ditegakkan ESLint, sehingga antarfitur tidak saling terjalin tanpa sengaja.
  • Lapisan AI: Gemini 3.1 Flash-Lite di balik satu gateway. Setiap panggilan lebih dulu melewati consume_ai_quota(), yaitu fungsi PostgreSQL yang memeriksa kuota pengguna sebelum model dipanggil. Keluaran divalidasi dengan Zod, penggunaan dicatat, dan nama model disimpan di variabel lingkungan agar bisa diganti tanpa mengubah kode.
  • Integrasi: Midtrans (pembayaran), BMKG dan Open-Meteo (cuaca, cache 60 menit per sel grid), login Google, dan data PIHPS Bank Indonesia sebagai acuan harga yang disimpan di basis data kami.

Tantangan yang kami hadapi

  • Privasi lokasi vs. manfaat hiperlokal. Tetangga perlu tahu posisi Anda secara kasar, tetapi tidak ada yang mau alamat rumahnya terbuka. Kami menyimpan koordinat presisi dalam keadaan terenkripsi, dan publik hanya melihat grid ±300 m beserta nama area.
  • Masalah kepercayaan di awal (cold start). Pengguna baru belum punya riwayat, padahal kepercayaan adalah inti produk. Skor awal 60, label "Warga Baru", dan escrow memungkinkan pendatang baru bertransaksi tanpa dipercaya buta dan tanpa disingkirkan.
  • Menjaga AI tetap pada porsinya. Mudah sekali membiarkan model "memutuskan" apakah suatu barter adil. Kami memilih sebaliknya: sistem menghitung, AI menjelaskan. Kami juga membatasi keluaran AI, memvalidasinya dengan skema, dan menetapkan ambang keyakinan, karena jawaban salah yang meyakinkan soal penyakit tanaman atau keadilan barter lebih buruk daripada tidak menjawab.
  • Uang tidak boleh salah. Pelepasan escrow, pelepasan otomatis setelah 72 jam, dan buku besar append-only harus atomik, sehingga logikanya kami pindahkan ke fungsi basis data, bukan kode aplikasi.
  • Bergantung pada data pihak ketiga. Sumber cuaca dan harga bisa lambat atau mati. Cache per sel grid dan skema cuaca utama/cadangan menjaga aplikasi tetap berguna saat satu sumber gagal.
  • Membangun dalam batas paket gratis. Pada paket Hobby Vercel (cron hanya harian), kami merancang pekerjaan latar belakang agar sesuai dengan batasan tersebut.

Pencapaian yang kami banggakan

  • Alur menyeluruh yang menghubungkan enam modul, dari masuk, escrow, barter, forum, hingga diagnosis AI, bukan sekadar satu layar demo.
  • Mesin barter yang memisahkan perhitungan dari penjelasan, yang menurut kami membuat keadilan berbantuan AI lebih tepercaya dan dapat diaudit.
  • Kesepakatan dengan persetujuan dua pihak dan jejak audit lengkap (isi, waktu tanda tangan, hash IP), sehingga kesepakatan informal antartetangga memiliki lapisan akuntabilitas.
  • Model lokasi yang mengutamakan privasi, tetap mendukung penemuan hiperlokal tanpa membuka rumah siapa pun.
  • Kontrol biaya dan penyalahgunaan AI sejak hari pertama, dengan kuota ditegakkan di basis data sebelum model apa pun dipanggil.
  • Batas modul yang rapi: 17 modul dengan dependensi satu arah yang ditegakkan lint, dan semua perubahan status kritis ditangani secara atomik di basis data.

Yang kami pelajari

  • Masalahnya adalah kepercayaan dan ketidakpastian, bukan sekadar logistik. Teknologi menjadi nomor dua dibandingkan pertanyaan apakah tomat dari orang asing akan tiba, adil, dan sesuai janji.
  • Produk AI yang baik adalah produk AI yang dibatasi. Memberi AI tugas sempit (menjelaskan, menyarankan, menandai) dengan validasi dan kuota membuat sistem lebih aman dan mudah dinalar daripada memberinya wewenang terbuka.
  • Letakkan invarian di tempat yang tidak bisa dilewati. Fungsi RPC atomik dan Row-Level Security membuat aturan keamanan dan uang tetap berlaku siapa pun yang memanggilnya.
  • Rancang privasi sejak awal. Menambal privasi lokasi belakangan jauh lebih sulit daripada memulai dengan model berbasis grid.
  • Keterbatasan yang jujur membangun kredibilitas. Menampilkan tingkat keyakinan, penafian, dan keadaan "saya tidak yakin" membuat produk terasa lebih dapat dipercaya, bukan sebaliknya.

Rencana Tanera ke depan

  • Uji coba dengan komunitas nyata: dimulai dari lingkungan urban farming (misalnya kelompok RW di Surabaya dan Jakarta) untuk memvalidasi Trust Score, model keadilan barter, dan peringatan harga bersama pengguna sungguhan.
  • Modul sengketa dan pengembalian dana: alur penyelesaian untuk pesanan yang dipersoalkan, bagian terpenting yang belum ada untuk penggunaan produksi.
  • Data harga yang lebih kaya: mengintegrasikan API harga dari Badan Pangan Nasional di samping PIHPS agar acuan lebih segar.
  • Penguatan produksi: pengujian otomatis (Vitest + Playwright), pemantauan galat (Sentry), caching dengan Upstash Redis, dan peningkatan di luar paket hosting gratis.
  • Kemitraan: pemerintah daerah, kelompok tani, dan organisasi komunitas, untuk berkembang dari uji coba tingkat lingkungan menuju jejaring ketahanan pangan yang lebih luas.

Tanera mendukung SDG 9 (Industri, Inovasi, dan Infrastruktur), SDG 11 (Kota dan Permukiman yang Berkelanjutan), dan SDG 13 (Penanganan Perubahan Iklim).

Built With

  • geminiapi
  • nextjs
  • supabase
Share this project:

Updates

posted an update —

Untuk dapat langsung melihat fitur mvp dapat menggunakan akun yang sudah tersedia berikut ini:

  1. [email protected]
  2. [email protected]
  3. [email protected]
  4. [email protected]
  5. [email protected]
  6. [email protected]
  7. [email protected]
  8. [email protected]

Seluruh akun menggunakan password berikut: Password = tanera123

Jika ingin menggunakan akun akun berikut ini:

  1. [email protected]

Submission history