I'm a student at University of Toronto who loves to code. In my free time, I make graphical simulations, build frontend sites, and write the occasional Rust server. I carefully craft fast and clean code.
I'm a core team member on SolidJS, where I research Solid 2.0 and lead the development of the Solid Playground. I've worked on multiple large TypeScript & React projects, and I love to keep up with the latest frontend trends. I'm currently working on standardizing Signals into JavaScript.
In addition to loving cutting edge performance, I'm also a programming language polyglot. I've written several small WebGPU apps, networking servers, and even a compiler. I've even made a metasploit reverse shell payload.
I developed a massively multiplayer realtime browser game in Scala & ScalaJS called Snowy, a synthesis of my interest in graphics, physics, and networking. This project taught me about build tools, profiling, and functional programming.
I worked on a large microservices document management system used by thousands of lawyers. My work involved building an OAuth server for SSO and replacing a SQL Server ORM with native PostgreSQL.
I've also programmed in Typescript, Scala, Java, Rust, C#, Lean 4, Zig, Python, Haskell, Swift, C, Go, Koka, and Racket. I enjoy programming language theory and design.
The Solid Playground is a web app that lets you write Solid code and see the results in real time. It uses Monaco and ESLint to provide a developer experience that rivals a full local setup.
TimeViewer is a web app that lets you view your daily activity in realtime with extreme precision. Its macOS window watcher was used to rebuild ActivityWatch and is used by thousands of users daily.
The Busy Beaver Challenge is working on a formal proof of the upper bound of BB(5). I added the interactive viewer of Turing Machines that shows the simulations.
I have made over a hundred fun little simulation projects. I've put a few below and many more are available at CM-Tech, a name I use on projects that I build with my friend Cole.
A fun project where dots move randomly semi locked to a grid. They bump into each other and you can click to repel or attract them, depending on the setting.
This project uses the planck.js physics engine to simulate and evolve cars to drive through a virtual course.
Boids is a term coined by Craig Reynolds that is used to describe objects which flock in groups. This project simulates boids shaped like caterpillars.