Nathan Pierce

Computer science student at MCLA. I build games, run my own servers, and wire up hardware.

Featured project

YeetPoker

Godot 4.4 · in active development

A dice game you play with your whole phone. You shake and tilt the device to move the dice cup, using the phone's motion sensors instead of buttons. It runs as an Android app and in the browser.

  • Problem

    Godot 4.4 has no motion-sensor support in web builds, so the browser version couldn't read the phone at all.

  • What I did

    Wrote a Sensors.gd autoload that uses Godot's JavaScriptBridge to listen to the browser's devicemotion events, then swapped it in for the engine's built-in accelerometer and gravity calls. Same game code, now works on the web.

  • Shipping

    Source lives on GitHub. The web build exports to its own branch through a git worktree and deploys to a self-hosted Forgejo server, so a release is export, commit, push.

  • Next

    Online multiplayer over WebSockets, so phone and browser players can share a table. The plan is a headless Godot server on my home Proxmox box, exposed securely through a Cloudflare Tunnel.

Godot 4.4GDScriptJavaScriptBridgeHTML5 exportAndroidgit worktreesForgejo

Other builds

Infrastructure · running

Home lab

I run my own server stack at home: Proxmox for virtual machines, TrueNAS for storage, and DNS for two domains I own through Cloudflare. I also set up hosted email on my family's domain, including the DNS records that make it deliverable.

Fair warning about the photos: I was a lot more excited to get everything running than to make it look nice. The cables skip the patch panel on purpose, since I may be moving soon and wanted it easy to pack up.

Home server rack with a network switch, power distribution, and storage, cables running straight to the switch

Hardware · in progress

Phone-mounted mechanical keyboard

A pocket-sized mechanical keyboard that clips onto my phone case. It uses a hand-wired diode matrix, a Raspberry Pi Pico W talking to the phone over Bluetooth, an I²C trackpad with two mouse buttons, a LiPo battery, and a 3D-printed mount.

How I got here

Before school, I worked all kinds of jobs: kitchens, construction, auto work, and manufacturing. Every one of them taught me how to show up, figure things out, and get the job done. Along the way I built strong customer service skills and learned how to work as part of a team, whether that meant a busy kitchen line or a crew on a job site. Through all of it, I kept spending my free time building things: games, servers, gadgets. In fall 2026 I left my job to study computer science full-time at the Massachusetts College of Liberal Arts.

I'm looking for an internship where I can grow, learn from experienced professionals, and gain real-world experience.

This semester