Kurniadi Ahmad Wijaya
Forward Deployed AI Engineer
Membangun AI dan software kelas production untuk perbankan, fintech, dan enterprise.
Technical Consultant, Software & AI · Metrodata (PT Mitra Integrasi Informatika)
Langsung ke konten

Pembaruan Dashboard Program Tenaga Kesehatan

Dashboard program WhatsApp untuk tenaga kesehatan milik perusahaan consumer health, dibangun ulang dari Streamlit ke Next.js dan FastAPI dengan broadcast dua persetujuan, dioptimalkan di Azure hingga tidak ada request yang tertahan lebih dari 2 detik, dan kini live di production.

Hasil utama

  • 60 s → <2 s

    Stall terburuk pada endpoint 0,2 detik di Azure, sebelum dan sesudah pemisahan API dan worker

  • ~45 hours

    Dari commit pertama hingga dashboard pengganti lengkap, lewat 53 pull request

  • 61 of 61

    Respons laporan yang identik dengan sistem live setelah migrasi backend

Peran
Engineer tunggal untuk pembaruan dashboard: arsitektur, migrasi backend, environment Azure, dan optimasi performa, sambil mengarahkan beberapa AI coding agent secara paralel. Bot WhatsApp-nya dibangun oleh rekan kerja.
Periode
Okt 2026
Klien
Perusahaan consumer health
Jenis proyek
Proyek
Ruang di HQ 3D
L3:healthcare-outreach-dashboard

Hasil

  • 60 s → <2 s

    Stall terburuk pada endpoint 0,2 detik di Azure, sebelum dan sesudah pemisahan API dan worker

    Setelah perubahan lanjutan, Azure memenuhi semua target performa kecuali dua panggilan pertama setelah restart, yang diperbaiki di perubahan berikutnya (diverifikasi secara lokal).

  • ~45 hours

    Dari commit pertama hingga dashboard pengganti lengkap, lewat 53 pull request

    Beberapa AI coding agent mengerjakan sebagian besar kode secara paralel berdasarkan spec tertulis; saya me-review, menguji di Azure, dan me-merge setiap pull request.

  • 61 of 61

    Respons laporan yang identik dengan sistem live setelah migrasi backend

    Dibandingkan dengan salinan read-only data production; 6 halaman percakapan bot juga identik.

  • ~2,900 tests

    Test backend otomatis, ditambah 173 browser test dengan pemeriksaan aksesibilitas

    Naik dari 31 test backend dan 12 browser test di awal pembaruan.

Masalah

Dashboard admin program ini berupa aplikasi Streamlit yang meng-query database production langsung dari halaman, mengirim pesan WhatsApp di dalam proses yang sama, tidak memiliki approval maupun test, dan mengambil metrik dari function terpisah yang dipanggil dengan key di URL. Operator perlu menjalankan manajemen pengguna, laporan, webinar, knowledge bot, dan broadcast template secara mandiri dan aman. Dashboard baru ini menggantikan dashboard lama dan kini sudah live di production.

Kontribusi

  1. Saya memisahkan aplikasi lama beserta riwayatnya, lalu memindahkan setiap fitur ke domain FastAPI bertipe di belakang BFF Next.js yang dimulai dari template aplikasi AI tim. Setiap spec memetakan logika lama yang digantikannya, dan bug lama ikut diperbaiki, misalnya access token yang dikirim lewat URL dan retry yang bisa mengirim ulang pesan.
  2. Saya menyiapkan broadcast agar aman dijalankan: state machine dengan persetujuan dari dua orang berbeda yang diperiksa di API dan sekali lagi di worker, daftar penerima yang tidak berubah setelah ditetapkan, runner yang dapat dilanjutkan dengan lease Cosmos DB, ledger klaim per penerima, allowlist pengiriman yang fail-closed, dan audit log append-only.
  3. Alih-alih mengembangkan dengan data sintetis atau menulis ke production, saya menyalin data production ke database baru sebagai salinan read-only. Proses penyalinannya dapat dilanjutkan dan hasilnya diperiksa kesetaraannya. Saya juga mengganti function metrik dengan endpoint native yang diperiksa oleh skrip paritas.
  4. Saya mengukur baseline di Azure terlebih dahulu: stall 60, 19, dan 23 detik pada endpoint 0,2 detik. Dengan watchdog loop-lag, saya menemukan penyebabnya: agregasi berat dan sweep latar belakang memakai satu event loop yang sama. Saya kemudian memisahkan API dan worker ke aplikasi App Service terpisah dan menghitung ringkasan lebih awal dengan watermark serta indikator kebaruan data.
  5. Saya menjaga dashboard tetap dwibahasa dan aksesibel, dengan bahasa Indonesia sebagai default serta pilihan bahasa Inggris. Pelanggaran WCAG 2.2 menurut axe turun dari 4 menjadi 0, dengan browser test untuk mencegah regresi.

Arsitektur

Tech stack

  • Next.js
  • TypeScript
  • FastAPI
  • Python
  • Cosmos DB
  • Azure AI Search
  • Azure OpenAI
  • Document Intelligence
  • App Service
  • Key Vault
  • Microsoft Entra ID
  • Application Insights
  • Bicep
  • GitHub Actions
  • GitHub Spec Kit
  • Playwright
  • WhatsApp Cloud API

Riwayat karier terkaitTechnical Consultant, Software & AI, Metrodata (PT Mitra Integrasi Informatika)

Saya terbuka untuk pekerjaan freelance atau paruh waktu di bidang software dan AI engineering.

kurniadiahmadwijaya@gmail.com
Tentang dan kontakLihat CV