UQ Social Timetable

Mobile App
  • Developed a mobile application for students to view their own timetable alongside their friends' timetables.
  • Published on the App Store and Google Play Store, reaching over 8000 users with 500 daily active users.
  • Designed a user-friendly interface to display timetable information and allow students to manage their schedule. Initially written in Swift and later translated to Flutter for cross-platform compatibility.
  • Leveraged Firebase's NoSQL cloud database to implement social networking features, enabling users to send, accept, and decline friend requests.
  • Enabled real-time messaging and timetable sharing by utilizing Firebase's cloud database.
  • Integrated OneSignal for push notifications for group chat messages and friend requests.

Maze Generation and Pathfinding Visualiser

Web App
  • Developed a web application to visualise maze generation and pathfinding algorithms.
  • Implemented maze generation algorithms such as Recursive Backtracking, Recursive Division, Prim's Algorithm, and Kruskal's Algorithm.
  • Implemented pathfinding algorithms such as Greedy-Best-First Search, A* Search, Breadth First Search, and Depth First Search.
  • Designed a user-friendly interface to allow users to select the size of the maze, the algorithm for maze generation, and the algorithm for pathfinding.
  • Utilized React and canvas graphics with p5.js to create the application.
React
JavaScript
GitHub
Web App

Neural Network Visualiser

Desktop App
  • Built from scratch in C++ - complete neural network with custom matrix operations, backpropagation, and gradient descent (no ML libraries)
  • Solves the legendary XOR problem that stumped early AI researchers, demonstrating non-linear pattern learning through hidden layers
  • Real-time SDL2 visualisation shows decision boundaries evolving as the network trains, making AI learning visually intuitive
  • Features three classic machine learning problems: XOR logic gates, circle boundary classification, and spiral separation with configurable network architectures
  • Live training metrics display current epoch count, error rates, and learning improvement to track neural network convergence in real-time

Sorting Algorithm Visualiser

Desktop App
  • Developed a desktop application to visualise sorting algorithms.
  • Implemented sorting algorithms such as Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, and Heap Sort.
  • Designed a user-friendly interface allowing users to select the size of the array, the sorting algorithm, and the speed of the visualisation.
  • Utilized Java Swing to build the application.

Snake Game

Desktop App
  • A simple window-based Snake game implemented in C using the SDL library.
  • The game features a snake that moves around the screen, eating food to grow.
  • The game ends when the snake collides with the walls or itself.
  • Written in C using the SDL library for graphics.