Projects
This page displays many other projects or other works I have created that are worth displaying.
This includes development on programs and academic writing I have created during my time at university, alongside personal projects.
Textalogue
![Textalogue](./images/textalogue_v3.png)
- Platform: Unity
- Status: [In Development]
Textalogue is a tool currently in development for the Unity game engine used to create dynamic textboxes and dialogue systems. Using a visually-intuitive node system, no code skills are required to add and modify dialogue quickly and easily.
Textalogue's features include:
- node-based UI functionality for easier visualisation
- dialogue choices leading to separate dialogue paths
- dialogue "warps" allowing for repeated sections or continuous conversation
- custom text color and scroll speed, alongside the ability to mark text as unskippable
- fully-customisable drag-and-drop textbox prefab working inside Unity's Canvas element
- support for setting variables to custom values in-editor and through code to track previous decisions
- event systems, allowing use of Unity Events mid-dialogue (Textalogue can also wait for an event to complete before continuing)
- planned export/import of mapped dialogue to and from a CSV file to assist in localisation
Portfolio Website
Drag the left side to test the adaptive design!
![Portfolio website](./images/portfolio_site_static.jpg)
Load this page in a modern desktop-based browser for an interactive demo!
(yes, the one you're on right now!)
This website features:
- minimal JavaScript
- no HTML templates (built from scratch!)
- no CSS templates!
- adaptive design (try it: drag the left side of the frame!) (works on any size of browser, including mobile devices)
- compatibility (most content works back to Internet Explorer 9, representing about 99% of browser usage)
- accessibility (compliant with the 2021 W3 Web Content Accessibility Guidelines)
![TimeFrame Logo](images/timeframe/timeframe_logo.png)
![TimeFrame's 'Weekly' Display](./images/timeframe/timeframe_weekly.png)
Finalist in The University of Adelaide's Tech eChallenge 2021
TimeFrame is a product concept pitched to industry professionals as part of the 2021 Tech eChallenge. It is designed to function as an automatic scheduling application primarily to help students get schedules they can follow. TimeFrame auto-assigns schedules based on very little user input, using machine learning to discover and refine personalised schedules.
Stack Overflow Post Improver
Topics in Computer Science 2020 at The University of Adelaide
The scope of software documentation resources includes both official resources like API documentation and crowd-sourced websites such as Stack Overflow.
Threads on Stack Overflow contribute greatly to documentation but are of varying quality. Posts on Stack Overflow are publicly editable,
with users optionally providing descriptive edit messages.
These edits are categorised in the paper "An Annotated Dataset of Stack Overflow Post Edits".
To improve them, this project develops and evaluates a prototype model to improve basic post readability using the results from this dataset.
This was achieved primarily through use of natural language processing and machine learning, alongside trivial readability improvements.
The resulting program can fix trivial issues such as sentence casing and formatting, and also warns users when often-redundant information
is added to posts or documentation.
H5P: Code Editor
![H5P Code Editor](./images/code_editor_final.png)
Advanced Topics in Computer Science 2021 at The University of Adelaide
H5P is an open-source online content project run by community members.
Using HTML5 content amongst JavaScript and CSS, H5P provides interactive web content
through an easy-to-use plugin that can be directly integrated into other web pages.
While H5P has many different functions and elements, no code editor exists.
This project investigates a means to create such an editor through the H5P platform,
including research on existing JavaScript-based editors, accessibility,
and compliance to H5P's standards and the W3C Web Content Accessibility Guidelines.