Benjamin Schreiber

B.S. Computer Science | Washington State University

Graduating May 2026

EXPERIENCE


  • Cloudflare Logo

    Cloudflare | Austin, Texas

    • Software Engineer Intern
    • 05/2025 - 08/2025
  • IntelliTect Logo

    IntelliTect | Spokane, Washington

    • Software Developer Intern
    • 02/2024 - 08/2024 | 06/2022 - 10/2023

SKILLS


I have a focus on distributed systems with professional experience in the following tools:
  • Rust (Tokio, Axum)
  • C (eBPF)
  • CockroachDB
  • Grafana
  • ClickHouse

For full stack development, I'm most familiar with:
  • TypeScript (Vue, React, Cloudflare Wrangler)
  • C# (Entity Framework, ASP.NET, Coalesce, xUnit, Moq)
  • Python (Django, PyTest)
  • Dart (Flutter, Riverpod)
  • Cloudflare, Azure
  • SQL Server
  • PostgreSQL

For my side projects, I reguarly develop with:
  • Haskell
  • Golang
  • RayLib, RayGUI

VIRTUAL PACKET TRACER


VPT is a Cisco Packet Tracer inspired simulation tool which allows you to create virtual network environments, test communication between devices, trace packets, and inspect input and output. Packets are fully serialized to byte level before being transmitted across devices. Simulates layers 1, 2, and 3 of the OSI model and stays true to their IEEE standards.

Currently, Virtual Packet Tracer is capable of simulating:
  1. Physical Ethernet Ports and Ethernet Cable Connection
  2. Mac Addresses (Broadcast, Multicast, Unicast)
  3. Ethernet II standard
  4. Ethernet 802.3 standard (reserved for rapid spanning tree)
  5. Address Resolution Protocol (ARP)
  6. Layer 2 Switches with Rapid Spanning Tree Protocol over Bridge Protocol Data Units
  7. Ipv4 (Broadcast, Multicast, Unicast) along with subnet masks
  8. Internet Control Message Protocol
  9. Layer 3 Desktops with the ping command
  10. Layer 3 Routers equipped with Routing Infromation Protocol and Subnetting


VPT was created using Rust, utilizing the built in Rust test suite for test driven development. The project is split into two parts, the first being the networking components completely made from scratch, and the second being the graphical interface which uses both RayLib and RayGUI.

You can view a WASM compiled version of the program here.