Software engineer who likes systems, robots, and security.

I'm a Computer Science and Robotics Engineering student at Worcester Polytechnic Institute (BS/MS, May 2028). I build things close to the machine: shells in C, SLAM on a LiDAR robot, and the occasional repaired pinball machine. I'm looking for software engineering internships in systems, robotics, or security.

Download resumeGitHubLinkedIn

Projects

Autonomous maze mapping robot

Mapping, localization, and path planning for a LiDAR-equipped, non-holonomic robot.

Team project (Unified Robotics IV). I implemented mapping, localization, and path planning.

The problem

A robot that can't turn in place has to plan smooth, drivable paths, and it has to do that in a maze it has never seen. Without a map and an estimate of its own position, it can't decide where to go.

What I built

I built the pipeline as ROS 2 nodes: LiDAR scans feed a mapping and localization stack, and a planner turns the resulting map into paths the robot's drive constraints allow. The same code ran across mazes of different sizes without changes.

  • Completed SLAM in mazes of varying sizes
  • Planner respects non-holonomic motion limits
  • Python
  • ROS 2
  • Bash
  • LiDAR

One shell, written twice

I built the same program in C and in Java to compare what each language makes easy and what it makes you handle yourself.

Shell and interpreter in C

A command-line shell built on raw POSIX process APIs.

Solo project. I designed and wrote all of it.

The problem

Typing a command into a terminal feels simple, but it hides process creation, program loading, and file descriptor handling. I wanted to understand those pieces by building them instead of using them.

What I built

I wrote a shell that parses input, creates child processes, runs commands, and handles I/O redirection by rewiring file descriptors, with manual memory management throughout.

  • Process creation and execution
  • I/O redirection
  • C
  • POSIX
  • Linux

Shell and interpreter in Java

The same shell, redesigned with object-oriented structure.

Solo project. I designed and wrote all of it.

The problem

My C shell worked, but its structure was tied to the language. I wanted to see how the same problem looks when it's modeled with classes and a proper language-processing pipeline.

What I built

I reimplemented the shell in Java, separating lexing, parsing, and execution into distinct objects. Rebuilding it a second time made the design tradeoffs between the two languages concrete.

  • Object-oriented design
  • Language-processing concepts
  • Java
  • OOP
  • JUnit

More work

WordLess

An interactive word game that saves your progress in the browser.

I built the game as a static web app and used the browser's local storage to track progress between sessions. It's hosted on GitHub Pages, so anyone can play it from a link.

  • JavaScript
  • HTML
  • CSS

Sudoku

A Python rebuild of the puzzle game, documented with PyDoc.

I rebuilt Sudoku in Python, documented every module with PyDoc, and published it on GitHub.

  • Python
  • PyDoc
  • GitHub

Weather prediction model

A machine learning model that predicts conditions for Fresno, CA.

I trained a model on a set of input data points to predict conditions for Fresno, using pandas and NumPy to prepare the data and Matplotlib to inspect it.

  • Python
  • pandas
  • NumPy
  • Matplotlib

Experience

  • Jun to Aug 2026

    IT Specialist Intern

    Densification, Inc.

    • Researched map APIs and database querying approaches, then drafted a requirements and API pricing document for a location-based job search feature.
    • Managed Microsoft accounts, subscriptions, and storage policies; configured and deployed new employee devices.
  • Summer 2026

    Freelance Arcade Repair Technician

    Self-employed

    • Diagnosed electrical, mechanical, and control faults in antique pinball machines and jukeboxes and restored them to working order.
  • Aug 2023 to Jun 2024

    President, Cyber Security Activity

    Flint Hill School

    • Led events, competitions, and operations for a for-credit cybersecurity club, and mentored competition teams.

Skills

Languages
  • Java
  • Python
  • C/C++
  • JavaScript
  • HTML/CSS
  • SQL
  • Go
  • Bash
  • MATLAB
Tools and frameworks
  • Git
  • Docker
  • Linux
  • Node.js
  • JUnit
  • ROS 2
Libraries
  • pandas
  • NumPy
  • Matplotlib
  • OpenCV
  • Dynamixel SDK
Security
  • Burp Suite
  • Nmap
  • Metasploit
  • Autopsy
  • Ghidra
  • Packet Tracer

Certifications and awards

  • GIAC Security Essentials (GSEC), SANS Institute
  • GIAC Foundational Cybersecurity Technologies, SANS Institute
  • Regional Cyber Defender, VirginiaCode
  • National Cyber Scholar, CyberStart America
  • 2nd place, Networking with Cisco Packet Tracer, CyberPatriot XV Platinum

Let's talk

I'm looking for internships starting summer 2027.

Get in touch