Heya!

I'm David, a cooking, biking, photographing skilled whiteboarder (and software engineer!)

Programmer Systems Architect NYC
§ 01 — About

About Me

I've always loved working with computers. From simple Batch scripts in Pre-K to running one of the world's most popular Minecraft servers, I've had a deep passion for the crossroads of computing, creativity, and community.

Software engineering became my way to translate these ideas in my head to reality—from glue to keep game servers running to early machine-learning concepts for community moderation.

Nowadays, I work at Broadcom (née VMware, Pivotal) helping clients solve all sorts of technical and human challenges. From cloud platform buildouts, to solving megascale hurdles, or even starting training bootcamps, nothing is 'not my job'.

I practice Extreme Programming, focusing with User-Centered Design, and implementing with pair programming and test-driven development. I have strong opinions about platforms as products.

Also: a lot of bad bird & astro pictures, bike rides, and a Cannonball attempt.

Based: NYC · Stack: Go / Python / Java · 10+ yrs
§ 03 — Photography

Recently Seen

Can't say I'm a good photographer, but I do find it a lot of fun :)

14 photos · last updated May 2026
§ 04 — Projects

Personal Projects

§ 05 — Writing

Recent Writings

§ 06 — Hello?

Let's build something. Or just say hi.

I read every email, usually within a day or two. Happy to talk about any technical issue you're facing, or if you just wanted to chat about something.

Welcome my canvas.
Everything is laid out in space. Drag to roam, scroll to zoom, or use the nav up top to teleport.
currently planning a wedding, please send any info/tips to [email protected] :)
Tip: press 0 to reset the view if you get lost.
This is one of a few custom expansions, which includes a meta-pile (similar to Knights) of cocktails.
Full card art was a really important UI decision for me; other online variants only offer chopped-off editions.
Competitive games use OpenSkill for rank ratings, leveraging the PluckettLuce aglorithm
Achievements for common, rare, or challenges. They award points, which are exchangeable at an in-game shop for player profile cosmetics or custom SFX that fires when marquee cards are purchased during gameplay.
An achievement for an in-house rule: VP ties are solved via a coin toss if both players accept.
Dawg (not mine)
Dawg (not mine)
Car camping!
Car camping!
Dominion: In-Game
Overview of a Dominion Profile
Cocktails, a custom meta-card for a stack pile, similar to Knights
Avatar of Matthew
Avatar of Francesco
Dominion Behelit
README

Dominion online

My friends and I really like the card game Dominion. There are already official online offerings of Dominion, but we like playing with house rules, custom printed cards, and competitive matches with rewards. In addition, I thought the UX of the existing online Dominion services were a bit difficult. So, I set out to make my own.

I built a verb-based engine where every Dominion card is expressed as a composition of low-level primitives (called verbs for common actions, like gain_card or trash_card. Cards register themselves via decorators into a central dispatch registry, which are looked up by the core engine loop as events come in. Branching, multi-step interactions (i.e. "trash a card, then gain a card costing $2 more than it") collapse into an atomic state machine installed as a "pending action", pausing the game loop while the nested action completes.

The payoff of this architecture is its' extensibility; adding a new card, a full custom expansion, or a house rule is a single decorated function leveraging these API-like verbs—no changes to the engine required.

status: active | 2026
  • Python
  • Flask
  • React
  • Javascript
  • Jotai
aspects.py
avatar_of_matthew
David Lohle Untitled 96 · 2026
50%
RESET
MINIMAP
x: 0 · y: 0
DRAG to roam · SCROLL to zoom · 0 to reset