Portfolio

Khairuramdhani

AI / ML & Mobile Developer

Computer Vision · Embedded Systems (C++) · Mobile (Flutter)

Universitas Brawijaya Computer Engineering · Teknik Komputer
Universitas BrawijayaTeknik Komputer ID
Portrait of Khairuramdhani
Khairuramdhani AI / ML & Mobile Developer

About me · Tentang Saya

Turning ideas into software that works.

I'm a Computer Engineering student at Universitas Brawijaya who enjoys building software and seeing it through to something people can actually use. Most of my projects run the full path — from preparing the data and training a model to getting it onto a real phone or device. I work mainly in Python and C++, build mobile apps with Flutter, and my main interest is Computer Vision, though I'm just as comfortable around machine learning, data, and IoT. I like picking up new tools and figuring things out as I go.

Saya mahasiswa Teknik Komputer Universitas Brawijaya yang senang membangun software sampai benar-benar bisa dipakai. Sebagian besar proyek saya kerjakan dari awal sampai akhir — menyiapkan data, melatih model, lalu menjalankannya di perangkat nyata. Saya terbiasa dengan Python dan C++, membuat aplikasi mobile dengan Flutter, dan paling tertarik pada Computer Vision, meski nyaman juga di machine learning, data, maupun IoT.

0 End-to-end projects Proyek end-to-end
0 Core stacks · AI · C++ · Flutter Bidang utama
0 Teaching-assistant roles Asisten praktikum
0 Certifications Sertifikasi

Technical skills · Keahlian Teknis

What I work with.

Programming Languages Bahasa Pemrograman

  • Python
  • C++
  • Dart
  • JavaScript

AI / Machine Learning Kecerdasan Buatan

  • PyTorch
  • TensorFlow
  • scikit-learn
  • Ultralytics
  • YOLO
  • CNN
  • SVM

Computer Vision Visi Komputer

  • OpenCV
  • Real-time detection
  • Image segmentation
  • On-device (TF Lite)

Mobile Development Pengembangan Mobile

  • Flutter
  • Firebase
  • Supabase
  • UI/UX

Embedded / IoT Sistem Tertanam

  • C++
  • Arduino
  • ESP32
  • FreeRTOS
  • Sensors
  • RTC

Data & Analysis Data & Analisis

  • pandas
  • NumPy
  • matplotlib
  • seaborn
  • EDA

Tools & Workflow Alat & Workflow

  • Git
  • Linux
  • Anaconda
  • Weights & Biases
  • GitHub Actions

Languages Bahasa

  • Indonesian (native)
  • English (still improving)

Experience · Pengalaman

Where I've been building & teaching.

  1. Feb 2026 – Present

    AI Engineer Intern AITF

    Ministry of Communications & Digital Affairs (Komdigi) × Universitas Brawijaya

    A selective AI engineering internship under a national program — a cross-institution collaboration between Indonesia's Ministry of Communications and Digital Affairs (Komdigi) and Universitas Brawijaya.

    • Built a semi-automatic data-annotation pipeline using Vision-Language Models, cutting manual labelling effort
    • Built end-to-end Deep Learning pipelines (data → training → evaluation) for Computer Vision tasks
    • Fine-tuned & optimised Large Language Models via parameter tuning and prompt engineering
    • Collaborated in a cross-institution national AI research team
    • Vision-Language Models
    • LLM fine-tuning
    • Deep Learning
    • Computer Vision
    • Python
    • PyTorch
    • Prompt Engineering
  2. Even Sem. 2024/2025

    Teaching Assistant — Data Structures & Algorithms

    Faculty of Computer Science, Universitas Brawijaya

    Walked students through data structures and algorithms in the lab (in C++), and reviewed their practical assignments.

  3. Odd Sem. 2024/2025

    Teaching Assistant — Basic Programming

    Faculty of Computer Science, Universitas Brawijaya

    Helped first-year students get comfortable with the basics of programming, running lab sessions and giving feedback on their work.

Selected projects

Projects

Proyek pilihan · AI, Computer Vision, Embedded & Mobile

CERDAS app detecting head orientation in real time on a phone
Real-time orientation detection on-device

Project 01

CERDAS

Cheating Examination Recognition & Detection — YOLO-based

CERDAS spots exam cheating in real time by reading where someone's head and eyes are pointing. I built it from start to finish — collecting and labelling the data, training a YOLO model, then getting it to run smoothly on an Android phone with TensorFlow Lite and Flutter. It keeps up at around 9 FPS and shows a confidence score for each prediction.

CERDAS mendeteksi perilaku mencontek secara real-time dengan membaca arah kepala dan pandangan mata. Saya kerjakan dari awal sampai akhir — data, model YOLO, lalu deploy ke HP Android lewat TensorFlow Lite & Flutter, di kisaran 9 FPS.

  • Real-time, on-device inference (~9 FPS)
  • 6-class head & gaze orientation detection
  • Full pipeline: data → training → Android deployment
  • Python
  • Ultralytics
  • YOLO
  • Anaconda
  • Flutter
  • Dart
  • TensorFlow Lite
  • Android
github.com/khaichi11/Mobile-Cheating-Detection-YOLO

Documentation · Dokumentasi

CERDAS detecting head down — flagged as violation
Down · violation
CERDAS detecting front-facing — honest
Front · honest
CERDAS detecting head turned left — flagged as violation
Left · violation
CERDAS detecting head turned right — flagged as violation
Right · violation
Confusion matrix for the 6-class CERDAS model
Confusion matrix · 6 classes
3D-printed automatic fish feeder prototype
3D-printed fish feeder prototype

Project 02

FishFeed

Automatic Fish-Feeding System · Embedded & IoT

FishFeed is an automatic fish feeder I built around an ESP32. The firmware is written in C++ on the Arduino framework and uses FreeRTOS to juggle tasks, with ultrasonic and turbidity sensors plus an RTC for timing. A Flutter app talks to it through Firebase, so you can check the water, the feed level, and set feeding schedules right from your phone.

FishFeed adalah pemberi pakan ikan otomatis di sekitar ESP32. Firmware C++ (Arduino) memakai FreeRTOS, sensor ultrasonik & turbidity, serta RTC; aplikasi Flutter terhubung lewat Firebase untuk pantau & jadwal dari HP.

  • C++ firmware on ESP32 with FreeRTOS multitasking
  • Ultrasonic & turbidity sensing with RTC scheduling
  • Real-time monitoring via Flutter + Firebase RTDB
  • C++
  • Arduino
  • ESP32
  • FreeRTOS
  • Sensors
  • RTC
  • Flutter
  • Firebase RTDB
github.com/khaichi11/Aplikasi-Sistem-Tertanam-FishFeed

Documentation · Dokumentasi

FishFeed circuit prototyping on a breadboard
Circuit prototyping
FishFeed 3D mechanical design in Fusion 360
3D mechanical design
Assembled FishFeed device
Assembled device
FishFeed companion app and monitoring dashboard
App & monitoring dashboard
Arrhythmia classification notebook — pipeline and methodology
Notebook · pipeline & methodology

Project 03

Arrhythmia Classification

R-R Interval & QRS Duration using SVM

Here I trained a Support Vector Machine to tell normal heartbeats apart from arrhythmia, using the R-R interval and QRS duration from ECG data. I went through the whole process — exploring the data, normalising the features, building the pipeline, and checking results with a confusion matrix and classification report. It landed at 96% accuracy.

Saya melatih SVM untuk membedakan detak jantung normal dan aritmia dari R-R interval & durasi QRS pada data ECG. Prosesnya lengkap — EDA, normalisasi fitur, pipeline, hingga evaluasi. Hasilnya 96% akurasi.

  • 96% accuracy on the held-out test set
  • End-to-end ML pipeline with feature normalisation
  • EDA, confusion matrix & classification report
  • Python
  • scikit-learn
  • pandas
  • NumPy
  • matplotlib
  • Anaconda
  • SVM
Code-on-College · SVM.ipynb

Documentation · Dokumentasi

Class distribution chart from exploratory data analysis
Class distribution (EDA)
Feature scatter plot of R-R interval versus QRS duration
Feature scatter · RR vs QRS
Classification report showing 96% accuracy
Classification report · 96%
Confusion matrix for the SVM model
Confusion matrix · SVM
Buah-Seru brand identity logo
Brand & identity

Project 04

Buah-Seru

Fruit-Recognition Educational App for Children

Buah-Seru is a playful app that helps kids learn about fruit: snap a photo, and it tells you what fruit it is along with a few fun facts. Behind the scenes it uses OpenCV (GrabCut) to clean up the image, a CNN trained in TensorFlow to classify it, and TensorFlow Lite + Flutter to run it on a phone.

Buah-Seru aplikasi seru untuk mengenalkan buah ke anak-anak: foto buahnya, lalu muncul namanya plus info singkat. Ada OpenCV (GrabCut), CNN (TensorFlow), dan TensorFlow Lite + Flutter supaya jalan di HP.

  • CNN classifier deployed on-device (TF Lite)
  • OpenCV GrabCut object segmentation
  • Interactive, gamified learning experience
  • Python
  • OpenCV
  • TensorFlow
  • TF Lite
  • CNN
  • GrabCut
  • Flutter
  • Dart
github.com/khaichi11/Aplikasi-Deteksi-Buah-CNN

Documentation · Dokumentasi

Buah-Seru welcome screen with a fruit quiz
Welcome screen
Buah-Seru quiz — identify the fruit
Quiz · identify the fruit
Buah-Seru result screen with nutrition facts
Result & nutrition facts
K-Means from scratch notebook — problem framing and method
Notebook · problem framing & method

Project 05

K-Means from Scratch

Clustering for Waste Sorting · Implemented Manually

For this one I wrote K-Means clustering by hand in Python, no scikit-learn, just to really understand how it works underneath. I used pandas and NumPy for the data and the distance maths, and matplotlib to visualise the clusters and make sense of the waste-sorting patterns.

Yang ini saya tulis sendiri algoritma K-Means di Python, tanpa scikit-learn, supaya benar-benar paham cara kerjanya. pandas & NumPy untuk data dan jarak, matplotlib untuk visualisasi cluster.

  • K-Means implemented from scratch (no scikit-learn)
  • Vectorised distance computation with NumPy
  • Cluster visualisation & data-pattern analysis
  • Python
  • pandas
  • NumPy
  • matplotlib
  • Anaconda
  • From scratch
Code-on-College · K_Means_Pemilah_Sampah.ipynb

Documentation · Dokumentasi

Dataset construction code for the K-Means project
Dataset construction
Manual K-Means algorithm implementation
Manual K-Means algorithm
Clustering result for January
Clustering result · January
Clustering result for February
Clustering result · February
PANDAI app concept and identity
App concept & identity

Project 06 MVP · Working Prototype

PANDAI

Plant Identification with Artificial Intelligence

PANDAI is an Android app that helps primary-school kids get past 'plant blindness' by letting them identify plants in real time, with a bit of gamified learning to keep it fun. It's built with Flutter and Firebase, with a MobileNet model running through TensorFlow Lite, and it ties into SDG 4 and SDG 15. The core flow already works end to end — an MVP rather than a final release.

PANDAI aplikasi Android untuk membantu anak SD mengenal tanaman lewat identifikasi real-time, dengan sentuhan gamifikasi. Dibangun dengan Flutter, Firebase, dan MobileNet lewat TensorFlow Lite, selaras dengan SDG 4 & SDG 15. Alur utamanya sudah berjalan, jadi masih MVP.

  • MobileNet image classifier via TensorFlow Lite
  • Flutter app with Firebase & Supabase backend
  • Aligned with SDG 4 & SDG 15
  • Flutter
  • TensorFlow
  • Python
  • Firebase
  • Supabase
  • MobileNet
  • TF Lite
github.com/khaichi11/Mobile-APP-Plant-Detection-Mobilenet

Documentation · Dokumentasi

PANDAI home, settings and profile screens
Home & navigation
Scanning a real plant with the PANDAI camera
Scanning a plant
PANDAI real-time plant identification result
Identification result
PANDAI saved plant collection and plant detail
Collection & detail

Certifications & Training · Sertifikasi & Pelatihan

Always picking up something new.

Udemy certificate — Complete A.I. & Machine Learning, Data Science Bootcamp
Complete A.I. & Machine Learning, Data Science BootcampUdemy
Dicoding certificate — Belajar Dasar AI
Belajar Dasar AIDicoding Indonesia
Dicoding certificate — Belajar Dasar Visualisasi Data
Belajar Dasar Visualisasi DataDicoding Indonesia
Teaching Assistant certificate — Basic Programming, FILKOM UB
Teaching Assistant · Basic ProgrammingFILKOM, Universitas Brawijaya
Teaching Assistant certificate — Data Structures & Algorithms, FILKOM UB
Teaching Assistant · Data Structures & AlgorithmsFILKOM, Universitas Brawijaya

Let's connect · Mari Terhubung

Let's build something
together.

Atau tinggalkan pesan · Or leave a message

Khai's Assistant Tanya apa aja 👋
Hai! 👋 Aku asisten AI portofolio Khai. Tanya apa aja soal skill, proyek, pengalaman, atau cara menghubunginya ya.