PROJECTS
Both are proprietary IBM z/TPF systems work, so there's no public repo, but ask me more about either and I'd be happy to tell you about them!
Remote TLS Certificate Expiration Monitor
CC++x86 ASMz/TPF
ProblemLarge z/TPF clients – Visa, Amtrak, the IRS – had no way to track expiry of the remote TLS certs their systems handshake with. A silent expiration that they can't control can cause an outage, costing them huge amounts of time and resources.
BuiltCompliance tooling that captures remote client/server TLS certificates after SSL handshake occurs. Certificates are parsed and placed into a hashmap in system heap. A console command lists every stored cert with its expiry; a daily sweep flags anything inside a configurable window and hands it to a customizable user exit so that each client can handle it as their business needs require – catching expirations before they turn into an outage.
Hard partDoing this inside a proprietary OS with tight heap constraints and zero tolerance for leaks. Incorporating real time feedback from our clients to ensure the tooling will work for everyone regardless of their traffic volume.
Parallel I/O & Compression Migration
CC++TPFDFCRUISE
ProblemThe hierarchical, record-oriented TPFDF database was slow to read at scale, with each record needing to be completely read from disk before the next could be accessed.
BuiltA migration routine converting user selected databases into an indexed and compressed structure–up to 96% faster reads for large databases. Reused existing CRUISE architecture and DF APIs to keep duplication down while also adding custom handling to ensure database integirty in the event of an error. Additionally shipped a full falback migration routine so clients have the option to revert back to the original structure if they choose.
Hard partParsing complex HLASM routines to understand what integrity checks and assignments my custom routine will need to do to keep migrated databases compliant. Ensuring data integrity during migration while simultaneously ensuring the database resides at the same location on disk. Handling complex error processing so clients experience no downtime on their production databases in the event of an error.
HTTP/2 Proxy Support
CC++HTTPTLSz/TPF
ProblemAs part of a larger effort to bring HTTP/2 support to z/TPF, proxy connections needed to keep working through TLS proxy servers that only spoke HTTP/1.1 – infrastructure our clients still depended on and that had no way to parse HTTP/2 frames or streams.
BuiltImplemented HTTP/2 proxy support by routing all HTTP/2 proxy traffic through the same CONNECT – established TCP tunnel used by HTTP/1.1, so existing HTTP/1.1 proxy servers (and backwards-compatible HTTP/2 ones) could set up the tunnel without ever needing to understand HTTP/2 frames or streams. Added the logic to both the persistent and non-persistent connection routines, and supported synchronous and asynchronous messages, with zero regressions for existing HTTP/1.1 proxy clients.
Hard partRealizing the CONNECT request method could stay entirely HTTP/1.1 regardless of which protocol version got negotiated afterward – that meant I could hook directly into the existing HTTP/1.1 TLS proxy routine instead of writing new tunnel – setup logic, but getting there took digging into both the HTTP/1.1 and HTTP/2 specs to confirm the CONNECT tunnel was truly protocol-agnostic.
EXPERIENCE
Software Developer Intern – IBM z/TPF
Middleware & Security · Database squad – Poughkeepsie, NY · 2025–present
Built middleware TLS-cert monitoring, resolved a critical bug that hung shared system sockets, and worked directly with clients to scope and redesign features. Converted a full-time offer into a continued internship to pursue my MS.
Software Engineering Intern – Columbia Build Labs (AMLAH)
Backend & system design – New York, NY · 2024–2025
Designed data models, database schemas, and RESTful APIs for scheduling remote real-estate tours, agent availability, and inventory.
Teaching Assistant – Columbia CS
4 courses · 3 professors – 2024–present
TA for Advanced C, C++ Design, Data Structures, and Intro Java. Build grading rubrics in Pygrader, run office hours, and design exams, assignments, and projects.
Research Intern – DitecT Lab (WayCARE)
Prof. Xuan Di – 2024
Extended an existing codebase to deploy and update a full-stack weather-data dashboard.
ABOUT
I build low-level systems – OS internals, memory, security tooling, the parts most people never see. I like problems where the constraints are real: fixed heaps, live databases, no room to leak.
Off the terminal: weightlifting, soccer, fantasy novels, and – clearly – retro games. This site is a game because building at the systems level has always felt like one to me.