The majority of my technical work over the past three years has been professional — building and maintaining the identity and authentication infrastructure behind AVEVA CONNECT, an industrial intelligence cloud platform that centralizes operational data for engineering and manufacturing organizations worldwide. That work spans OAuth 2.0 authorization servers, OpenID Connect federation, Kubernetes microservices, and Microsoft Entra ID integration — none of which I can open-source, but all of which has shaped how I think about building reliable, secure systems at scale.

Outside of that, I build things for fun. Below is a mix of hardware, embedded systems, game development experiments, and the infrastructure behind this site.

Hardware & Embedded Microcontrollers, circuit design & embedded systems
01

Interactive Donation Machine

🏛 Delivered & installed — Cade Museum, Gainesville FL

Senior design project built for the Cade Museum of Creativity and Invention as part of UF's Interdisciplinary Product and Process Design (IPPD) program. The machine is a Rube Goldberg-style interactive donation display — a visitor inserts a coin which triggers a chain reaction through five themed "Mothers of Invention" stations, each representing a historical inventor. Stations included a Les Paul guitar with a programmed LED sequence, a CJ Walker display with motorized flowers, a slinky elevator, a model rocket, and an Archimedes screw.

My role focused on the electronics: designing and soldering the circuitry, programming Raspberry Pi Pico microcontrollers, and wiring inductive proximity sensors that triggered each mechanism as the ball passed through the track. The entire machine was fabricated with 3D-printed components and custom woodwork, and was delivered and installed in the museum at the end of the year.

Raspberry Pi Pico MicroPython Circuit Design Inductive Proximity Sensors 3D Printing Soldering UF IPPD
Team FunRaiser with the Interactive Donation Machine at the IPPD Final Design Review

Team FunRaiser presenting at the IPPD Final Design Review event

02

Flappy Bird on a Real-Time OS

A from-scratch rebuild of Flappy Bird running on a Texas Instruments TM4C123G LaunchPad microprocessor. The core challenge was implementing a real-time operating system entirely in C and ARM assembly — no libraries, no abstractions. This included a custom round-robin scheduler, periodic and interrupt-driven threads, FIFOs for inter-thread communication, and semaphores for synchronization.

Everything down to the hardware abstraction layer was hand-written: GPIO drivers, timer configuration, and the display interface. The result is a fully playable game running on bare metal with deterministic thread scheduling.

C ARM Assembly RTOS TM4C123G Round-Robin Scheduler Semaphores FIFOs

Demo running on the TM4C123G LaunchPad

Game Development SwampHacks hackathon projects — award winners
01

GCDC: Gator Comes to Defend College

🏆 Best Retro Theme — SwampHacks VII

A University of Florida-themed 2D side-scrolling platformer built in 36 hours at SwampHacks VII. Play as Albert the alligator, collect Flex Bucks and Oranges, and fend off Knights and Bulldogs. Neither myself nor my teammates had used PyGame before — we went from zero to a fully playable game with menus, collision detection, enemy AI, a currency system, and a death/restart flow entirely within the hackathon window.

One of the trickier technical challenges was platform collision — figuring out how to let the player land on and jump off platforms correctly while sleep-deprived at 2am. We also learned collaborative Git branching for the first time as a team during this project.

Python PyGame Tkinter 36-Hour Build

Gameplay demo submitted to SwampHacks VII

02

DesktopKnight

🏆 Most Creative Use of Twilio — SwampHacks VIII

A desktop pet built at SwampHacks VIII — a medieval knight that roams your screen, shouts Monty Python quotes, and attacks your cursor whenever you get too close. More than just a gimmick though: when your computer goes idle, he texts you an inspirational quote via the Twilio API to nudge you back to work.

Under the hood the knight's behavior is driven by a finite state machine that monitors mouse position and system idle time. Audio playback runs in a separate thread to prevent the sprite from freezing during sound — getting Tkinter to manage multiple threads cleanly without deadlocking on exit was the main technical challenge of the project.

Python Tkinter Twilio API Finite State Machine Multithreading

Demo submitted to SwampHacks VIII

This Website Infrastructure & design
01

ethanglogau.com

A hand-written (with the help of claude) portfolio site with no frameworks or build tools — plain HTML and CSS, served from a Docker container running nginx. Hosted on a KVM VPS via RackNerd, with Cloudflare handling DNS, CDN, DDoS protection, and SSL termination in Full (strict) mode. Nginx on the host acts as a reverse proxy routing traffic into the container on localhost. Deployed manually over SSH.

HTML / CSS Docker Nginx Cloudflare Linux KVM VPS SSH