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.
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
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
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
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
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
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