Real-time IoT monitoring dashboards
MiTAC, Taipei, 2023 · Commercial work, no public repository
Java, Spring Boot, MyBatis, MariaDB, React, Node.js, AngularJS
Production work at MiTAC. Real-time monitoring dashboards and form systems in Java Spring Boot, MyBatis and MariaDB, plus a bridge-monitoring dashboard in React and Node.js taken from initial design through data-driven functionality. I refactored the surrounding AngularJS codebase, removing 12,000 lines of dead and duplicated code and adding dynamic machine updates, so the next person could read it.
National Credential Sharing System
ANU COMP6442, group assignment
Java, Android, Firebase, Firestore, JUnit, Espresso
Cross-state credential-sharing Android application. MVVM architecture with LiveData and ViewModels; Firestore for authentication, session management and real-time data streaming; State and Factory patterns for multi-step credential workflows; a RecyclerView interface with Material components. JUnit and Espresso tests cover session management, credential logic and interface flows, packaged as a CI-driven Android build.
Copenhagen Roll & Write
ANU COMP6710 · Watch the demo
Java, JavaFX, JUnit
Java and JavaFX implementation of a tile-placement board game. I wrote the backend game logic: core classes for players, dice, facade and placement rules, enforcing tile-selection constraints exactly as the rulebook states, and connected game state to a JavaFX interface. JUnit tests cover tile legality and scoring. Packaged as a runnable JAR with a CI-driven build.
SpaceX Falcon 9 first-stage landing prediction
IBM Data Science capstone
Python, pandas, NumPy, scikit-learn, Plotly Dash, Folium, SQL
End-to-end data science pipeline predicting booster landing outcomes. Data collection from the SpaceX API and web scraping; wrangling with NumPy and pandas; exploratory analysis with matplotlib, seaborn and SQL; interactive analytics built with Plotly Dash and Folium; a scikit-learn classification pipeline predicting first-stage landing success.
IdentiTea
TibaMe AI course, Taiwan, seven-person team · Watch the demo
Course capstone for a bubble-tea retailer. I managed its relational MySQL database, 10 tables and over 100,000 rows of data.