Full-Stack Engineer · Mixed-Reality Developer · AI Student

Robert May

I'm an engineer studying Artificial Intelligence at Carnegie Mellon University. I co-founded a startup and shipped a crypto payment processor that handled over $1M in its first month, and I lead teams building mixed-reality games for CMU's Spring Carnival — from gameplay and shaders down to 3D-printed props and synthesized sound effects.

Carnegie Mellon University

B.S. in Artificial Intelligence · 2023 – 2027

Member of Phi Delta Theta

Germantown Friends School

GPA: 3.80/4.00 · Grad. 2021

Cofounder of Computer Science Club · Lead Web Engineer of PHYFF

Make School Summer Academy

iOS Development Program · July 2 - Aug. 11, 2018

Six-week program focused on designing, developing, and launching iOS applications in Swift

Skills

Languages

  • JavaScript
  • TypeScript
  • Solidity
  • C
  • C++
  • C#
  • Swift
  • Objective-C
  • Python
  • HTML
  • CSS

Technologies

  • Git
  • React
  • Next.js
  • Node.js
  • Express.js
  • Socket.IO
  • Ethereum
  • Unity
  • Blender
  • Meta Quest
  • MongoDB
  • Firebase
  • Stripe
  • GitHub API
  • TensorFlow
  • Three.js
  • WebGL
  • Hugo
  • Logic Pro

Soft Skills

  • Collaborative
  • Creative
  • Innovative
  • Fast Learner
  • Team Management
  • Customer Support

Experience

June 2021 – March 2023

Hyper

Full Stack Engineer · Palo Alto, CA

Y Combinator S21 startup building commerce infrastructure for creators; acquired by Whop in 2023.

  • Node.js
  • Next.js
  • Express.js
  • Stripe
  • MongoDB
  • Joined as co-founder and developed the API, database, and front end.
  • Corresponded directly with customers through support tickets and calls.
  • Integrated multiple blockchain and Web3 technologies.
  • Led teams of both in-person and remote engineers.
  • Standardized pull request and issue formatting and review processes to streamline development and collaboration.
hyper-1.avif
hyper-2.avif
hyper-3.avif
hyper-4.avif

Jan 2020

Brain Power

Software Developer Intern · Cambridge, MA

  • Unity
  • C#
  • Google Glass
  • Developed augmented-reality teaching aids for autistic students.
  • Refactored UI systems and trained teammates in developing reactive interfaces.
01-standup.jpeg

Projects

Jan 2022 - Dec 2022

Pluto — Crypto Payment Processor

  • Node.js
  • Next.js
  • Solidity
  • Express.js
  • MongoDB

A crypto payment processor with near-complete feature parity with Stripe, including an API, client library, and hosted checkout.

  • Built a payment processor with near-complete feature parity with Stripe, including an API, client library, and hosted checkout.
  • Integrated Pluto into Hyper's e-commerce ecosystem.
  • Supported both manual and automatic payments for ERC-20 tokens on the Ethereum blockchain.
  • Processed over $1 million in the first month after launch.
Merchant dashboard for tracking crypto payments and account activity.
Merchant dashboard for tracking crypto payments and account activity.
API documentation for integrating Pluto checkout and payments.
API documentation for integrating Pluto checkout and payments.
Hosted checkout flow for accepting payments without writing code.
Hosted checkout flow for accepting payments without writing code.
Payout configuration for moving processed funds to connected accounts. Integrated with FTX until they were found liable for massive fraud.
Payout configuration for moving processed funds to connected accounts. Integrated with FTX until they were found liable for massive fraud.
Invoice view for manual crypto payment requests.
Invoice view for manual crypto payment requests.
Headless client libraries for embedding crypto payments into custom storefronts.
Headless client libraries for embedding crypto payments into custom storefronts.
Dashboard landing screen for Pluto merchants.
Dashboard landing screen for Pluto merchants.

September 2026

Used on this website

rzmps

  • TypeScript
  • Three.js
  • WebGL
  • GLSL
  • npm

A modular and extensible particle-system library for Three.js, published as a typed npm package.

  • Published a modular and extensible particle-system library for Three.js under the @rzmps/rzmps scoped npm package.
  • Designed a TypeScript API for reusable particle behavior, rendering, and configuration in browser-based 3D scenes.
  • Built a package pipeline for TypeScript declarations, shader processing, and bundled runtime assets.
  • Implemented mesh rendering, sprite rendering, lighting and audio, octree collision, and subsystems.
  • Released extension packages to add compatibility with the Jolt, Ammo, and Rapier physics engines.
  • Released the library publicly under the MIT license.
02-codesample.png

Spring 2025

Phi Delta Theta Booth Game: Men In Black

  • Unity
  • C#
  • Meta Quest
  • Meta XR SDK
  • OVR Plugin
  • MRUK
  • Blender
  • Logic Pro

A mixed-reality first-person shooter for Carnegie Mellon University's Spring Carnival 2025, built for Meta Quest with physical props and integrations.

  • Developed a mixed-reality first-person shooter for Carnegie Mellon University's Spring Carnival 2025 using Unity and C# for Meta Quest.
  • Integrated physical weapon props that could be scanned by barcode to select an in-game weapon and attached directly to Meta Quest controllers for mixed-reality interaction.
  • Led a development team spanning beginner and amateur programmers, coordinating implementation across gameplay, mixed reality, physical integrations, and content creation.
  • Designed and produced 3D-printed physical props and created 3D assets used in-game.
  • Designed and synthesized sound effects in Logic Pro, including effects recreated to match audio from the Men in Black film.
  • Integrated an ESP32-controlled thermal printer to generate player statistics printouts and designed the accompanying physical reward card.
  • Designed and printed reward cards given to players after participation.
Gameplay recorded from the Meta Quest.
Rigging and animation for the final boss model in Blender.
Rigging and animation for the final boss model in Blender.
Sound effect asset creation, many either isolated from the movie audio or synthesized from scratch.
Sound effect asset creation, many either isolated from the movie audio or synthesized from scratch.
Overview of the different guns available in the game.
Thermal printer integration for player stat printouts.
Thermal printer integration for player stat printouts.
A 3D-printed weapon prop modeled after the Crystal Superweapon from Men in Black: International. Designed by Robert May, printed by Cole Drake.
A 3D-printed weapon prop modeled after the Crystal Superweapon from Men in Black: International. Designed by Robert May, printed by Cole Drake.
Physical booth room setup for the mixed-reality experience.
Physical booth room setup for the mixed-reality experience.
Front of the physical reward card handed to players.
Front of the physical reward card handed to players.
Back of the physical reward card handed to players.
Back of the physical reward card handed to players.

Spring 2026

Phi Delta Theta Booth Game: Tame Impala

  • Unity
  • C#
  • Meta Quest
  • Meta XR SDK
  • OVR Plugin
  • MRUK
  • Shader Graph
  • Logic Pro

A mixed-reality rhythm game for Carnegie Mellon University's Spring Carnival 2026, combining gameplay inspirations from osu! and Beat Saber.

  • Led a team of 3 programmers and designers through development of 3 levels and a dedicated tutorial.
  • Directed the artistic vision and gameplay design for each level, coordinating visual identity with rhythm mechanics and mixed-reality interaction.
  • Built extensive real-time visual effects and stylized materials using Unity Shader Graph.
  • Designed and printed reward cards given to players after participation.
Gameplay of the medium difficulty level. Level scripted by Robert May.
Audio processing with Logic Pro.
Audio processing with Logic Pro.
Shader based on the Currents album cover.
Shader based on the Currents album cover.
Gameplay of the easy difficulty level. Level scripted by Bernardo Miranda.
Gameplay of the hard difficulty level. Level scripted by Cole Drake.
Tutorial sequence to quickly introduce new players to the game.
Front of the physical reward card handed to players.
Front of the physical reward card handed to players.
Back of the physical reward card handed to players.
Back of the physical reward card handed to players.

January 2020

Jam Sesh

  • Unity
  • WebGL
  • Express.js
  • Socket.IO

A browser-based Unity multiplayer game experiment in real-time networking, served through an Express.js application.

  • Built a browser-based Unity multiplayer game as an experiment in real-time networking, served through an Express.js application.
  • Implemented a Socket.IO server for synchronizing player state and organizing players into multiplayer rooms.
  • Synchronized player-generated audio across clients, combining different players' virtual instruments and inputs into shared sessions.
Demo of multiplayer functionality with side-by-side client sessions.

July 2024

Nyms

  • Next.js
  • TypeScript
  • Google Sheets

An NYT-style daily word game where players connect one word to another through synonyms and antonyms.

  • Built an NYT-style daily word game in which players connect one word to another through a chain of synonyms and antonyms.
  • Implemented a dynamic hint system to push the player in the right direction without giving away the answer
  • Developed the game frontend and API in Next.js, plus a CLI tool for puzzle testing and development.
  • Implemented a background worker that selects each day's puzzle and stores puzzle data in Google Sheets.

TartanHacks 2024

GitHelp

  • Next.js
  • LLMs
  • GitHub API

A developer feedback widget that turns user bug reports and complaints into organized, actionable GitHub issues.

  • Built a developer feedback widget for the TartanHacks 2024 hackathon at Carnegie Mellon University that lets users report bugs and complaints directly from a website.
  • Used an LLM backend to classify and condense incoming feedback into organized, actionable GitHub issues, streamlining the path from customer reports to engineering work.
  • Instructed 3 teammates in Next.js development while coordinating implementation of the application.
  • Built in collaboration with Spencer Fisher, Nathan Ammerman, and Abdoul Ndiongue.
GitHelp landing page and feedback widget entry point.
GitHelp landing page and feedback widget entry point.
System architecture for classifying feedback and creating GitHub issues.
System architecture for classifying feedback and creating GitHub issues.
Dashboard for reviewing submitted feedback.
Dashboard for reviewing submitted feedback.
Generated GitHub issue created from user feedback.
Generated GitHub issue created from user feedback.

2018 - 2019

Unlit.io

  • HTML5 Canvas
  • JavaScript
  • Socket.IO
  • Procedural Generation

An online multiplayer flashlight-tag game with procedurally generated maps and real-time networking.

  • Developed an online multiplayer flashlight-tag game using HTML5 Canvas on the frontend and Socket.IO for real-time networking.
  • Implemented procedurally generated maps and AI-controlled bot players.
  • Hosted approximately 12,000 live players at peak usage.
Gameplay trailer for the multiplayer flashlight-tag game.

2021

Schwag

  • JavaScript
  • Blender
  • 3D Rendering
  • Fulfillment API

A streamlined merchandise storefront that generated branded shops and automatic 3D product previews from uploaded company logos.

  • Built a streamlined merchandise storefront that let companies upload a logo to instantly generate a branded shop integrated with a printing fulfillment API.
  • Generated automatic 3D previews for T-shirts, hoodies, and beanies using edited Blender models and UV-mapped logo overlays.
Demo of the generated merchandise storefront workflow.
Checkout flow for purchasing generated branded merchandise.
Checkout flow for purchasing generated branded merchandise.

2020

Used on this website

curves

  • TypeScript
  • JavaScript
  • Animation
  • Interpolation
  • Hugo

An npm library for defining and evaluating eased, keyframed curves modeled after Unity's AnimationCurve system.

  • Developed an npm library for defining and evaluating eased, keyframed curves modeled after Unity's AnimationCurve system, with modifier workflows inspired by Blender F-Curve Modifiers.
  • Implemented generic interpolation across 9 built-in value types, including numbers, strings, booleans, RGB colors, and 3D vectors, with extensibility for custom keyframe types.
  • Added composable curve modifiers such as layered noise and clamping for procedural transformation of evaluated values.
  • Built the documentation site with Hugo.
Demo website showing usage of curves of different types.
02-codesample.png
Documentation website built with Hugo.
Documentation website built with Hugo.

2020

Used on this website

eaz

  • TypeScript
  • JavaScript
  • Animation

A lightweight npm easing library for smooth animation and interpolation with reusable easing interfaces.

  • Developed a lightweight npm easing library for smooth animation and interpolation with reusable in, out, and inOut easing interfaces.
  • Supported predefined easing families, generated polynomial easing functions, and fully custom user-defined easing functions.
  • Implemented tooling to render demo images for visualizing and testing easing curves.
01-docs.png
02-codesample.png
The result of a custom easing function interpolating from cubic in to linear noise: Easing.interpolate(Easing.cubic, Easing.noise(0.05, 5)).
The result of a custom easing function interpolating from cubic in to linear noise: Easing.interpolate(Easing.cubic, Easing.noise(0.05, 5)).

November 2019

Taceo

  • Unity
  • Swift
  • Objective-C

A game for visually impaired players that communicates gameplay entirely through haptic vibration patterns. The initial version was built in Swift, and a later improved version was built with Unity.

  • Built the initial iOS version in Swift, then rebuilt and expanded the game in Unity.
  • Implemented WiggleKit, a reusable library enabling custom vibration patterns in Unity for iOS devices.
Gameplay driven entirely through haptic vibration cues.
Tutorial sequence for learning the haptic interaction patterns. Voiced by Lucas Kiewek.

Extracurriculars

Powerlifting

Train and compete in powerlifting — squatting 545 lbs, deadlifting 605 lbs, and benching 395 lbs at 250 lbs body weight.

395 lb bench press in competition.
605 lb deadlift.
545 lb squat.

Renaissance Faire Trips

Organize annual trips to the Pennsylvania and Pittsburgh Renaissance Faires for groups of up to 20 Carnegie Mellon University students.

Pennsylvania Renaissance Faire group trip, 2025.
Pennsylvania Renaissance Faire group trip, 2025.
Pennsylvania Renaissance Faire group trip, 2024.
Pennsylvania Renaissance Faire group trip, 2024.