Yang ditulis dari nol itu beneran "dari nol"
Ambil contoh folder pdf-lib yang jadi otak di balik hampir semua tools berbasis PDF di MEA Tools — mulai dari gabung PDF, pecah PDF, convert PDF ke Word, isi formulir PDF, sampai enkripsi dan watermark. Folder ini berisi hampir 37 file JavaScript dengan total lebih dari 10.000 baris kode, dan semuanya ditulis dari nol: parser objek PDF mentah, tokenizer, interpreter content stream, penyusun ulang struktur xref, sampai rasterizer untuk render halaman jadi gambar.
Artinya waktu MEA Tools "membaca" sebuah file PDF, itu bukan panggilan ke library orang yang tinggal pakai — ada kode yang benar-benar mem-parsing byte demi byte struktur file PDF sesuai spesifikasinya, ditulis khusus untuk kebutuhan tools ini. Hal serupa berlaku di folder-folder lain: logika kompresi gambar, konversi warna, generate QR code, sampai fungsi hash — semuanya kode sendiri, bukan nempel package npm yang tinggal import.
Kenapa repot-repot nulis sendiri?
Ada beberapa alasan konkret, bukan cuma gengsi teknis:
- Ukuran file lebih kecil. Library umum biasanya dibuat generik supaya bisa dipakai banyak kasus — konsekuensinya banyak kode yang nggak relevan ikut terbawa. Kode yang ditulis khusus untuk kebutuhan sendiri bisa jauh lebih ramping, dan itu penting karena semua ini jalan di browser pengguna, bukan di server dengan resource besar.
- Kontrol penuh atas perilaku. Kalau ada bug aneh di satu jenis PDF tertentu, nggak perlu nunggu maintainer library orang lain merilis patch — bisa langsung dibedah dan diperbaiki sendiri karena semua kodenya memang kepunyaan sendiri.
- Nggak ada dependency yang bisa berhenti di-maintain. Banyak library open-source populer berhenti di-update begitu maintainer-nya pindah kesibukan. Kalau fondasi tools dibangun di atas itu, risikonya ikut terbawa.
- Memahami persis apa yang terjadi pada data pengguna. Karena setiap baris parsing ditulis sendiri, nggak ada "kotak hitam" pihak ketiga yang memproses file orang tanpa diketahui persis apa yang dilakukannya di dalam.
Tapi nggak semuanya ditulis dari nol — dan itu disengaja
Supaya artikel ini jujur, bukan cuma promosi: ada beberapa bagian di MEA Tools yang memang memakai library atau model pihak ketiga, dan itu keputusan sadar, bukan kelupaan.
- Hapus background foto memakai model AI open-source (U2Net) yang dijalankan lewat ONNX Runtime — engine inferensi AI dari komunitas, bukan tulisan sendiri. Menulis ulang seluruh runtime inferensi neural network dari nol jelas di luar skala wajar untuk satu tools di antara puluhan lainnya. File model AI-nya sendiri di-hosting di server MEA, bukan numpang CDN pihak ketiga — tapi mesin yang menjalankannya tetap ONNX Runtime.
- Perbesar resolusi gambar (upscaler) memakai model AI Real-ESRGAN, juga lewat ONNX Runtime, dengan alasan yang sama.
- Ekstrak teks dari gambar/scan (OCR) di dua tools memakai Tesseract.js — mesin OCR open-source yang sudah matang dan dipercaya luas. Menulis ulang mesin OCR dari nol adalah proyek riset tersendiri yang jauh di luar cakupan satu tools konversi dokumen.
Bagian menariknya ada di dalam kode sendiri: satu-satunya bagian lain yang sengaja tidak ditulis manual dari nol adalah fungsi AES untuk enkripsi PDF — itu memanfaatkan Web Crypto API bawaan browser, bukan implementasi AES buatan sendiri. Alasannya ditulis jelas di komentar kode: AES dipakai untuk keamanan sungguhan (melindungi isi PDF dari pihak lain), dan implementasi AES bawaan browser sudah teraudit ketat serta tahan terhadap serangan timing attack — sesuatu yang sangat berisiko kalau ditulis ulang manual tanpa jaminan audit keamanan setara.
Sebagai perbandingan, fungsi hash MD5 dan RC4 di tools yang sama memang ditulis manual dari nol — karena di situ MD5/RC4 dipakai untuk kebutuhan format data PDF lama (bukan untuk melindungi kerahasiaan data), bukan untuk tujuan keamanan yang sensitif.
Tulis Sendiri Kalau Masuk Akal, Pakai yang Teruji Kalau Menyangkut Keamanan
Filosofi di MEA Tools bukan "harus semua dari nol apa pun risikonya" — tapi menulis sendiri di bagian yang memang masuk akal dikuasai penuh, dan menyerahkan ke implementasi yang sudah teraudit di bagian yang menyangkut keamanan data sungguhan.
Lihat Semua Tools →Kenapa ini penting buat kamu sebagai pengguna?
Mungkin kedengarannya cuma detail teknis di balik layar. Tapi dampaknya langsung terasa: tools yang ditulis khusus untuk kebutuhannya sendiri cenderung lebih ringan dijalankan, lebih cepat dibuka, dan perilakunya lebih bisa diprediksi — karena tidak membawa beban kode generik yang sebenarnya nggak kepake. Dan di bagian yang memang krusial buat keamanan data kamu, seperti enkripsi PDF, pilihan untuk memakai implementasi yang sudah teruji justru lebih aman dibanding kalau semuanya dipaksa ditulis manual demi konsistensi semata.
Masih terus berkembang
Penting juga buat disadari: pendekatan "tulis dari nol" ini artinya setiap fitur baru butuh waktu lebih lama dibanding tinggal pasang library siap pakai. Khusus urusan PDF misalnya, pdf-lib yang dibangun sendiri ini baru mencakup sebagian dari keseluruhan hal yang bisa dilakukan terhadap file PDF — dunia format PDF itu luas, dan MEA Tools belum berhenti di titik ini. MEA Tools secara umum masih terus dikembangkan dan ditambah, jadi cakupan fitur yang ada sekarang bukan versi final — akan terus bertambah seiring waktu.