From a System Fighting the Mission to One That Finally Works For It Dari Sistem yang Melawan Misi ke Sistem yang Akhirnya Mendukungnya
Exclolab modernized CELLS' legacy platform — upgrading from Laravel 6 to Laravel 13, unifying three fragmented databases into one, and cutting query times by 95% — giving a Bali-based non-profit educational organization a system they can trust, use, and keep building on. Exclolab memodernisasi platform lawas CELLS — meng-upgrade dari Laravel 6 ke Laravel 13, menyatukan tiga database yang terfragmentasi menjadi satu, dan memangkas waktu query hingga 95% — memberi organisasi pendidikan non-profit berbasis Bali ini sistem yang bisa mereka percaya, gunakan, dan terus kembangkan.
A system built for a different, smaller organizationSistem yang dibangun untuk organisasi yang berbeda, lebih kecil
CELLS is a Bali-based non-profit organization dedicated to cultural and ecological education — managing large datasets of animals, minerals, educational reports, and research used by educators, data inputters, and administrators. Despite years of operation, their digital system had never been meaningfully modernized. Built on Laravel 6 with shared hosting and three completely separate databases, the system had become a daily source of frustration for every person who used it — slow, fragmented, and structurally broken in ways that were directly undermining the organization's educational mission. CELLS adalah organisasi non-profit berbasis Bali yang berfokus pada pendidikan budaya dan ekologi — mengelola dataset besar berupa data hewan, mineral, laporan edukasi, dan riset yang digunakan oleh edukator, data inputter, dan administrator. Meski sudah bertahun-tahun beroperasi, sistem digital mereka belum pernah benar-benar dimodernisasi. Dibangun di atas Laravel 6 dengan shared hosting dan tiga database yang benar-benar terpisah, sistem ini menjadi sumber frustrasi harian bagi setiap orang yang menggunakannya — lambat, terfragmentasi, dan secara struktural rusak dengan cara yang langsung merugikan misi pendidikan organisasi tersebut.
{{ pp.en }}{{ pp.id }}
{{ bi.en }}{{ bi.id }}
Every person on the team was doing their job. The system underneath them simply wasn't built to support it. Setiap orang di tim sudah menjalankan tugasnya. Sistem di baliknya sekadar tidak dibangun untuk mendukung itu.
{{ nt.descEn }}{{ nt.descId }}
It was structural: Ini struktural: three separate databases meant no single source of truth anywhere in the organization, and a Laravel 6 codebase with years of technical debt meant nothing could be fixed without risking what already worked. That's the point CELLS brought in Exclolab — not for a patch, but to find what was actually broken underneath the symptoms everyone was already feeling. tiga database terpisah berarti tidak ada satu sumber data yang benar di seluruh organisasi, dan codebase Laravel 6 dengan technical debt bertahun-tahun berarti tidak ada yang bisa diperbaiki tanpa risiko merusak yang sudah berjalan. Di titik itulah CELLS melibatkan Exclolab — bukan untuk tambalan, tapi untuk mencari apa yang sebenarnya rusak di balik simptom yang sudah dirasakan semua orang.
Root Cause First, Then the BuildAkar Masalah Dulu, Baru Build
Exclolab's process starts with a full audit before any code changes — because a system that's rebuilt without understanding why it broke usually just breaks again in a new way. For CELLS, that meant assessing every layer before touching anything: the architecture, the database schema across all three separate databases, query performance, UI/UX state, role and permission structure, and every workflow redundancy. The root cause wasn't hard to find once mapped clearly — CELLS' system had never been designed for growth or collaboration. It had been built quickly, years ago, and never revisited. Every piece of data lived in triplicate. Every workflow required manual repetition. Every collaboration between roles depended on a system that couldn't synchronize anything in real time. That diagnosis is what shaped the three-iteration plan that followed — not a guess at what might help, but a scoped response to what was actually confirmed broken. Proses Exclolab dimulai dengan audit penuh sebelum ada perubahan kode apa pun — karena sistem yang dibangun ulang tanpa memahami mengapa sistem itu rusak biasanya hanya akan rusak lagi dengan cara yang baru. Untuk CELLS, itu berarti menilai setiap lapisan sebelum menyentuh apa pun: arsitektur, skema database di ketiga database yang terpisah, performa query, kondisi UI/UX, struktur role dan permission, dan setiap redundansi workflow. Akar masalahnya tidak sulit ditemukan begitu dipetakan dengan jelas — sistem CELLS memang tidak pernah dirancang untuk pertumbuhan atau kolaborasi. Sistem ini dibangun secara cepat, bertahun-tahun lalu, dan tidak pernah ditinjau ulang. Setiap data hidup dalam tiga rangkap. Setiap workflow membutuhkan pengulangan manual. Setiap kolaborasi antar-role bergantung pada sistem yang tidak bisa menyinkronkan apa pun secara real time. Diagnosis itulah yang membentuk rencana tiga iterasi yang mengikutinya — bukan tebakan tentang apa yang mungkin membantu, tapi respons yang di-scope terhadap apa yang benar-benar terkonfirmasi rusak.
Why this mattered:Mengapa ini penting: A full rewrite would have risked losing years of irreplaceable ecological and cultural data. Exclolab's audit confirmed the data itself wasn't the problem — the architecture around it was. That single distinction changed the entire scope of the engagement, from "start over" to "rebuild from the inside out." Rewrite total akan berisiko menghilangkan bertahun-tahun data ekologi dan budaya yang tidak tergantikan. Audit Exclolab mengonfirmasi bahwa data itu sendiri bukan masalahnya — arsitektur di sekitarnya yang bermasalah. Satu perbedaan itu mengubah seluruh scope engagement, dari "mulai dari nol" menjadi "bangun ulang dari dalam."
Five phases, one working system at every stepLima fase, satu sistem yang berfungsi di setiap langkah
This engagement ran as 3 iterations over 6 months — each delivering a working, deployable improvement to the live system. A 4th iteration is currently being prepared to further automate remaining manual processes and rejuvenate the platform. Engagement ini berjalan sebagai 3 iterasi selama 6 bulan — masing-masing menghadirkan peningkatan yang berfungsi dan bisa dideploy ke sistem live. Iterasi ke-4 sedang disiapkan untuk mengotomatisasi lebih lanjut proses manual yang tersisa dan menyegarkan platform.
Before, after, and what it meantSebelum, sesudah, dan artinya
{{ kw.en }}{{ kw.id }}
In their own wordsDalam kata-kata mereka sendiri
The Technical StoryCerita Teknisnya
For readers who want the specifics: here's exactly what CELLS' system is built on now, and why each decision was made.Untuk pembaca yang ingin detail spesifik: berikut yang menjadi basis sistem CELLS sekarang, dan mengapa setiap keputusan diambil.
{{ rd.en }}{{ rd.id }}
Plain Language Summary: Ringkasan Bahasa Sederhana: CELLS' old system stored the same information in three separate places, ran on outdated technology, and took up to 15 seconds just to load a search result. Exclolab rebuilt it on one modern, unified system — cutting load times by 95% and making sure every piece of data only needs to be entered once. Sistem lama CELLS menyimpan informasi yang sama di tiga tempat berbeda, berjalan di atas teknologi usang, dan butuh hingga 15 detik hanya untuk memuat hasil pencarian. Exclolab membangunnya ulang di atas satu sistem modern yang terpadu — memangkas waktu load hingga 95% dan memastikan setiap data hanya perlu dientri sekali.
6 months, 3 iterations, 1 platform they trust6 bulan, 3 iterasi, 1 platform yang mereka percaya
{{ tl.bodyEn }}{{ tl.bodyId }}
6 months, 3 completed iterations, one platform the organization now trusts — with a 4th iteration already underway.6 bulan, 3 iterasi selesai, satu platform yang kini dipercaya organisasi — dengan iterasi ke-4 yang sudah berjalan.