My name is

Doug
Fenstermacher

I build software for audacious projects, and for the people who use them.

My Projects

From long runs to code sprints

I used to run competitively. These days I chase solutions that work for real people in real places, not just demos that impress in conference rooms.

I like building sustainable solutions for specific problems. Here are some of the components that can be combined, adapted, and maintained long after the initial build.

Web/App Development

I build web applications from the backend up using Python, PHP, Java for the foundation, ReactJS and AngularJS for interfaces that work even when the wifi doesn’t.

Data Analysis

I turn messy datasets into something useful. Python for wrangling, anomaly detection, recommendation systems. ReactJS for making the results legible to humans.

Machine Learning

I build and deploy NLP and computer vision models that run in production, not just notebooks. Custom loss functions like hierarchical cross-entropy when the problem needs nuance.

Mechanism Design

I design systems where individual incentives align with collective goals, like markets, resource allocation, governance structures. Puzzles with purpose: guiding behavior without coercion.

Operations Research

When resource allocation gets tangled, I untangle it. Linear optimization, combinatorial methods, cost-minimization. Finding efficient paths through complicated constraints.

System Architecture/Design

Docker orchestration, microservices, REST APIs, GitLab CI/CD, etc. I build the infrastructure that lets applications scale without collapsing. Foundations for smooth, high-traffic experiences.

My blog is where I think out loud about messy, real-world problems. Sustainable solutions, impact-driven design, practical approaches that outlast the next shiny framework.

Experiment

Streamline Hatching: A Programmer's Guide to Computational Drawing

A deep dive into computational hatching. Using structure tensors, edge tangent flow, and streamline integration to transform photographs into hand-drawn-looking illustrations.

Tags

Data Drawing Math Svg Webgpu
Blog

Balancing LLM Prompt Analytics and User Privacy

Learn how to implement effective prompt analytics for large language models while safeguarding user privacy. Discover key strategies, best practices, and ethical considerations in this guide.

Tags

Data Llm
Experiment

Neural Variational Document Models with PyTorch for Topic Extraction

Discover how Neural Variational Document Models, implemented using PyTorch, improve topic modeling and unsupervised learning in natural language processing. Learn about the architecture, training process, and applications of these latent variable models for text analysis and beyond.

Tags

Data Math Nlp Python
Project

Harnessing X-Means Clustering and CIE2000 for Visually Striking Dominant Color Extraction

Discover how to harness the power of the X-Means clustering algorithm and CIE2000 color distance metric to accurately extract dominant colors from images. This advanced technique combines unsupervised machine learning with human color perception principles to generate visually appealing and representative color palettes. Perfect for data-driven design, image analysis, and computer vision applications. Dive into the world of color science and elevate your image processing skills with this comprehensive guide.

Tags

Data Javascript Math
Experiment

Boosting Web Performance: Implementing K-Means Clustering with WebAssembly and Emscripten

Exploring complexities of optimizing web performance by implementing K-Means clustering algorithms using WebAssembly and Emscripten.

Tags

C++ Data Javascript Math
Experiment

2 Trustworthy Alternatives to Improving Performance Lists in Track & Field

Improving meet performance lists in track & field using the previous performances of the competitors

Tags

Data Forecasting Math Running