Khairi Hibatullah Ridho

Khairi Hibatullah Ridho

Backend engineer and tech lead at Innovasia, where I build billing, integrations and APIs for a WhatsApp Business CRM.

Commits per week

1,116 commits I authored in the product's private repository, February 2025 to September 2026.

Lead from July 2025
Commits per month
MonthCommits
February 20259
March 202528
April 20256
May 202541
June 20259
July 202533
August 202524
September 202526
October 202528
November 202530
December 202532
January 202640
February 202647
March 202640
April 202634
May 202699
June 2026109
July 2026112
August 2026187
September 2026182

Selected work

737,317

billable messages from three months of production traffic checked before switching billing models. One had no price.

Billing every WhatsApp message

Some partners pay Meta's messaging fees through the company, so any send that isn't metered is money lost. I built the quota engine that prices each message from Meta's category rates and deducts prepaid credit idempotently from status webhooks, with deadlock-safe batch jobs and reconciliation reports. The same data now drives postpaid monthly billing, starting October 2026.

Laravel, MySQL, Meta webhooks, queued and scheduled jobs
11.4 s→4 ms

per run, for a query that fired every minute

A full-table scan hiding in the broadcast service

Database CPU spiked whenever broadcasts sped up, yet the sending code looked fine. The cause was a cleanup query that scanned 5.5 million message rows every 60 seconds, almost always to update nothing. Bounding it to an index range removed the load, and sending concurrency went from 10 to 25.

Node.js, MySQL, EXPLAIN, Datadog
2.6 s→75 ms

for the heaviest view, with identical results across 20 checks

Analytics that stay fast across 250 tenants

An insight module where organizations follow donors, conversations and broadcast conversion. Nightly roll-ups precompute each contact's monthly pattern, a 39-second conversion query now takes 1.8 seconds, and the first full roll-up covered all 250 tenants in 7 minutes without a failure.

Laravel, MySQL, nightly roll-ups, caching
Home page of innovasia.id, the company site I rebuilt in Laravel
88

old URLs from Search Console, each redirected or retired on purpose

innovasia.id, moved off WordPress

I rebuilt the company site as a Laravel app with its own CMS for articles, case studies and partner pages, plus lead forms that feed Notion. All 64 articles kept their exact URLs, so search traffic still lands where it used to. Live since July 2026.

Laravel, Blade, MySQL, Cloudflare, Traefik
Visit innovasia.id

APIs other organizations build on

Zakat and wakaf organizations sync donations and pull reports through the partner REST API, where I added API keys with IP allow-lists, idempotent writes, outbound webhooks and one call that provisions a whole tenant. For WhatsApp Flows I rebuilt the webhook bridge so each receiver URL has its own signing secret, the way Stripe signs webhooks, and tenants can recover a drifted encryption key without a support ticket.

REST, HMAC signatures, idempotency keys, multi-tenancy

LLM features with a meter attached

A sales-funnel classifier that labels each conversation's stage and sends follow-ups, on rate-limited workers that tell “out of credit” apart from “rate-limited”. WhatsApp Insight, a standalone Laravel 12 app that sorts chats by sentiment, emotion and topic and reuses earlier results so history is paid for once. Most recently, Meta's Business AI agent wired into the CRM, including the handover between AI, automations and human agents.

OpenAI API, queue workers, Meta Business AI

Also built: a monitoring product for organizations that run many WhatsApp teams, an internal revenue dashboard that reconciles six revenue streams, product catalog sync to Meta Commerce, a support ticketing module, an in-app interactive tutorial, and a design-system refresh across the whole app.

Experience

Jul 2025 to now

Lead of Technology

PT Innovasia Inovasi Indonesia, Bandung

Lead engineering on the CRM: reliability, performance and the newer systems (billing, partner API, analytics, AI features). Datadog APM and SLOs, and first responder when production misbehaves.

Jan to Jun 2025

Software Engineer, support and maintenance

PT Innovasia Inovasi Indonesia, Bandung

Fixed 30+ production bugs across broadcast, chat, transactions and catalog, sped up slow queries on million-row tables, and built broadcast segmentation.

Oct to Dec 2024

IT Support

PT Tulus Asih Group, Cirebon

Set up a new branch office: network, hardware and software.

Feb to Jul 2022

Big Data Analyst

PT BISA Artifisial Indonesia, Bandung

Project manager for a speech-recognition modeling project; taught Python data-visualization webinars.

How I work

The CRM is a Laravel monolith with a Node.js service for high-volume sending, talking to Meta's Graph API and serving 200+ organizations from one codebase. The core architecture predates me. I started on bug fixes in early 2025 and grew into leading the engineering, which mostly means keeping it reliable, cleaning up what had grown messy, and building the newer systems on top.

I lean pragmatic. I'd rather ship something correct and observable than something clever, and I measure before I change anything: most of the numbers on this page started as an EXPLAIN plan, a Datadog trace or a count run against production. I also care how software feels, which is why I led the UI refresh across the product.

Stack

Backend

  • PHP 8, Laravel
  • MySQL
  • Node.js
  • Queues and schedulers
  • REST APIs

Integrations

  • WhatsApp Cloud API
  • Meta Graph API, Flows, Catalog
  • Payment gateways, VA and QRIS
  • Signed webhooks
  • OpenAI API

Operations

  • Datadog APM and SLOs
  • Nginx, PHP-FPM
  • Cloudflare
  • Linux servers

Frontend

  • JavaScript
  • Blade
  • HTML and CSS
  • Design systems

Telkom University

Bachelor of Engineering, Computer Engineering, 2024. Diploma, Computer Engineering, 2022.

Certificates

Cisco CCNAv7 (2020, 2021), Data Analytics Essentials and Introduction to Cybersecurity (2024).