Perkakas adalah daya ungkit. Yang tepat menghapus satu kategori pekerjaan; yang salah diam-diam menjadi pekerjaan sambilan. Topik ini membahas teknologi yang kami pakai di tbskit — dan sering juga perkakas yang sengaja tidak kami tambahkan.
Cara kami memilih perkakas
Sebelum apa pun masuk ke stack, ia harus menjawab empat pertanyaan:
- Apakah ia menghapus kerja, atau hanya memindahkannya? Perkakas yang menghemat satu jam per minggu adalah investasi. Perkakas yang hanya memindahkan satu jam yang sama dari satu orang ke orang lain adalah biaya yang punya halaman login.
- Bisakah kami keluar darinya? Setiap perkakas perlu jalan keluar: ekspor, format terbuka, atau setidaknya salinan data yang bisa kami baca tanpa vendornya. Kalau keluar berarti kehilangan pekerjaan, kami tidak membeli perkakas — kami menyewa alur kerja kami.
- Siapa yang merawatnya, dan apa yang terjadi kalau mereka berhenti? Tim kecil yang membangun hal berguna sangat kami hargai — selama risiko mereka menghilang sebanding dengan apa yang kami titipkan di dalamnya.
- Berapa biayanya di ukuran kami yang sebenarnya? Per pengguna, per proyek, per bulan, dikalikan semua proyek yang kami pelihara. Angka yang penting adalah totalnya, bukan harga masuknya.
Kalau dua jawabannya tidak nyaman, perkakas itu tidak kami pakai. Biaya berkata “tidak” hanyalah rasa jengkel kecil; biaya berkata “ya” bersifat permanen.
Daftar pendek yang benar-benar kami pakai
Bukan katalog — hanya perkakas yang lolos pertanyaan di atas dan kini sudah menjadi kebiasaan.
Membangun dan merilis
Astro dengan TypeScript untuk situsnya, Git dan GitHub untuk versioning dan review, Docker Compose supaya lingkungan lokal bisa dibangun ulang alih-alih diingat, serta sharp untuk pengolahan gambar saat build.
Menjalankan dan melayani
Cloudflare Pages untuk hosting dan pengiriman, R2 untuk media di belakang domain aset khusus, Cloudflare untuk DNS dan TLS, dan layanan formulir terkelola untuk formulir kontak — sehingga tidak ada server yang perlu dirawat hanya untuk menerima pesan.
Merancang dan menulis
Berkas desain untuk struktur dan token, Markdown biasa untuk dokumentasi, dan repositori sebagai satu-satunya sumber kebenaran. Kalau sebuah keputusan tidak tertulis di tempat kodenya berada, ia akan diperdebatkan ulang enam bulan lagi.
Yang sengaja kami tinggalkan
- Framework sisi klien untuk situs konten. Sebagian besar halaman tidak membutuhkannya.
- Page builder yang menyimpan teks di tempat yang tidak bisa di-diff, ditinjau, atau dikembalikan.
- Analitik yang mengumpulkan lebih dari yang ditanyakan. Jumlah kunjungan tidak butuh sidik jari pengunjungnya.
- Satu perkakas berbeda untuk setiap kebutuhan kecil. Dua puluh langganan dan dua puluh tempat untuk mencari bukanlah stack, melainkan beban yang punya dashboard.
Mencoba hal baru tanpa mempertaruhkan proyek
Rasa ingin tahu adalah bagian dari pekerjaan ini, jadi perkakas baru mendapat uji yang adil — dengan tali pendek:
- Coba di branch. Uji coba tidak pernah menyentuh produksi dan tidak pernah dilakukan terburu-buru. Kalau sebuah perkakas tidak bisa dicoba dengan aman, itu sendiri sudah informasi.
- Batasi waktunya. Satu sore, atau satu minggu untuk hal yang struktural. Uji coba tanpa tanggal akhir berubah menjadi dependensi tanpa pemilik.
- Kerjakan jalur membosankannya lebih dulu. Impor data nyata, jalankan di koneksi lambat, dan coba tugas yang tidak menarik — ekspor, migrasi, pembatalan. Demo selalu terasa cepat.
- Dua minggu untuk menjadi kebiasaan. Kalau setelah dua minggu kami masih perlu diingatkan untuk memakainya, yang kami beli adalah kebiasaan yang tidak kami miliki.
- Tulis putusannya. Satu paragraf: apa yang dicoba, apa yang digantikan, kenapa dipakai atau ditinggalkan. Orang berikutnya yang bertanya hal sama mulai dari paragraf itu, bukan dari uji coba baru.
Menilai perkakas setelah tiga bulan
Tidak banyak keputusan yang permanen, jadi kami memeriksa ulang yang penting dengan empat pertanyaan sederhana:
- Apakah ia mengurangi kerja, terukur pada hal yang bisa kami tunjuk?
- Apakah ia dipakai tanpa perlu diingatkan setiap minggu?
- Apakah biayanya masih sebanding dengan hasilnya?
- Apakah kami akan memilihnya lagi hari ini, dengan pengetahuan sekarang?
Dua jawaban “tidak” berarti perkakas itu dipersempit perannya atau dipensiunkan. Mempertahankan perkakas karena sungkan adalah cara stack tumbuh tanpa menjadi lebih baik.
Memensiunkan perkakas tanpa meninggalkan kekacauan
Menghapus perkakas adalah proyek kecil, dan melewatkan langkah-langkah ini adalah cara sebuah proyek mengumpulkan zombie:
- Ekspor datanya lebih dulu, dalam format yang bisa dibuka tanpa vendornya, lalu simpan bersama proyeknya.
- Matikan tagihan dan akses, lalu cabut API key dan integrasinya supaya tidak ada yang terus berbicara dengan layanan yang tidak diawasi siapa pun.
- Perbarui dokumentasinya dengan satu paragraf: apa fungsinya, kenapa kami keluar, apa penggantinya.
- Periksa apa yang masih merujuknya — skrip build, record DNS, otomasi — dan hapus sisanya.
- Lalu hapus akunnya. Layanan yang tidak dipakai adalah langganan yang terlupakan sekaligus permukaan serangan yang terlupakan.
Apa yang kami terbitkan di topik Tech & Tools
Artikel di topik ini konkret dan teruji: penyiapan editor dan lingkungan lokal yang membuat proyek nyaman dikerjakan, alur kerja Git untuk tim kecil, pipeline gambar yang tidak menggemukkan repositori, formulir dan pencarian tanpa backend, analitik yang menghormati pengunjung, serta catatan jujur setelah memakai sebuah perkakas di proyek nyata selama beberapa bulan.
Bacaan terkait: standar kode kami, cara kami menyimpan dan melayani hasilnya, dan kebiasaan ops yang menjaganya tetap berjalan.
Penasaran apa yang akan kami pakai untuk proyek Anda — atau sedang membayar perkakas yang Anda sendiri tidak yakin lagi? Ceritakan kepada kami.