Hello, my name is Ngo Van Tai, and I'm a 3rd year student at RMIT, majoring in Software Engineering. I am 21 years old and passionate about creating innovative software solutions.
Driven by curiosity and a hands-on mindset, I enjoy building smart, efficient solutions that bridge hardware and intelligent software. Whether it's crafting microcontroller-based projects or training machine learning models, I’m always eager to explore new technologies and turn ideas into impact.
-
PlantOS + The Garden Wars – Bare-Metal Game System
- Duration: April - May 2025
- Tech: C (bare-metal), Raspberry Pi, QEMU, UART
- Description: We built a custom operating system named PlantOS from scratch, running on Raspberry Pi with no external OS dependencies. On top of this OS, we developed The Garden Wars, a real-time arcade-style tower defense game inspired by Plants vs. Zombies. Key features include:
- A custom command-line interface with command history, auto-completion, and hardware control (
baudrate
,handshake
, etc.) - Multimedia capabilities: image rendering, custom fonts, and video playback using RGB frame extraction
- Full CLI–GUI integration with UART ACK/NAK communication
- A fixed-grid game engine handling waves of zombies, plant mechanics, and real-time keyboard inputs
- A custom command-line interface with command history, auto-completion, and hardware control (
- 🎥 Demo Video: YouTube – Watch Now
-
Guess Your Paddy: Intelligent Paddy Plant Diagnosis System
- Duration: April - May 2025
- Tech: Python, TensorFlow, Sklearn, Jupyter Notebook
- Description: A machine learning-powered solution that classifies rice plant diseases, identifies paddy varieties, and predicts crop age from image data. Trained using 10,000+ annotated images with deep CNN models (Custom Mini-VGG16, EfficientNetB0, ResNet50V2). Integrated into a user-friendly web application to help farmers in real-time diagnostics. The project was developed as part of a group for RMIT’s Machine Learning Assignment and includes EDA, model evaluation, and deployment.
- Live Demo: guessyourpaddy.site
-
NOVA – Prompt Engineering Platform
- Duration: Feb – June 2025
- Tech: NextJs, TypeScript, Supabase
- Description: Contributed as a Full-Stack Developer to the NOVA application within the Tuturuuu monorepo — a prompt engineering competition platform akin to LeetCode for AI and machine learning tasks. My key responsibilities included:
- Developing scalable frontend pages using Next.js and Shadcn UI
- Implementing RESTful APIs and optimizing backend logic for performance
- Translating the entire application to support bilingual (EN-VI) access
- Maintaining the admin dashboard for user and content management
-
- Duration: April 2025
- Tech: Python, Pandas, Seaborn, Sklearn, Jupyter Notebook
- Description: In this project, I analyzed global life expectancy data (2002-2017) using machine learning techniques. After comprehensive data preprocessing, including outlier treatment and feature selection, I implemented and compared 9 regression models, with Random Forest achieving the best performance (R² of 0.9014).
-
Cashew Carbon Credits Platform
- Duration: Jan 2025
- Tech: ReactJs, Wagmi
- Description: As part of our solution for the 24-hour RMIT Hack-A-Venture 2024 hackathon, we developed a blockchain-based platform that empowers cashew farmers to earn income by selling carbon credits. The platform features farmer registration, carbon credit tracking, buyer offset purchases, and secure, verified transactions. Our innovative solution was recognized as the Champion of RMIT Hack-A-Venture 2024 for its impact and sustainability focus.
-
- Duration: Dec 2024
- Tech: C, NUC140 Microcontroller, FSM Design
- Description: Built a digital stopwatch system on the NUC140 microcontroller with features like alarm setting, lap time recording, and precise time tracking. The project includes multiple modes (Idle, Alarm Set, Count, Pause, Check), modular FSM-based code, and accurate 1/10-second timing using Timer0 interrupts. A video demo and documentation provide an overview of the design, functionality, and implementation.
-
- Duration: Nov 2024
- Tech: C++, Arduino Uno, L298N, Dabble App
- Description: Designed and implemented a Bluetooth-controlled car using an Arduino board, the Dabble app, and an L298N motor driver. The car supports directional control (forward, backward, left, and right) through a gamepad interface and includes speed adjustment to correct motor drift. Integrated modular, easy-to-adapt code to enhance user experience and control precision. Demonstrated the project's functionality via a video demo and provided a comprehensive guide with hardware and software resources.
-
- Duration: Sep 2024
- Tech: Python, Pandas, Seaborn, Sklearn, Jupyter Notebook
- Description: Developed an AI-driven model for predicting car prices using a dataset of 19,000+ cars. Implemented comprehensive data preprocessing, feature engineering, and outlier removal. Tested multiple machine learning algorithms, with XGBoost yielding the best performance, achieving improved predictive accuracy.
-
- Duration: September 2024 - Now
- Description: This my individual project serves as a comprehensive collection of detailed writeups from various Capture the Flag (CTF) competitions I've participated in. It showcases my problem-solving approach and accumulated knowledge in cybersecurity, covering diverse challenges across different domains. This repository is a reflection of my continuous learning and dedication to cybersecurity, designed to both document my progress and share insights with the broader infosec community.
-
- Duration: September 2024
- Tech: MERN Stack (MongoDB, Express, React, Node.js)
- Description: This is my group assignment for the course COSC2769 - Full Stack Development. BuZzNet is the social media website application that helps people connect together.
-
Arduino Project
- Duration: May 2024
- Tech: Arduino Uno, C
- Description: For our group assignment in the course EEET2505 - Introduction to Embedded Systems, we developed a system that transmits our first name in Morse code messages by detecting button presses. Using an Arduino Uno and various electrical components, we successfully implemented a method for Morse code transmission.
- Video Demo: video