Hi! I'm Nathan - a computer science and math major at Williams College. I'm passionate about building complex systems from scratch, with a particular focus on graphics, distributed systems, and low-level programming. Whether it's developing CAD software, creating peer-to-peer machine learning networks, or crafting game engines, I love diving deep into technical challenges and understanding how things work from the ground up. I'm particularly interested in performance-critical applications and systems programming.
Conversation is a direct-modeling program. Unlike SolidWorks, Conversation's sketching is not constraint-based (just draw stuff and move stuff). Unlike SolidWorks, Conversation does not have a parametric feature tree (just basic undo/redo). Sign up for alpha!
Sol is an event planning app allowing students to plan and discover events happening around their campus. The uses Flutter for the front-end, Go for the back-end, MongoDB for data storage, and a custom tile server for map visualization.
P2PFL is a decentralized federated learning framework that enables distributed model training without centralizing data. Built with Go and PyTorch, it uses gRPC for peer-to-peer communication, supports custom models and datasets, and implements federated averaging for model aggregation. The framework includes peer discovery, configurable training cycles, and allows for scalable collaborative learning.
Vertex is a custom 2D game engine built from the ground up in C++ and Objective-C, using native macOS graphics APIs for rendering. The engine features real-time collision detection, frame-synchronized game loop management, and a modular object system for handling game entities like turrets, projectiles, and obstacles.