I'm a full-stack developer specialising in NodeJS and web technologies, such as React, TypeScript, Vue, Svelte, Electron, and more!
I'm currently based in Melbourne, Australia, and have been in the field for over three years, refining my craft and continuing to explore my passion of software development.
I originally started programming as a hobby back in early high school, where I started learning and writing Java plugins for Minecraft. Afterwards, I quickly fell in love with the domain of web development and design, and have spent a number of years since learning and exploring this vast domain.
Since 2019, I've worked under Leidos Australia, serving as a full-stack developer across multiple projects, learning and refining my skills in an enterprise capacity to deliver stable, quality software products.
An integrated development environment for creating mods for Telltale games, such as The Walking Dead. Supports Lua scripts with the Monaco editor built in, with a file tree for custom filesystem interactions. Made using Electron, TypeScript, and React, with an emphasis on performance and ease of use.
An experiment in learning Redux and state management of a complex and evolving board state, this Game of Life clone is built using React, TypeScript, Redux, and TailwindCSS, and works across all sizes of viewports.
A little experiment in drawing arbitrary trigonometric functions using standard HTML canvas APIs. This makes use of standard HTML, CSS and JavaScript and only uses the standard canvas API.
A recreation of the traditional Snake game using pure JavaScript and the native HTML canvas API. This utilises a reactive data driven architecture, inspired by the Elm architecture where views are derived from global state.
A TypeScript library to allow typesafe access to localstorage using schema validation from Zod. This was created as a solution to recurring bugs caused by unsafe access to LocalStorage in JavaScript, now enforcing schema validation checks on all LocalStorage accesses.
A TypeScript library to provide an RPC-style interface to WebSocket servers. This was created as an experiment after learning about Java's RMI protocol, and whether a similar solution could exist in NodeJS with typesafety given by TypeScript.