-- ~/portfolio/README.md · git status: clean

Hunter Pollock

>software engineer

-- b.s. computer science @ bridgewater state university · foxborough, ma

currently building Perch, a notch overlay for Windows launching on Steam

j / scroll to continue ↓

-- ~/portfolio/about.md

#About

I'm a Computer Science student at Bridgewater State University (B.S., expected May 2028) and have been writing software for about nine years. I started by shipping multiplayer games as a teenager and have since moved down the stack. Most of my work today is C++ desktop and systems software, backend services, and the tooling around them.

I care about how things actually work: the allocator behind the API, the protocol under the framework, the scheduler beneath the render loop. I like owning a product end to end, from architecture and implementation through infrastructure, documentation, and release.

> interests: systems programming, backend infrastructure, real-time rendering and UI, game development, compilers and language tooling

~9ywriting software
3.9major gpa · 3.6 overall
2028expected graduation
4M+players across shipped games

-- ~/portfolio/experience.md

#Experience

Jul 2026 – presentremote

Perch · perchapp.org

Co-founder & software engineer

  • Co-founded Perch, a Dynamic-Island-style notch overlay for Windows launching on Steam. I own all engineering; my co-founder owns product design and planning.
  • Built the core application in C++20 on SDL3 and OpenGL: a transparent, click-through, always-on-top surface that composites a Chromium (CEF) off-screen-rendered UI over the live desktop. Event-driven, with zero repaints when idle.
  • Designed the context-arbitration engine and a transition protocol that delivers state changes to the view as animatable transitions rather than snapshots.
  • Built the Lua mod system (sandboxed packages, declarative display vocabulary, scoped permissions, Steam Workshop publishing) and Perch Studio, a standalone mod IDE with Monaco, a real lua-language-server, and live preview through the app's own renderer.
  • Integrated on-device voice control (Moonshine ASR on ONNX Runtime with a custom-trained wake-word model) plus Discord, media, and system-event providers.
  • Run the surrounding infrastructure: Astro documentation site on Cloudflare Pages with an automated API-parity check, a Discord bot on Cloudflare Workers and D1, an open-source MCP server for mod authoring, and telemetry.
C++20SDL3OpenGLCEFLuaONNX RuntimeSteamworksCloudflare
2024 – 2026remote

NuAuth · software licensing platform

Backend engineer

  • Architected and implemented the core DRM backend: hardware-ID and IP-based ban enforcement, encrypted license validation, and authenticated streaming of files, variables, and secrets to client applications.
  • Designed multi-region infrastructure with a central core app and database, a global Redis layer, and regional authentication nodes with local caches for low-latency validation, deployed as separate ASP.NET projects.
C#ASP.NET CoreEF CorePostgreSQLRedisDocker
2020 – 2025roblox platform

Independent game developer · Roblox

Programmer & systems designer

  • Shipped multiple multiplayer titles totaling 4M+ plays, peaking at 2,500 concurrent players and sustaining hundreds of concurrent users for months.
  • Built matchmaking and lobby systems, in-game economies, procedural map generation, NPC AI, and server-authoritative anti-exploit validation. Ran the external services behind the games, including an ASP.NET API and a Discord moderation bot.
LuauRoblox StudioASP.NETNode.js

-- ~/portfolio/projects/ · 6 entries

#Projects

perch/

2026 – present in development · launching on Steam perchapp.orgperch-mcp

A notch overlay for Windows. Music, calls, volume, and user widgets live in one pill at the top of the screen: present when something happens, gone when it's done. Every context change is composed by an arbitration engine and delivered to the view as an animatable transition, never a snapshot.

Written in C++20 on SDL3 and OpenGL, with the UI rendered by CEF off-screen and composited over the desktop through a click-through layered window. Co-founded with a partner who leads product design and planning; I lead engineering.

C++20SDL3OpenGL 3.3CEFWin32LuaONNX RuntimeSteamworksCMake
  • perch-studio: standalone mod IDE shipping as its own Steam tool. Monaco plus lua-language-server with generated stubs, live preview through the real renderer, Workshop publishing.
  • mod system: sandboxed Lua packages (widgets, contexts, themes) with a declarative display vocabulary, scoped permissions, and hot reload.
  • voice: on-device pipeline with an adaptive segmenter, Moonshine ASR on ONNX Runtime (about 70 ms per command), and a custom-trained "hey perch" wake model.
  • perch-mcp: open-source MCP server exposing docs, vocabulary, a validator, and run-in-Perch to coding assistants.
  • perch-site · perch-bot: Astro docs site on Cloudflare Pages with an API-parity check; Discord bot on Workers and D1 with an automatic Steam changelog feed.

zomboid-map/

Aug 2026 – present live · v1.10 zomboidmap.com

An interactive web map for Project Zomboid Build 42, built to replace the defunct official map. A C++ ingest pipeline reverse-engineers the game's binary map and texture formats and renders the entire Kentucky world into a tile pyramid. A React frontend layers game data on top.

4,065 map cells 47 floor layers 1.08M base tiles / layer 90.8K rooms 9.5K buildings
C++20TypeScriptReactLeafletViteCloudflare PagesR2Workers
  • parsers: bounds-checked readers for .lotheader, .lotpack, and texture .pack files, validated byte-exact against every cell and pack in the game.
  • renderer: multithreaded isometric renderer with per-thread caches and a WebP tile pyramid. Per-floor output enables floor switching and basement views.
  • features: A* route planner over the street network with walk and car ETAs, loot finder, base-finder scoring, zombie heatmap, zones, room interiors, vehicle spawn intel, bookmarks with import and export, permalinks.
  • ops: static site on Cloudflare Pages, tiles on R2 with zero egress, and a suggestion box backed by Pages Functions that feeds the roadmap.

nuauth/

2024 – 2026 retired

A DRM and software-licensing platform for solo developers through enterprise clients: license validation, hardware-bound bans, and authenticated secret streaming behind a multi-region ASP.NET deployment.

C#ASP.NET CorePostgreSQLRedisDockerEF Core

-- built

  • Core DRM backend: hardware-ID and IP-based ban enforcement, encrypted license validation, authenticated file, variable, and secret streaming to clients.
  • Multi-region infrastructure: central core app and database, global Redis layer, regional auth nodes with local caches for low-latency validation.
  • Multi-project ASP.NET architecture separating the dashboard and API from auth nodes so each scales independently.

build-a-helicopter/

Aug 2025 live play

An endless-runner on Roblox: fly a helicopter as far as possible before crashing or running out of fuel, then spend earnings across about 60 purchasable parts covering blocks, propulsion, and aerodynamics. 800K+ visits.

LuauRoblox Studio

-- built

  • Procedural map generation: seeded random maps assembled from section models, connected seamlessly at runtime with no pop-in.
  • The full shop, building, painting, and plot system, the tutorial, and cross-platform UI. Profile persistence on ProfileStore extended with async writes.
  • Funnel and economy analytics through Roblox's analytics APIs.

-- hardest problem

Race conditions and exploit prevention. Rapid-purchase stock-limit bypasses and placement-based item duplication were solved with mutex-style guards, and map-escape exploits were countered with server-side impossible-state validation.

cold-call/

Jul 2024 live play

A Roblox adaptation of COLDLINE by Adam Pype and Viktor Kraus: a short horror-puzzle where players navigate an automated phone system under a 10-minute limit to stop a nuclear disaster.

LuauRoblox Studio

-- built

  • The telephone interaction system and its behavior tree: a branching menu-navigation tree that tracks player position, handles invalid input, and resets correctly on failure.
  • Live map system, sound system, UI, and multi-platform support.

-- hardest problem

Making the phone menu both reliable and extendable at once, plus the projection math behind the live map.

five-nights-at-darius/

2024 retired

A multiplayer recreation of Five Nights at Freddy's 1 themed around Darius, an online personality. Players survive nights as security guards managing cameras and limited power against NPCs, with party lobbies, full character customization, and an item shop. My most successful title: live for several months, peaking around 2,500 concurrent players.

LuauASP.NETPostgreSQLRedisDocker

-- built

  • Multiplayer lobby and party system, the full game loop, camera system, customization, and the item shop.
  • NPC AI driven by game state and the positions of other NPCs, with movement and aggression scaling by night and difficulty, tuned for tension while staying debuggable.
  • External item database and shop state as an ASP.NET API, and a Node.js Discord bot for moderation and the item marketplace.

-- why retired

An external service dependency stopped functioning, so the title was retired.

-- ls projects/smaller/ · course and side projects, public on GitHub

-- ~/portfolio/skills.toml

#Skills

[languages]# primary first

C++ C# C Lua Luau TypeScript JavaScript Java Python SQL PowerShell Bash Rust (learning)

[systems_and_graphics]

Win32 API SDL3 OpenGL GLFW Dear ImGui Chromium Embedded Framework sol2 Lua C API Steamworks SDK Steam Workshop DPAPI Memory management RAII Multithreading Lock-free programming Atomics Binary format reverse engineering Embedded systems Microcontrollers

[compilers_and_language_tooling]

Compiler construction Lexers & parsers Abstract syntax trees Code generation Bytecode VMs Interpreters Language Server Protocol

[build_and_toolchains]

CMake Ninja vcpkg MSVC GCC Clang MinGW clang-format clang-tidy MSBuild .NET SDK Maven Gradle

[backend]

ASP.NET Core Entity Framework Core PostgreSQL Redis MySQL SQLite Database design Indexing & query optimization REST API design WebSockets Long polling Real-time dispatch JWT OAuth Applied cryptography Unit testing Structured logging Seq Discord API Telemetry pipelines ngrok

[operating_systems]# years on all three, daily driver and servers

Windows macOS Linux Ubuntu Fedora Server administration systemd SSH tmux nginx Firewalls (ufw / iptables) User & permission management cron Shell scripting Package management (apt / dnf) Log management Headless server setup

[infra_and_ops]

Docker Docker Compose Cloudflare Workers Cloudflare Pages Cloudflare D1 Cloudflare R2 Cloudflare DNS GitHub Actions CI/CD Windows Server administration

[web_and_desktop]

React Node.js Tailwind CSS HTML CSS Electron Monaco Editor WPF WinUI UWP .NET MAUI Unity Roblox Studio Blitz3D Minecraft plugins (Bukkit) Minecraft plugins (Paper) Minecraft plugins (BungeeCord)

[tools]

Git GitHub Neovim CLion Rider IntelliJ IDEA RustRover Visual Studio VS Code WSL Figma Python scripting ffmpeg Wireshark x64dbg Photoshop

[professional]

Sales Funnel optimization Data analysis Project management Code review Customer support

-- ~/portfolio/education.md

#Education

Bridgewater State University

B.S. Computer Science

expected
May 2028
gpa
3.6 overall · 3.9 in major
location
Bridgewater, MA

-- relevant coursework

  • Operating Systems
  • Computer Organization & Assembly
  • Computer Networks
  • Data Structures & Algorithms
  • Unix / Linux System Administration
  • Linear Algebra
  • Discrete Mathematics
  • Calculus I

-- ~/portfolio/contact.md

#Contact

Open to internships and software engineering roles for summer 2027, and to interesting systems problems anytime. Email is the fastest way to reach me.

:wq

"~/portfolio/index.html" written · © 2026 hunter pollock