Ryan Duke // luther
open to work

Engineering log  ·  self-taught since 2011  ·  shipping to real people

I build small, sharp tools and keep them alive.

I'm a self-taught developer and reverse engineer. I like shipping things people actually use, then sticking around to maintain them. My navigation tool for Path of Exile 2 has more than a thousand players on it right now, and I've patched it in step with the game since the day it launched.

POE2GPS · live
1,000+measured ✎
players using it daily
Release cadence
90 releases since May 2026
745 commits, solo
patched within a day of each game update

Work

/ built & maintained
2026–now solo · live · poe2gps.com

POE2GPS — real-time overlay & navigation for Path of Exile 2

A live overlay that reads the game as you play and guides you through maps in real time. More than 1,000 people use it daily. I ship a patch within a day or two of every game update — 90 releases and 745 commits since launch in May 2026 — and I run the whole thing solo: the Windows overlay, the Cloudflare Workers backend, and the supporter tooling.

C#real-time overlayCloudflare Workersgame-state parsinglive ops

open poe2gps.com →

2016–now co-founder, 1 of 3 · realmstock.com

RealmStock — game-community storefront & tooling

I co-founded a three-person company and built its store from the database up: the storefront, checkout, and an automated pipeline that delivers orders instantly. To give the community free tools, I reverse-engineered the game client and its network protocol and shipped a custom client and a real-time event notifier. It has been running for nearly a decade.

full-stackC#reverse engineeringnetwork protocolautomated fulfillment
2026 solo · live · tincturepoe2.com

Tincture — Path of Exile 2 build-meta tool

Every hour it reads the top of the ladder through poe.ninja and distills more than 124,000 characters into a ranked list of builds. Click once and it writes a build straight into the game's planner through the File System Access API. There is no backend and nothing gets tracked; it is stdlib Python on an hourly GitHub Action that fails safe.

PythonGitHub ActionsFile System Access APIstatic site

open tincturepoe2.com →

founder canopynorcal.com

Canopy — web studio for Northern California

I run a small studio that builds sites for retail shops and restaurants around Northern California — design, build, and delivery, start to finish.

web designfront-endclient work
contributor XDA Developers

Custom Android ROM — 5M+ downloads

I ported Android 4.0 to phones that never officially got it, adapting the framework from a supported device onto older hardware that shared much of its internals. It was bytecode-level work: decompiling system apps to smali, patching and recompiling the framework, and editing build.prop and firmware internals. One ROM I worked on passed 5,000,000 downloads on XDA.

smali / baksmaliAPKToolAndroid frameworkfirmware
2017–now Chico, CA

National Parks Recreation — Web Developer

I build and maintain the organization's production website end to end: feature work, user-acceptance testing, and tracking down issues in production through root-cause analysis.

Ruby on RailsJavaScriptCSSBootstrap
2019–2020 Tucson, AZ

Honeywell Aerospace — IT Specialist

Deployed and maintained embedded systems in an aerospace shop, repaired hardware, and turned dense technical detail into plain language for the people using the devices.

embedded systemshardwaretechnical support

Reverse engineering

/ live, in-browser

Three tools I wrote that take apart binary formats in your browser. Nothing gets uploaded. Each runs on a parser I wrote from scratch, checked byte-for-byte against a separate implementation.

APK Inspector decodes an Android app's manifest, permissions, and signing. Packet Visualizer reads a .pcap or .pcapng and dissects it up the stack. APK Security Scanner grades an app A–F, flagging risky config and hardcoded secrets.

back to work →

Let's talk.

I'm open to software roles. Email is the fastest way to reach me, or use the form and it lands in my inbox.