navo.dev

Nathan Vosburg

Press ~ for the console

About

Hi! I'm Nathan - a computer science and math student at Williams College. I work on systems software, with a focus on performance-critical applications like CAD programs and game engines. I also enjoy working on network problems, particularly those related to ML.

Projects

Conversation

CAD program

conversation.demo

Conversation is a direct modeling CAD program that emphasizes speed and simplicity. Draw and modify geometry freely without wrestling with sketch constraints or complex feature trees. The straightforward interface is designed to enable rapid prototyping.

Key features:

  • Freeform 2D sketching with intuitive snap and alignment tools
  • Basic 3D operations (extrude, revolve, boolean operations)
  • Quick modifications through direct manipulation
  • Simple undo/redo system
  • DXF/STL file support for interoperability

Built in C++ with a focus on performance and reliability.

Currently in alpha - Sign up for early access

Sol

event planning app

Sol is an event planning app allowing students to plan and discover events happening around their campus. It uses Flutter for the front-end, Go for the back-end, MongoDB for data storage, and a custom tile server for map visualization.

P2PFL

peer-to-peer model training framework

A decentralized federated learning framework that enables peer-to-peer model training without central coordination.

Key features:

  • Decentralized architecture using Go and PyTorch
  • Automatic peer discovery and model distribution
  • Support for custom models and datasets
  • Built-in fault tolerance and scalability
  • gRPC for efficient peer communication
  • FedAvg algorithm for model aggregation

Currently supports CNN architectures with plans to expand model support.

Vertex

2D game engine

vertex.demo

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.