About This Page

This is an accurate lens optics simulation; your mouse position (tap position on mobile) determines the focal length and camera distance in the setup. Mathematically, this was the hardest simulation to write out. This was largely because there isn’t an efficient way to do projection transforms for a physical lens without some shortcuts.

Not only does this program derive the characteristics of the lens from the focal length, but it also accounts for spherical aberrations, given the attributes of a non-ideal lens. Then, the most difficult part was efficiently computing the chromatic distortions near the edges of the lens, which was done by referencing a pre-processed hue LUT I’ve simulated in Python.

Project Quick Links

Atmospheric Simulation in C++

I wanted to build an atmospheric fluid simulation from the ground up and have it run in real time on my laptop. I made this model more as a proof of concept. I made it easier to use by letting you set starting conditions and update data through a Python subroutine, where nearly all of the calculations are handled in C++ for maximum computation speed. I plan to use it as a testbed engine for whatever atmospheric simulations seem interesting.

This program was inspired by my Thermodynamics class, which has turned into something much closer to a statistics class. When programming it, I started from the basic definition of microcanonical ensembles and then kept working until what you see now. I don’t code in C++ as often as I used to, so this was the perfect opportunity to develop my skills in writing efficient code. You can see below some of the quick test cases I’ve run with it.

jaden-climate-gif

Here you can see me running it on a cross section of a 640,000 partition 3D grid. Seen here measuring pressure, temperature, chemical potential, density from a hotspot and a cold front. You can even see a fluctuation in pressure propogate through the simulation in the GIF. Note that this GIF is playing at real-time speed, achieving around 80,000 timesteps per second. (The pixelation in the picture is from the MP4-GIF compression.)

jaden-climate-graph

This is a graph generated by the Python subroutine I have running with the code. This was a quick demo of a hot and cold region meeting, showing the difference in the average pressure in both regions over time.

GitHub repo is available for this project, though it is optimized solely for GNU g++ to make sure the graphics run smoothly on a separate thread.

Fourier Analysis of Stock Options Algorithm

--In the works--

My largest project to date, this was an endeavor to learn more about the stock & options markets that quickly developed into a larger project with advice and implementation from both academics at the UofT Faculty of Applied Econometrics and industry experts.

Using a gradient optimization algorithm coupled with Fourier signal analysis, we’ve found some pretty incredible results that will hopefully be compiled and openly available soon. The primary focus of the algorithm has been on short- to medium-term options contracts (7 - 50 days). Through randomized backtests, we are seeing an average return of 11% across all contracts.

Volatility Window

This is a particularly good example where the program estimated the highest volatility window and bought the contract at $610 and sold it at $1,179 (accounting for spread). Realistically, this is an outlier and in aggregate we were looking at a skewed standard deviation of around 13%.

As of October 2025, the program has been deployed on live data and has done particularly well at implied volatility predictions. Stay tuned for more updates!

Quantum Computing Grover's Algorithm

--In the works--

This is a project I’ve been working on independently, running my code on IBM’s 100-qubit quantum computers. Its goal is to implement Grover’s algorithm, which has the potential to search and sort through large databases much faster than current non-quantum computers. This could be game-changing for applications like machine learning and high-performance computational modelling/simulation.

This project is still in the works, but I plan to update this page with my progress. It has been a fun experiment of applying my knowledge of quantum mechanics to practical work with the openly available IBM quantum processors.

Grovers

Here you can see the circuit diagram for a basic implementation of Grover’s algorithm, which I am currently working on expanding to take full advantage of the new 100-qubit quantum processors.

General Machine Learning Engine

My biggest venture into machine learning! All the back propagation logic is handled in Python, with the matrix transforms running in a C file for optimized compute time. This was a big step for my experience in subroutines. It is a pretty basic program, but it gets at the core math and logic behind machine learning.

3Body Machine Learning

Here, you can see it working to find stable configurations of the Three Body Problem. If you would like to see a smaller version of it in action, check out my skills page!

Cosmic Ray Detection

At the age of 13, I built a cloud chamber for detecting cosmic ray traces. I entered the Bay Area Randall Museum Science Fair, finishing fourth overall. I made a stacked thermoelectric heat pump system to cool a small area to -54ºC. I did all of the CAD, electrical soldering, and electrical system/power design myself. I later refined it, adding a variable electromagnet to alter trace paths.

Cloud chamber

Here you can see me testing the prototype on a test bench, which I made out of Legos for its cheap and quick customizability. The full build has since been donated to the Wente Scout Reservation to educate kids on nuclear energy.

Ultra Violet Fluorescence Spectroscopy

I am working on the UofT Robotics Space Exploration team to build a suite of optical science tests. The goal is a robust, light, and cost-effective package that can detect common chemical signatures of microorganisms. The ultimate goal of this system is to showcase the challenges of detecting life on Mars, using systems with very little power, no repairs, and compact designs.

UV Fluorescence Spectroscopy

Here you can see us validating out our micro-spectrometer head on a diluted mixture of flavoproteins. Our system will be tested to the limits this August at the University Rover Challenge in Utah.

In The Works!

Live Atmospheric Model and Weather Simulations

If you really enjoyed my atmospheric simulation engine (see above), you’ll love this. I’ve been working on creating live weather simulations and predictions. It’s a big project, but I am using my simulation engine with data from Open-Meteo and RAP. Stay in tune because I’ll be giving updates on this soon!

Qiskit Quantum Shor's Algorithms

This project has been more for my own learning purposes and is something that I've found genuine interest in. I set out with a goal to write my own implementation of Shor's algorithm using Qiskit by deriving it myself analytically (with a lot of help of course).

I’ve always been very interested in cybersecurity. Because of this, I’ve been trying to use this, as well as with Kali tools, to break (MY OWN) simple custom RSA encryption I have written on a Raspberry Pi. It’s been quite finicky (I didn’t quite realize how much I’d have to learn about Hamming error correction), but it’s been fun to actually physically apply some of my quantum computing code.

Training my own Large Language Model

This project is still a while away, but I am working to develop my current adaptive machine learning model into a tokenized LLM. Baby steps for now, but I will be posting updates here!