tobias.codes

portfolio

about

contact

legacy projects

us china screenshot

US–China Global Trade Comparison

The visualisation enables an engaged but not necessarily expert audience to compare the US and China by volume of international trade each quarter since 1990.


From the visualisation, the viewer can appreciate the success of China's foreign economic policy over the last 35 years – and how they have been gaining influence across the globe on their way to joining the United States as a dominant superpower.


Created for an Oxford University Computer Science project in 2024.

cylinder chess screenshot

Cylinder Chess

Enjoy realistic cylindrical gameplay on a unique animated 3D board; or choose traditional square geometry. Play against friends. No sign-up needed and no ads!


Started work on cylinder chess in September 2022 and it went live in December of that year. Built with a Node JS backend.

tokenbound titans screenshot

Tokenbound Titans

An implementation of the new Ethereum ERC-6551 standard for NPC gaming in combination with dynamic generative NFTs.


Players are the proud owners of unique NFTs, each owning different abilities and characteristics. The gameplay revolves around battles between these NPCs where players can strategically bet their tokens against each other in a digital arena. The algorithm for computing the outcome of the battle is off chain and can be verified using a ZK-proof.


Tom Tayler, Hamzah Mahmood and I were finalists at ETHGlobal Waterloo with this project. We presented Tokenbound Titans on stage. Check out our official shoutout from ETHGlobal on Twitter and our live presentation in Waterloo on Youtube.


ETHGlobal Twitter


Live Presentation Youtube

rota gen screenshot

Bespoke Rota Generation

Tasked with creating bespoke rota generation software to solve a complex scheduling problem involving 24-hour care rostering in France.


The software gives users the flexibility to generate weekly rotas at the touch of a button, whilst ensuring they comply strictly with French employment law.


The project was for a private paying client so the code cannot be shared publicly.

graphletics screenshot

Won the 2nd-year Oxford computer science Group Design Practical departmental award for best project with Graphletics, a web app of six games based on famous graph theory problems.


The dev team consisted of Bruno Edwards, Hugo Berg (now working on GPU EVM) and myself.


The server is currently offline, we are working on getting back up and running again.

raeda screenshot

Raeda

Built at ETHDenver 2023, Raeda is a solution to the fragmentation, inefficiency, and lack of competition in the logistics market.


Raeda makes use of crucial features of Web3 technologies, a clean user interface, and incentive alignment to provide a marketplace for logistics providers and suppliers to interact.


Developed by Rishin Madan and myself.

colour blender screenshot

Colour Blender

Discover the free online colour blender & lerp tool! Discover unique blends, gradients, and generate all the CSS color codes you need for your projects at Colourblender.io!


Started work on colour blender in the summer of 2022. Built with a Python Flask backend.

cylinder chess screenshot

Rhap5ody.js

rhap5ody.js extends p5.js to support conditional re-rendering – taking inspiration from react.js.


All objects on the canvas are ordered in a structured tree layout, thus allowing for property inheritance, a standard interface for interaction, relative positioning and efficient re-rendering.

lenspy screenshot

LensPy

Python library for Lens Protocol. Making Lens Protocol easy to use and accessible to Python developers.


Developed by Rishin Madan and myself. Work in progress.

3D space screenshot

Solid 3D Engine

Built a 3D Engine whilst studying for my A-Levels. I wanted to see how far I could get through my own insight and ideas; without reference to external resources, libraries, etc.


I built my own linear algebra library for the project and produced the demo space scene to showcase what the engine could do. I designed the 3D engine to be as flexible as possible so other scenes could be created without too much difficulty.


Use WASD (or arrow keys) to move forwards and sideways, and ZX to move up or down.

gse screenshot

GET & POST to a live server with a custom GPT. This custom OpenAI GPT interacts with the API of a live Go server hosted at https://schema-gpt.onrender.com.


The idea behind this project is to build a server which can be read and written to by anyone using a pulic custom GPT. This allows for a Wikipedia style knowledge encyclopedia (for animal data) to build up as people interact with the chatbot – without ever having to upload to the server themselves.

gse screenshot

Graphical Stock Exchange

Created a web app for the open-source financial exchange simulation Bristol Stock Exchange – a programme developed in 2012 by Prof Dave Cliff of Bristol University Computer Science Department.

particle physics sim screenshot

Particle Physics Simulator

Inspired by a lesson on particle physics in spring 2019, I decided to simulate how sub-atomic particles might interact with each other.


The site includes a real-time graphical display showing the force felt by each particle during motion. Note: this is a much simplified model that computes an approximation of the forces I learnt about in A-Level Physics.

tobias codes screenshot

Portfolio

A portfolio for all of my projects..!


Self-Referential.

About Me


I'm Toby, a third-year Maths & CS undergrad @ Oxford.

  • Consuming too much coffee ☕️, climbing trees 🌳 and fells ⛰
  • Maintaining some fun projects cylinderchess, colourblender, rhap5ody.js...
  • Hooked on hackathons: ETHDenver, ETHGlobal Waterloo, ETHGlobal Paris
ray tracer screenshot

Ray Tracer

In autumn 2018 I heard about the ray tracing technique, which enabled realistic 3D images to be drawn using virtual light rays. So I set out to write my own basic implementation.


Note: the ray tracer is very inefficient, I built it only with GCSE and FSMQ maths knowledge at the time. I started working on it soon after finishing my original wireframe 3D-Engine. Still being interested in the representation of the 3D world on a 2D screen, I wanted to see how far I could get with a ray tracer.

timeline screenshot

Timeline

The story of my life – gamified.


Out of date: I need to update it with the events of the last couple of years.

wireframe 3D screenshot

Wireframe 3D Engine

My first major project, written during the summer of 2018. At this stage I’d only covered GCSE and FSMQ level mathematics and I decided not to look at any resources, seeing how far I could get off of my own steam.


Controls: WASDZX to move around.

neural network screenshot

Supervised Deep Neural Network

My first neural network algorithm, which I initially wrote in Python during Christmas break of 2018.


A few months later I converted it to P5.js in order to include a GUI – enabling the user to easily choose certain properties of the network, such as the number of hidden layers and the number of nodes per layer. The relatively trivial task I have set the network is to learn to recognise the highest number from a list of random numbers between -1 and 1.

isometric terrain screenshot

Isometric Terrain Generation

Generates random terrain in one of 4 conditions: Fine, Rain, Mist or Night.

grafx terrain screenshot

Grafx Calculator

GraFx, my own graphing calculator, I wrote 2018 to overcome limitations I faced with Desmos. Whilst GraFx is able to plot basic polynomials through its online interface, it was designed to respond to directly inputted source code for more complex tasks.


In this way, I have been able to use it in the past to plot more complex computations directly from the source code. Examples of this in use are here (recurrence relations) and here (Newton's Method), where I used an adapted version to plot solutions from Oxford University problem sheets.

flat it screenshot

Flag It – Game

A game I originally wrote on KhanAcademy's programming section in 2018.

selectio screenshot

Selectio

Selectio is an image editing tool I built in 2020, testing out a rival concept to Photoshop

oblique collisions screenshot

Oblique Collisions

10 examples demonstrating a physics engine I wrote for handling 2D oblique collisions between spheres.


Inspired when learning Oblique Collisions in Further Mechanics (Further Mathematics A-Level).

equilateral triangle screenshot

Equilateral Structural Tiling

Each layer of equilateral triangles is built on the one below. The structure displays chaotic properties when moving the nodes at the bottom.

gas diffusion screenshot

Gas Diffusion Model

Observe convection currents, as particles on the bottom right are heated, whilst the top left are cooled.

hawks doves screenshot

Hawks Doves Simulation

Inspired to create my own simulator by a Youtube video in 2019, I built Hawk Dove Simulator to model predator-prey interactions.


This tied in nicely with previous work I'd done on modelling predator-prey interactions with differential equations on Desmos.com.

fourier simulator screenshot

Fourier Transform Simulator

Built a Fourier Transform simulator to visualise the unravelling of multiple component frequencies.


In the autumn term of 2019, study of Euler’s Formula and Roots of Unity broadened my understanding of complex numbers and led me to the story of the Fourier Transform. I found it fascinating how a seemingly chaotic function could be elegantly separated to reveal its constituent frequencies. I built this graphical simulator to help me better understand the transform process.

fluid grid screenshot

Fluid Grid Builder

Design your own map in the grid and watch the fluid fill from the top.

heat rod screenshot

Heat Rod Simulator

Define the heat map of a rod and watch it reach temperature equilibrium.

cellular automata screenshot

Cellular Automata Playground

Playground to explore cellular automata.