About

Hi, I'm Robert. I'm passionate about creating unique games with compelling gameplay loops and building software that improves efficiency. My work spans web development, automation, and game systems design, with a focus on practical problem-solving and thoughtful iteration.

Resume

Download (PDF)

LinkedIn

Robert Uhren

Projects

anotherrecipe.site (In Development)

Logo for anotherrecipe.site.

Explore the site

  • PHP (OOP)
  • MySQL
  • Relational Database Design
  • CRUD
  • Authentication
  • Image Uploads

My flagship capstone project: a recipe-sharing web application built with PHP and MySQL using an object-oriented codebase and a structured relational schema. Current functionality includes user accounts, recipe creation and rating, image handling, and dynamic recipe pages designed around clean UI and reusable components.

Next Steps: Saved recipes, improved search/filtering, and additional community features as the project evolves.

WNC Birds Database

Screenshot of the birds database.

Explore the site

  • PHP (OOP)
  • MySQL
  • CRUD
  • Authentication
  • Role-Based Access Control

This project builds upon my earlier Salamanders database by transitioning from procedural PHP to an object-oriented architecture. I implemented user authentication, role-based permission controls, and an administrative dashboard for managing user accounts. The application allows public read access while restricting create, update, and delete functionality to authenticated members, demonstrating secure CRUD implementation and access control patterns. This project strengthened my understanding of OOP design, database relationships, and user authorization workflows in PHP/MySQL.

NGU Idle Automation Toolkit

NGU Idle logo.
  • AutoHotkey
  • Automation
  • UI Interaction
  • State-Based Logic
  • Error Handling

I developed an advanced AutoHotkey automation toolkit that streamlines resource loops, timers, and progression logic for the game NGU Idle. The system uses conditional flows, state detection, and dynamic UI interaction to adapt to changing in-game states.

In addition to manual automation tools, the project includes a lightweight autonomous loop that reads game state and performs optimized rebirth cycles. Through multiple iterations and extensive testing, I refined the system for reliability, efficiency, and smooth long-term operation.

The toolkit was developed fully within the game's explicit support for scripting and demonstrates my approach to automation, problem-solving, and iterative optimization.

Name Sorter

Screenshot of the name sorter page.

Explore the site

  • PHP
  • Data Processing
  • String Parsing
  • Frequency Analysis

A PHP-based data processing script that parses and categorizes a raw list of names into multiple structured outputs. The program generates segmented datasets including: all names, validated names, unique entries, frequency analysis of first and last names, and ranked lists of the most common names. This project demonstrates string manipulation, array handling, data validation, and frequency counting logic using core PHP functionality.

Southern Appalachian Salamanders (SAS) Database

Screenshot of the salamanders database.

Explore the site

  • PHP (Procedural)
  • MySQL
  • CRUD
  • Form Handling

A foundational PHP/MySQL CRUD application built using procedural programming techniques. The system allows users to create, read, update, and delete salamander records through dynamically generated forms and detail views. This project introduced core backend development concepts including database connectivity, form handling, input validation, and dynamic content rendering. It served as the basis for later refactoring into an object-oriented architecture in subsequent projects.

Freelance Development: NFL Blitz

League gameplay with commentary

  • Freelance Development
  • Refactoring
  • Legacy Code
  • Debugging
  • Game Scripting

I was hired to update an old StarCraft map based on Midway Games' NFL Blitz series. This project was a fun test of my refactoring skills. I started working from the latest version of the map file that had been wiped of all project notes and comments. I found a way to re-integrate that data from older versions that hadn't been wiped yet so the map's code could be somewhat legible. Ultimately, I added many new features and mechanics, reworked almost all existing systems, and solved quite a few old bugs. Seeing how much their community loves playing the updated map in their league games has been a real treat.

Accounting Efficiency Tools

AutoHotkey logo.
  • AutoHotkey
  • Process Optimization
  • Workflow Design
  • UI Interaction
  • QuickBooks Desktop

This was a small project I created when I worked in finance. We did our bookkeeping in QuickBooks Desktop, which is great software, but its bulk editing capabilities are lacking. As part of an effort to clean up the books, I was assigned to examine thousands of inventory items, determine when they were last used, and archive them if they hadn't been used in over a year. After doing a couple dozen entries manually, I realized it was going to take way too long to do it that way. I was repeating the same sets of keystrokes and I saw an opportunity for improvement.

I previously used AutoHotkey in my personal life for creating keyboard macros which could repeat key sequences, so with my manager's permission, I wrote a few scripts to substantially reduce the required keystrokes for some of the repetitive tasks we were each working on. With my script, inspecting and archiving inventory items was reduced from a 19-keystroke sequence down to just two, one for inspecting and one for archiving. Seeing the countless hours I saved with such a simple solution was one of my inspirations for changing career paths to become a professional developer.

Impossible Ultraviolet

Players fighting on the first level of Impossible Ultraviolet.
Several heroes engaged in a scuffle on the first level
  • Systems Design
  • Event-Driven Systems
  • State Machines
  • Multiplayer Design
  • Balance & Tuning
  • Procedural Encounters
  • Community Building

This is a personal project. My goal when creating it was to make a fun, highly replayable cooperative action game. It is essentially a dungeon crawl RPG where a team of up to six players fights through five increasingly difficult levels of randomly generated enemies and grow their heroes strength along the way. The game accommodates a wide range of skill levels with five difficulty settings. Games last approximately 90 minutes and victories are rewarded with codes which players can use to unlock bonus features on subsequent playthroughs. Players get to choose one of 21 heroes to play as, each with unique abilities and upgrade paths. I'm happy with how this project turned out; with all the different possibilities, every game feels unique and players truly get to craft their own path. The project has evolved across four releases (UV1-UV4), with each iteration introducing new mechanics, refinements, and balance improvements based on player feedback and my personal vision.

Send me a message

All fields are required