Hi! I'm Doug. I am a software dev, athlete, husband, and Christian.

Software

I design software for a living. Message me if you'd like to work with me.

The tools I use professionally include C#, Python, C, C++, XAML, and SQL. Haskell, Rust, and anything that usurps JavaScript (examples: WASM, PureScript, TypeScript, Fable) are also interesting.

Skills that transcend specific tech keywords are especially exciting:

  • Functional programming. Based in math and a history going back to the 1930s, FP is the end-game of SOLID principles. It lets us keep programs testable and easy to understand by maximizing composability, minimizing mutability, and pushing state to program boundaries.
  • Math. Math lends rigor and stability to the otherwise young and shifting field of software.
    • Category theory helps one understand how the algebra you learned in high school is just like code.
    • I always have a can of Linear Algebra nearby.
  • Static typing. Let your compiler be your tester.
  • Software design. Good design wrangles complexity, defines precise abstractions, draws correct boundaries, and endures. I'm a fan of DDD and hexagonal architecture.

Some of my projects:

  • RayCommand. Beautiful WPF frontend, 3D graphics, and C# services supporting the needs of radiation therapy clinics
  • FitEdit. An Avalonia MVVM frontend and ASP.NET Core backend built on Supabase. Integrates with Garmin and Strava. A SaaS offering for athletes and fitness enthustiasts
  • Treadmill. A circuit board designed in KiCad and Xamarin/MAUI Android app for controlling a treadmill
  • Irrlicht.Net, Ompl.Net, Kdl.Net. C# wrappers for popular C++ libraries
  • BrowserRouter. Launches a different URL depending on the URL
  • ...and more on GitHub

Athlete

I run and swim competitively. Find me on Strava or Athlinks.

Husband

Abby is the best wife ever.

Christian

Jesus is the way, the truth, and the life. I go to Immanuel Church.