Working the team at Augmented Haptics, I've been brought on board to assist with the development of the Unity application that handles content creation and presentations.
I've been working on back-end systems like an undo/redo system, client licensing and continuous integration/deployment.
My final year project was for Augmented Haptics' STEM education tool. This was developed over the course of two semesters in 2020, with around 200 hours logged for my own contributions. The client's education tool is comparable to "bendy LEGO", and clips into a large board.
To detect the parts and components on the board, we developed a backend detection system using Computer Vision techniques and the Mask-RCNN AI. This was developed in the Python language with major use of modules like TensorFlow and OpenCV. The project was mostly research-oriented in the first semester. I looked into techniques and technologies like YOLO object detection, contouring and bounding box thresholding to determine the location and connection of board parts.
In the second semester I handled more project-management tasks, so that we could turn our sparse python scripts into an executable program. This included converting the different models' output into a JSON format at runtime, writing and managing the program's structure, setting up the continuous integration testing framework, managing the Trello board and GitHub pull requests.
The final prototype worked end-to-end, the client was quite satisfied and we were very proud of it.
In December 2018, I began working at OrderMate POS in Port Melbourne as part of my University's Placement program. This was a full-time internship, running for the duration of a year.
I was able to work on many facets of the interconnected systems they have, deepening my knowledge of concurrency, design patterns and webservices. The techonoligies used included Enterprise Java, AWS, REST Webservices and GUI frameworks like Spring and Vaadin. I slotted in as another developer after learning the large code base and worked various bug fixes and new features for the POS system and online management tools.
The project I spearheaded was an internal tool for monitoring the status of the many sites that used the OrderMate system. This "Health Report" notifies the support team when a site is registered as having a critical error, allowing a pre-emptive fix or quick diagnosis. While developing I had to gather useful statistics from the support team, and write modules that could diagnose these problems. Each terminal will update it's status every minute via an Apache ActiveMQ connection, displayed on a page in a Vaadin application.
I made this website to show off my work in a stylish way, but also in an easy-to-update way. Although, I accidentally made a blogging framework using PHP and MySQL.
All of the content you see on the website is dynamically loaded and injected from a server-side database. I've written some PHP code to grab the data and display it in different tabs based on it's category in the database. Cards are also sorted by date, which makes it really easy for me to update and add new content as I create it. The content is wrapped in a card built off of components from Bootstrap, with extra styling help from Sassy CSS.
Fun features of the website include: total mobile/desktop compatibility, modal dialogs, a contact form, dropdown content browsing.
Working with the client's styling requirements meant a lot of communication back and forth to match their desired colour palette, layout and flow.