azri ehsan.

i build AI systems and ship them.

Selected work

01

Mīzān ميزان

Validates every verse in the Quran. Won't mislabel authentic scripture.

2026

An NLP validation engine that catches hallucinated Quran verses in LLM output, guarding against a failure mode where models generate text that looks Arabic but isn't scripture.

  • 6-stage Arabic normalization pipeline + greedy binary-search fabrication detection.
  • Ships four ways: npm library, PWA web app, Chrome extension (MV3), and a FastAPI microservice on Railway.
  • Bundles an LLM accuracy benchmark testing GPT / Claude / Gemini on 50 Quran prompts.
TypeScriptPythonFastAPI DockerChrome Ext MV3PWA
02

MachineIQ

AI-powered predictive maintenance platform, real-time telemetry & alerting for industrial AHUs

2026 · Gamuda AI Academy C6 · in progress

An AI-powered predictive maintenance platform built at Gamuda AI Academy C6, for facilities managing 10-100+ industrial AHUs. Ingests real-time telemetry from IoT gateways, calculates health scores, detects anomalies via a configurable rule engine, and generates AI-powered repair guides from uploaded SOPs and repair history.

  • Configurable rule engine: flow-graph anomaly detection (trigger, condition, action), time-based escalation chains for technician notifications, sandboxed javascript conditions via quickjs.
  • FastAPI + LangGraph backend: 14 REST endpoints, 5 relational tables, event-driven telemetry ingestion, offline detection, AI knowledge base for step-by-step resolution guides.
  • React 19 frontend with TypeScript, shadcn/ui, 21-day telemetry visualizations (airflow, fan speed, filter dp, temp).
FastAPIPostgreSQLReact TypeScriptTailwind CSSDocker
03

Insect Classification

Full Research Study, CNN architecture comparison & interpretability

2025

A complete ML research study comparing three CNN architectures for 5-class insect classification. The interesting finding: a model with 4x more parameters performed worse. Transfer learning won with only 3k trainable params.

  • Trained 3 CNN architectures on CIFAR-100 insects. surprising finding: deepcnn (391k params) performed worse than simplecnn (94k). resnet-18 transfer won with 81% and only ~3k trainable parameters.
  • Full ablation study: augmentation was worth +13%, batchnorm +9%, dropout actually hurt by 4%. augmentation matters more than model size.
  • Grad-CAM revealed custom CNNs looked at background color instead of the insect. transfer learning fixed that. documented in an academic paper.
PyTorchtorchvisionscikit-learn matplotlibLaTeX
04

PainPoint

Lovable x AWS Hackathon 2026

2026 · Healthcare Track

A dialect-aware health companion for elderly patients who don't speak standard English, with tap-to-report body map, voice input in Hokkien & Cantonese, caregiver dashboard with emergency SOS routing.

  • Dialect-responsive AI: Hokkien & Cantonese-aware symptom reporting for elderly users.
  • Tap-to-report body map + caregiver dashboard with emergency SOS routing (Leaflet).
React 19TypeScriptTanStack Start Tailwind CSSLeaflet

Stack & tooling

Languages
Python, TypeScript, JavaScript, SQL
Backend
FastAPI, PostgreSQL, Docker, REST APIs, JWT
AI / ML
PyTorch, NLP (Arabic), Computer Vision, LangChain, LLM APIs
Frontend
React, Tailwind CSS
Tools
Git, Railway, GitHub Actions, Postman