Portfolio

Khairuramdhani

AI/ML Engineer, Mobile Developer & Mechanical Designer

Computer Vision · Embedded Systems (C++) · Mobile (Flutter) · Mechanical & 3D Design

Universitas Brawijaya Computer Engineering · Teknik Komputer
Universitas BrawijayaTeknik Komputer ID
Portrait of Khairuramdhani
Khairuramdhani AI/ML · Mobile · Mechanical & 3D Design

About me · Tentang Saya

Turning ideas into working software, hardware, and designs.

I am a Computer Engineering student at Universitas Brawijaya with an interest in building software and hardware, and seeing each project through to something people can actually use. Most of my projects follow a complete development path, from preparing data and training a model to designing physical components and deploying everything on a real device. I work primarily in Python and C++, develop mobile applications with Flutter, and focus mainly on Computer Vision as well as mechanical and 3D design, while remaining comfortable with machine learning, data, and IoT. I enjoy learning new tools and adapting quickly to new challenges.

Saya mahasiswa Teknik Komputer Universitas Brawijaya yang tertarik membangun perangkat lunak maupun perangkat keras hingga benar-benar dapat digunakan. Sebagian besar proyek saya dikerjakan secara menyeluruh, mulai dari menyiapkan data dan melatih model hingga mendesain komponen fisik dan menerapkannya pada perangkat nyata. Saya terbiasa menggunakan Python dan C++, mengembangkan aplikasi mobile dengan Flutter, dan berfokus pada Computer Vision serta desain mekanik dan 3D, sambil tetap nyaman bekerja dengan machine learning, data, maupun IoT.

Khairuramdhani taking a photo with a Canon mirrorless camera
Behind the lens

Outside of academic and technical work, I have an interest in photography. I previously served on the documentation committee for Robin and am often the one responsible for capturing photos at organisational events. Di luar kegiatan akademik dan teknis, saya memiliki minat pada fotografi. Saya pernah bertugas sebagai panitia dokumentasi pada acara Robin dan kerap menjadi orang yang mengambil dokumentasi foto pada kegiatan organisasi.

0 End-to-end projects Proyek end-to-end
0 Core stacks · AI · C++ · Flutter · CAD 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

Mechanical Design & CAD Desain Mekanik & CAD

  • Autodesk Fusion 360
  • 3D Design
  • Sheet Metal Design
  • CAD
  • Technical Drawing

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 – Jun 2026

    AI Engineer Intern AITF

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

    A selective AI engineering internship under a national program, conducted as 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
    Khairuramdhani at the AITF Demo Day & Graduation, holding his team's project
    Demo Day & Graduation · AITF 2026
  2. Even Sem. 2024/2025

    Teaching Assistant — Data Structures & Algorithms

    Faculty of Computer Science, Universitas Brawijaya

    Guided students through data structures and algorithms during laboratory sessions using C++, and reviewed their practical assignments.

  3. Odd Sem. 2024/2025

    Teaching Assistant — Basic Programming

    Faculty of Computer Science, Universitas Brawijaya

    Assisted first-year students in developing a solid foundation in programming through laboratory sessions and constructive feedback on their work.

Selected projects

Projects

Proyek pilihan · AI, Computer Vision, Embedded & Mobile

Tempat Servo Besar 2 — servo mount technical drawing, orthographic views and isometric render
Tempat Servo Besar 2 · servo mount drawing

Project 01

Robotiik Chassis

Sheet-Metal Mechanical Design · Autodesk Fusion 360

As Mechanical PIC for Robotiik, I contributed to the chassis design of the team's legged robot in Autodesk Fusion 360, using Robotis' original design as a reference and adapting several components to accommodate our servo and onboard-computer dimensions. Each part was designed as sheet metal, complete with bend tables and flat patterns generated directly from Fusion 360 to support fabrication.

Sebagai PIC Mekanik di Robotiik, saya berkontribusi pada desain chassis robot berkaki tim menggunakan Autodesk Fusion 360, dengan mengacu pada desain Robotis sebagai basis dan menyesuaikan beberapa komponen untuk dimensi servo serta komputer onboard yang digunakan. Setiap part didesain sebagai sheet metal, lengkap dengan bend table dan flat pattern yang dihasilkan langsung dari Fusion 360 untuk mendukung proses fabrikasi.

  • Adapted Robotis' chassis design in Fusion 360 for new servo & onboard-computer dimensions
  • Bend tables & flat patterns generated for fabrication
  • Full technical drawing set: orthographic views, isometric & dimensions
  • Autodesk Fusion 360
  • Sheet Metal
  • CAD
  • Mechanical Design
  • Technical Drawing

Documentation · Dokumentasi

Tempat Servo Besar 3 — servo mount technical drawing
Tempat Servo Besar 3
Tempat Servo Besar 4 — servo mount technical drawing
Tempat Servo Besar 4
Tempat Servo Besar Bawah — lower servo mount technical drawing
Servo Besar Bawah
CERDAS app detecting head orientation in real time on a phone
Real-time orientation detection on-device

Project 02

CERDAS

Cheating Examination Recognition & Detection · YOLO-based

CERDAS is designed to detect indications of cheating during examinations in real time by analysing head orientation and gaze direction. I developed the project end to end, encompassing dataset collection and labelling, YOLO model training, and deployment on an Android device using TensorFlow Lite and Flutter. The system runs at approximately 9 FPS and displays a confidence score for each prediction.

CERDAS dirancang untuk mendeteksi indikasi perilaku mencontek saat ujian secara real-time dengan menganalisis arah kepala dan pandangan mata. Saya mengembangkan proyek ini secara menyeluruh, mencakup pengumpulan dan pelabelan data, pelatihan model YOLO, hingga penerapannya pada perangkat Android menggunakan TensorFlow Lite dan Flutter. Sistem ini berjalan pada kisaran 9 FPS dengan skor keyakinan untuk setiap prediksi.

  • 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 03

FishFeed

Automatic Fish-Feeding System · Embedded & IoT

FishFeed is an automatic fish-feeding system developed around an ESP32 microcontroller. The firmware is written in C++ using the Arduino framework and employs FreeRTOS for task scheduling, supported by ultrasonic and turbidity sensors along with an RTC module for timing. A companion Flutter application communicates with the device via Firebase, allowing users to monitor water and feed conditions and configure feeding schedules remotely.

FishFeed merupakan sistem pemberi pakan ikan otomatis yang dikembangkan menggunakan mikrokontroler ESP32. Firmware ditulis dalam C++ dengan framework Arduino dan memanfaatkan FreeRTOS untuk penjadwalan tugas, didukung sensor ultrasonik dan turbidity serta modul RTC untuk pewaktuan. Aplikasi Flutter yang menyertainya terhubung dengan perangkat melalui Firebase, sehingga pengguna dapat memantau kondisi air dan pakan serta mengatur jadwal pemberian pakan dari jarak jauh.

  • 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 04

Arrhythmia Classification

R-R Interval & QRS Duration using SVM

In this project, I trained a Support Vector Machine to distinguish normal heartbeats from arrhythmia using the R-R interval and QRS duration derived from ECG data. The work covered the complete process, including exploratory data analysis, feature normalisation, pipeline construction, and evaluation through a confusion matrix and classification report, achieving 96% accuracy.

Pada proyek ini, saya melatih model SVM untuk membedakan detak jantung normal dan aritmia berdasarkan R-R interval dan durasi QRS dari data ECG. Proses yang dilakukan mencakup eksplorasi data, normalisasi fitur, penyusunan pipeline, hingga evaluasi menggunakan confusion matrix dan classification report, dengan hasil akurasi sebesar 96%.

  • 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 05

Buah-Seru

Fruit-Recognition Educational App for Children

Buah-Seru is an educational application designed to help children learn about fruit. Users capture a photo of a fruit, and the application identifies it along with several relevant facts. The application uses OpenCV (GrabCut) for image processing, a CNN trained in TensorFlow for classification, and TensorFlow Lite with Flutter for on-device deployment.

Buah-Seru merupakan aplikasi edukasi yang dirancang untuk membantu anak-anak mengenal buah. Pengguna mengambil foto sebuah buah, dan aplikasi akan mengidentifikasi jenisnya beserta beberapa informasi terkait. Aplikasi ini menggunakan OpenCV (GrabCut) untuk pemrosesan gambar, CNN yang dilatih dengan TensorFlow untuk klasifikasi, serta TensorFlow Lite dan Flutter untuk penerapan pada perangkat.

  • 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 06

K-Means from Scratch

Clustering for Waste Sorting · Implemented Manually

In this project, I implemented the K-Means clustering algorithm manually in Python, without using scikit-learn, to gain a deeper understanding of its underlying mechanics. pandas and NumPy were used for data handling and distance computation, while matplotlib was used to visualise the resulting clusters and interpret the waste-sorting patterns.

Pada proyek ini, saya mengimplementasikan algoritma K-Means secara manual menggunakan Python tanpa scikit-learn, untuk memahami mekanisme kerjanya secara lebih mendalam. pandas dan NumPy digunakan untuk pengolahan data dan perhitungan jarak, sementara matplotlib digunakan untuk memvisualisasikan hasil cluster dan menginterpretasikan pola pemilahan sampah.

  • 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 07 MVP · Working Prototype

PANDAI

Plant Identification with Artificial Intelligence

PANDAI is an Android application designed to help primary-school students overcome 'plant blindness' by enabling real-time plant identification, supported by gamified learning elements. The application is built with Flutter and Firebase, incorporating a MobileNet model deployed through TensorFlow Lite, and is aligned with SDG 4 and SDG 15. The core functionality is fully operational, representing an MVP rather than a final release.

PANDAI merupakan aplikasi Android yang dirancang untuk membantu siswa sekolah dasar mengatasi 'plant blindness' melalui identifikasi tanaman secara real-time, didukung elemen pembelajaran bergamifikasi. Aplikasi ini dibangun menggunakan Flutter dan Firebase, dengan model MobileNet yang diterapkan melalui TensorFlow Lite, serta selaras dengan SDG 4 dan SDG 15. Alur utamanya telah berfungsi sepenuhnya, sehingga aplikasi ini berstatus MVP dan belum menjadi rilis akhir.

  • 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 Silakan ajukan pertanyaan Anda
Selamat datang. Saya asisten AI portofolio Khai dan dapat membantu menjawab pertanyaan seputar keahlian, proyek, pengalaman, atau cara menghubunginya.