Connect with me on LinkedIn
I’m a software engineer passionate about algorithm design, geospatial systems, and full-stack development. I enjoy turning complex problems into elegant, practical solutions, if such a thing exists.
Three words to describe me are: curious, analytical, and adaptable. I love exploring new technologies and ways to improve software systems. Outside of coding, I enjoy coffee, plants, jazz, and spending time with my two cats.
Languages & Frameworks: Java, Kotlin, Python, Go, Typescript, HTML/CSS, Angular, React/WebTAK, Django, Android & TAK (https://tak.gov/products)
Databases: MongoDB, PostgreSQL, Elasticsearch
Cloud & DevOps: AWS (EC2, S3, SNS, Kinesis, ElastiCache)
Other Expertise: GIS (Geographic Information Systems), Multi-Factor Authentication, Computer Vision (Wikipedia), Algorithm Design (Wikipedia), Simulation, Full-Stack Architecture
AI-driven Minesweeper solver using logic, probability, and constraint evaluation.
It can automatically determine safe moves, demonstrating problem-solving and logical reasoning. This is loosely based on the Harvard senior thesis Algorithm Approaches to Playing Minesweeper.
Real-time particle simulation with gravity, collisions, and interactions.
This project demonstrates principles of physics simulations in software.
GitHub | Video Demo
Adaptive algorithm solving optimization problems with changing cost functions.
This is an example of optimization algorithms applied to real-world decision-making.
Generates and solves random mazes using pathfinding algorithms like BFS/DFS.
This illustrates graph theory and algorithmic thinking in a visual way.
Kotlin | Go Video Demo | Video Demo
- 2d-game-engine – Java library for building 2D games
- gograph – Go library for graph structures and algorithms
- cpart – C++ particle physics engine using OpenGL
- cast – Abstract Syntax Tree library in C
I enjoy contributing to challenging software projects, particularly in algorithms and geospatial systems. I aim to create software that is both technically strong and understandable.

