My name is Barnaby, I'm (currentYear-2004) years old and I like writing HTML more than
most people.
Skills
HTML, CSS & JS (2014-Present) I've been using HTML, CSS & JS since I was 10, but I wouldn't say I truly got 'good' at it until I
was about 16 or 17. In the years since then, I've been involved in multiple projects that have made
good use of the skill, such as TFORevive as well as my Harmony
projects.
TypeScript (2021-Present) When it's an available choice over JavaScript, I will always use TypeScript. It's far more
readable and strongly typed languages are almost universally easier to debug. My skill when it comes
to TypeScript development is equal to the level of my skill in JavaScript as I have spent a large
amount of time since 2021 learning the ins and outs of the TypeScript ecosystem.
I like to pride myself in my attention to reducing unnecessary use of
node_modules.
Vue & Nuxt (2022-Present) Vue is one of my favourite tools to use in reactive web content. In some cases I use Nuxt, but not
when it isn't necessary. I have a comprehensive understanding of both the Options API and
Composition API, as well as experience developing with Vue Router.
Java (2022-Present) Despite there being several reasons for the choice of Java, I don't use it very often. The main
exception is that, due to the constraints of development for a standalone
application for VR, it was the ideal choice when developing PicoZen.
C++ (2022-Present) I have an understanding of the basics of C++ development thanks to the requirement for native
development and low-level hooking in TFORevive.
Rust (2023-Present) Borrow checker :c I'm new to Rust but have contributed a small amount to ALVR.
Personal projects (2022 - Present)
My personal projects have been made both with care and simplicity in mind. I try to give a bit of
personality to everything I make, including the stuff that's informative and about me.
I like to use these projects as an experiment of my abilities, to see how much I can make with as little
code as possible.
This portfolio works both with and without
JavaScript, although you get a better experience with it enabled.
You're currently experiencing this page WITHOUT JavaScript.
PicoZen is an alternative (and I have to tell people it's unofficial) library and utility app for PICO XR
(and Quest). I designed it to look and feel like it came stock with the PICO OS.
PicoZen runs on any Android-based VR headset and shows all the apps installed on the user's headset,
including ones that are hidden in the default file manager. It also has tools for sideloading custom apps
and backing up saves.
Stats
Lifetime downloads (8 May 2023 - 20 Aug 2023): 2,786
Monthly proxied FTP bandwidth (21 Jul 2023 - 20 Aug 2023): 426GB
Weekly backend requests (13 Aug 2023 - 20 Aug 2023): 368.53k
Proxied FTP doesn't account for all bandwidth transferred through PicoZen as unproxied FTP
and SMB are supported in the app (but not the website).
PicoZen Website
The PicoZen website was made to emulate the style of the app as closely as possible while also maintaining a
responsive design.
To make PicoZen's sideloading capabilities more accessible, I created a web-based analogue for this feature
which leverages the FTP to HTTP proxy I created for the
app.
Titanfall Online was a cancelled free to play first person shooter game based on Titanfall 1 and developed
for the Korean/Asian market. Its development begun in 2016 and suddenly ceased in 2018, after seeing a few
beta
test periods in South Korea.
The TFORevive project was founded to restore the playability of that game, in order to let people just play
it and enjoy it, and in order to explore and expand the modding capabilities to something never seen before
in the Titanfall series.
TFORevive Game UI
Titanfall Online originally used the Coherent UIGT library for it's UI. As part of the TFORevive project, we
removed UIGT and replaced it with Ultralight.
With this change, I was tasked with creating a brand new UI to replace the outdated, half-functional UI. We
decided upon using Vue to create the required UI elements in an extensible single-page HTML view.
One notable aspect of the UI is the loadout screens, which are dynamically populated with data from the
game engine and call native functions to manage the real-time player preview.
Many components of the UI redesign required programming not only in HTML, but also C++ and
Squirrel as well as the use of a disassembler to aid in
reverse-engineering and hooking compiled code from the game engine.
TFORevive Website
The TFORevive website is stylised to mirror the design of the in-game UI, with clear parallels to the game
UI as well as the launcher but changes made to better suit the web environment.
TFORevive Launcher
I made the TFORevive launcher to be both easily navigable and visually stunning, as to catch the player's
attention before they even open the game and to ease them into the game's interface design.
As shown in the images above, users can customise multiple aspects of both the launcher's appearance and the
game's function from within the launcher.
As an example, the mod menu allows toggling any installed mod as well as viewing each mod's details in a
easily digestible format.
TFORevive Installer
One of the main goals of TFORevive is to preserve the legacy of Titanfall (2014). To do this we needed to
ensure that the content of the game could be preserved along with its gameplay. For this task I created the
TFORevive Installer using the Electron framework.
Using my prior work on Harmony VPK Tool, having fully reversed-engineered the game's
archive format, I was able to implement my existing code to extract files from an install of Titanfall
and package them into mods for TFORevive to ensure that the game and all its content remains playable.
To enable easier modding of games from the Titanfall series (which use the 'Respawn Source' engine), I
developed a TypeScript library for manipulating Respawn's undocumented fork of the
VPK Archive format
The library that powers Harmony VPK Tool is called
TFVPKTool and it supports extracting from, patching
existing and creating new VPK files compatible with Titanfall.
Miscellaneous (2020 - Present)
Northstar
After the surprise release of the Northstar mod for Titanfall 2 in 2021 I helped secure the 'masterserver'
and the mod client against multiple security exploits, helping to prevent abuse of the server listing
feature and enforcing player usernames, and improved server-side
functionality to ensure ease of use for both players and server hosters.
I also created the homepage for Northstar, which has since had additional
parts added by other open-source
contributors. The main landing view remains almost entirely as it was on the day I first created it.
Discord Bots
Since 2018, I've created many Discord bots (successful or not).
In 2023 I created \\schizo, a simple bot with few in-depth
features and a fully modular design.
The project was a way to explore a different kind of design than I'm used to, with a more vibrant and
emphasised look.
The website shows off this unique style, the likes of which I rarely find an opportunity to express.
In 2020 I helped create the fully
customisable Wahtson and made a custom
Wiki for the bot's configuration.
Commissions (2022 - Present)
I have completed multiple commissions and projects to unanimous satisfaction.
I refuse to settle at "okay".