Sebagai seorang developer, saya selalu menyukai estetika hacker/terminal yang klasik. Namun, saya ingin menggabungkan nuansa retro tersebut dengan teknologi web modern yang super cepat. Dari ide itulah CLI Weather Terminal lahir.
🌟 Konsep & Fitur Utama
CLI Weather bukan sekadar aplikasi cuaca biasa; ini adalah pengalaman interaktif. Pengguna disambut dengan animasi booting ala terminal klasik, lengkap dengan layar CRT (flicker dan scanlines), teks neon menyala, dan jendela glassmorphism yang memukau.
Saat pengguna mengetikkan nama kota, aplikasi akan terasa seolah-olah mengunduh data langsung dari satelit, padahal di belakang layar, ia memanggil API super cepat yang ditulis menggunakan Rust.
🦀 Kenapa Menggunakan Rust?
Di sisi backend, saya ingin performa yang blazing-fast tanpa waktu tunggu (cold start) yang lama. Membangun Vercel Serverless Function menggunakan vercel_runtime untuk Rust adalah solusi yang sempurna.
Rust memastikan bahwa setiap request yang masuk dikelola dengan aman (memory-safe) dan diproses dalam hitungan milidetik. Data geocoding dan prakiraan cuaca diambil secara real-time dari Open-Meteo, lalu diformat menjadi respon terminal yang rapi.
🛠️ Tech Stack yang Digunakan
- Backend: Rust 🦀, Tokio (Asynchronous runtime), Reqwest (HTTP Client).
- Frontend: Vanilla HTML, CSS3, & JS (Animasi Typing, CSS Glow, Glassmorphism UI).
- Deployment & Infrastructure: Vercel (Menggunakan Edge / Serverless Functions).
- API Data: Open-Meteo (Gratis & akurat tanpa butuh API keys).
💡 Tantangan & Solusi
Salah satu hal paling menarik selama pengembangan adalah bagaimana mengatur routing di Vercel agar bisa melayani file web statis (frontend) secara bersamaan dengan eksekusi serverless function Rust (api/weather.rs) tanpa bentrok. Solusinya adalah dengan melakukan konfigurasi rewrites dan @vercel/static secara spesifik di vercel.json.
🚀 Kesimpulan
Proyek ini menjadi bukti bahwa kita bisa membuat antarmuka web yang sangat cantik dan interaktif tanpa harus selalu bergantung pada framework frontend yang berat. Dipadukan dengan tenaga mesin Rust di backend, hasilnya adalah aplikasi yang tidak hanya cantik dipandang, tapi juga luar biasa cepat.
Cobalah ketikkan kota Anda dan rasakan sensasinya langsung: 👉 Live Demo 👉 GitHub Repository