CloudSafe
CloudSafe is a desktop application I'm building that lets users store files in AWS,
Google Drive, Dropbox, etc., with end-to-end encryption. It's built in Next.js with TypeScript and
Tauri with Rust. I'm building it to learn more about cloud storage, encryption, and to provide a
secure alternative to the more conventionally insecure cloud storage services. It's currently in
development and is planned to be released in 2024.
Molecular
Molecular is a desktop application I built (2018-2021) in Java that allows users to
create, visualize, and interact with molecules in 3D space. I built it to help chemistry students
understand molecular structures during Covid-19 quarantine as a free substitute to the more
conventionally expensive software. It is built in Java, and uses my 3D engine to render the
molecules with accurate lighting and colors.
Interactive Periodic Table
I built this interactive periodic table for my 501(c)(3) chemistry education
nonprofit, ChemTalk. Very few good periodic tables exist online, and every one of them has
downsides. The ones that look nicer often have poor interactivity, but ones with clean and
intuitive interactions have outdated designs.
Mujank
Mujank is a full-featured gacha game I built to use with my friends in Discord.
It features a full-fledged economy, a shop, and a gacha system. It's built in Python using
Discord's bot API, and has an HTML/CSS/JS frontend hosted on Node.js for viewing player stats.
Engine3D
Engine3D is a Java based 3D engine I built (2018-2019) using OpenGL and GLSL. It has
standard 3D engine functions such as creating objects, materials, and optimized meshes, as well as
functions such as loading STL and OBJ object files and textures. I built this engine to learn more
about 3D graphics and OpenGL, and to use in future projects such as my molecule simulating
application, Molecular, and various quick codes that required 3D rendering.
Marching Cubes
The marching cubes algorithm is a method for extracting a polygonal mesh from a scalar
field. It is used in medical imaging, geology, and other fields to create 3D models of complex objects.
The algorithm is based on the idea of dividing a 3D space into a grid of cubes, and then determining
the shape of the surface within each cube.
Planets
Planets is a Java based 3D program that procedurally generates low poly planets. It
uses the OpenGL library LWJGL to render the planets, and is capable of generating different types of
planets with different types of terrain. It uses Noise algorithms to procedurally generate them based
on a seed.