Julia’s Portfolio

Welcome to my Portfolio, click the buttons below to learn more about one of my projects! For buisness enquiries email juliaholmes2727@gmail.com

Interesting Algorithms


VR Hand Tracking System

Development Timeline: 01/11/2024 – 01/05/2025

Using OpenVRs open source codebase as well as Googles Mediapipe framework I developed a hand tracking system for VR that uses only cameras. I think that this technology has a lot of potential for the future of VR, as it allows for more versatile tracking especially with hands. If done well it has usually expensive additions like full body tracking built in.

Why did I develop this?

This was a university project and was my dissertation for my final year, I chose this project as VR is an incredibly fascinating technology that interests me a great deal. I consider VR to be the most immersive widely accesible technology that has ever existed. VR gives depth(literally) and potential to our created worlds, it can show immersive capabilities that far surpass 2D screens, to see a tall building in VR is to truly experience its immensity in a way that is very difficult to replicate at the movies.

The Future of XR

 believe XR technologies are going to shape how we consume media and interact with our fellow person in new ways in the coming decade, it will allow for international communication that is not only instant but includes all of the mannerism and personality that is lost through modern communication types like text and videochat. VR allows for a person to be their true self, even if their true self is not a human!

Technical Information

This project can be found here. It was programmed mostly in C++ but it also made use of Python. Mediapipe(used for tracking) was run through Python, the data retrieved was sent via local TCP networking and received by OpenVRs virtual Driver. Here’s a diagram of the data flow, this project was designed to run in real time:

Themepark Game

Development Timeline: 01/05/2025 – Present

Themepark game is a long term creative project that is currently on hiatus. It is a VR game in the Mystlike genre, your goal in the game is to uncover the mysteries of Qualia valley. The game’s style is inspired by Aimkid an artist on Youtube and Twitter ( Aimkids Channel ). In the game you play as a resident of the village nestled in Qualia Valley when your best friend tells you about the upcoming festival in 30 days! As you’re walking through your village you spot a strange object making unusual sounds… in this game you’ll find that this valley is not as simple as it might first appear!

Mystlike

Mystlike is a genre of game that focuses on player driven non-linear storytelling. The genre operates by placing the player in a sandbox and allowing the world itself to drive them to seek answers. A core feature of the genre is knowledge itself being the primary key to accessing new areas of the world and uncovering the games story. As an example there might be a complicated path to reach a destination but the only way to know the path is through a note that tells you the way. The player is never simply given a key or an item that recontextualises the world but rather knowledge itself is what does this. There are a few existing games in this genre such as Myst(where the genre gets its namesake) and Outer Wilds which is my favourite game!

Another important aspect of a Mystlike is that the story order itself is driven by the player and no two people playing will have an identical experience. It invites the player to come back to an unsolved mystery at a later date if they can’t figure it out initially and it creates particularly satisfying moments where the player figures out a game mechanic! One downside of the genre is its lack of replayability. Once the core game is known there is nothing left to do within it except sightseeing, however there are ways to reduce this by adding small mini-games to the world, especially if placed in locations that require knowledge of the games mechanics.

Game Jams

Development Timeline: 01/07/2021 – Present

Game Jams are a short form software development project that brings together teams of game developers of all types that often don’t know each other to try and create a game! They are great fun and an effective way to build teamwork skills. Game jams are for technically skilled and non-technically skilled people alike, often they are the breeding ground of early developers and artists. Game jams present a great environment to get to know how to communicate with people of different skill specialisations such as musicians, 2d artists, 3d artists and sound designers!

Game Jams I’ve been a part of!

In the past I’ve engaged in a few game jams in the past.

  • Gorgons. I worked as the lead programmer alongside a texture artist and a music and SFX artist. I played a leadership role in this group including teaching both other members how to do version control with their created assets using GIT.
  • Golfgame. I worked with my best friend in Autumn Jam to re-create a place and a feeling from my early childhood, this was my first real time using Blender to create 3D assets and it was a valuable learning experience in optimising large maps.

Percolation

Development Timeline: 02/06/2025 – 17/06/2025

Percolation is generally described as the filtration of liquid through porous material. The algorithms designed to simulate this process create some really pretty results! Having took some inspiration from an informative video that can be found here I decided to make it for myself. Percolation (especially at the critical p-value)comes up alot in my projects as I believe the pattern indicates certain fascinating properties about the world around us.

Self Similarity

The most interesting aspect of percolation is self similiarity, this is general self similarity stemming from the random nature of the algorithm. In my implementation at each given point four directions around are queried for a random number between 0 and 1 and if the value goes above 0.5 then the connection is made and the two points become part of the same region, these regions have no average size, meaning they are just as likely to be a single point large as spanning the entire domain generated. The result is very fascinating, here is a grayscale version of this algorithm.

The brightness of the region is determined by its size

Why do I like percolation

The self similiar nature of percolation invokes natural ways in which our universe is organised, patterns from randomness and beauty from chaos. Percolation invokes the sizes of objects in rooms and the distribution of trees on a hill. When I found this pattern I felt some concept in my mind expressed, I am going to be adding this to future projects and have already added it to the frontpage of my website.

ML From Scratch

Development Timeline: 24/09/2025 – 02/10/2025

This project was developed in C# in the Godot game engine, it implements a simple feedforward neural network with a small number of hidden layers. The network is trained using gradient descent and the training data is generated using known functions. The example seen here is learning to match a circle using generated training data based on the equation of a circle seen on the right

This network is using the sigmoid activation function and mean squared error loss function

Inspiration

I have used machine learning libraries like Tensorflow and PyTorch before but I have never really understood how they work under the hood. I wanted to learn how neural networks work from the ground up, I wanted to understand how the algorithms work and what is happening when you train a network. I also wanted to learn about the mathematics behind neural networks, I have a good understanding of calculus and linear algebra which came in handy when implementing backpropagation and gradient descent.

Link

This project can be found here. Simply clone the repository and open it in the Mono Godot editor version 4.0 or higher(make sure its mono).

Personal Website

Development Timeline: 01/01/2025 – Present

You’re on it! This website has been built by me using a variety of technologies. It is self hosted and runs on a home server, it uses a LAMP Stack (Linux, Apache, MySQL(in my case MariaDB) and PHP) and utilises WordPress as a page manager to make website edits easier. The server itself is a Raspberry Pi 4 and so this website can handle roughly 30 concurrent users!

Why did I make this?

A personal website is a way to communicate my interests and goals and the things that I have done in the past, I see this project as a way of displaying who I am with no restrictions. I always found social media limiting and don’t engage with it as much as many people as the structure of any given post is within certain restricted bounds. On a personal website anything can be displayed! Any idea that I want to be put on here can be with enough ingenuity. This wesbite is non static and has javascript and PHP meaning even interactive games can be displayed on a page! I find this level of creative control to be ideal for me and as such have wanted a personal website for quite some time as I desire to share all of these things with the world.

Previous pages

I have in the past created similiar pages using online services, this iteration of my personal website was officially created on 16/07/2026 when I purchased the domain womslibek.com but this project has been a long time in the making! I previously used a website called neocities.org which hosts static pages and could be used for free. This website originally looked like this:

Developing for this website was a very informative experience! The pages were static and so I had to learn how to create complex features like animations without using Javascript. This gave me insight into how powerful CSS can be, I feel its capabilities are often overlooked and that alot of modern developers will take the route of using Javascript where it is not always neccesary. Here is an example of some of that animation!









As for why I moved away from neocites is precisely because I found the free model unsatsifying and limited and having enough technical knowledge to do so I figured I should develop my own website from the ground up!

Future

This project is still in the works and will always be as long as theres an internet! My goal is to be always modifying and tinkering with my website and I have no intention of it ever being complete, I see it as a piece of art that is forever unfinished… I hope to be adding more pages as time goes on, at the moment it only has my portfolio but that’s sure to change soon!

Youtube Channel

Timeline 01/08/2025 – Present

My Youtube channel is an artistic side project where I occasionally post videos in a range of topics, on the channel I have taken to using my Original Pony Character(named Julia (because Julia is my name)). Making Youtube videos are to me a form of self expression it always brings me joy to finish something and looking back on older videos reminds me how much progress i’ve made. Sound mixing and video editing are very useful skills and work on this channel has done alot in that regard.

Vlogs

My vlogs are simple and short opinion pieces I put out when I feel like I need to express an idea or thought that came to me, I only have two up at the moment but when a new topic interests me enough I’ll find some time to make another one! The visuals are created in Blender using a 2.5d Rig of my Original Character.

One about buses…

Game Dev

On a secondary channel I’ve also been posting updates on my Themepark Game! This game is on hiatus at the moment so you won’t be seeing any updates from it for a while. Most of my videos have been edited in the Blender video editor which makes the workflow for producing the videos much easier as much of the visuals are also created in Blender. The style of these videos changed over its production, the first dev log being the first serious video production I’ve ever tried doing and having a much more somber tone…

And the newer one being much more upbeat and using my 2.5D pony rig!

These projects have been super helpful too with learning how to properly orate when recording audio, I feel much more confident when speaking into a microphone now than I did when I started!

Blender Projects

Timeline 01/05/2025 – Present

Blender is 3D moddeling software that is free, Open Source and incredibly versatile, Blender is part of almost all of my creative workflows! The primary use for Blender is in production of 3D models and using this I have created all of the assets of any 3D projects I am working on. These range from simple background elements like chairs and beds to outside environment models like forrests.

Geometry nodes

Geometry nodes are a fast and efficient way of producing many variants of the same model for versatile deployment, for example the trees in my Themepark Game are created more generally in geometry nodes before being exported to the Godot Game Engine as individual models!

A pine tree I created in Blender using Geometry Nodes

Why create them yourself?

Creating large scale projects takes alot of moving parts and one person can’t hope to complete them all without outside help in one form or another. Whilst I mainly stay within the realm of feature programming I often dabble in artistic aspects as it gives me a more complete idea of what the process of an artists looks like, and so in a larger team I can better understand how to help them if a problem arises for example with exporting. It’s also great fun!