Dave Mainville

Projects Blog About
  • Atlas: The Homelab Cluster Where Everything Else Gets Deployed

    Oct 4, 2026

  • The Crucible App: An Offline-First Operating System for 12-Week Cohorts

    Oct 4, 2026

  • Benchmarking Self-Hosted Models on an RTX 3090: My Own Two-Score Test Bench

    Sep 26, 2026

  • Proof of Life: A Collectible Game of Real-World Invitations

    Sep 25, 2026

  • Fire & Strike: Monte Carlo, Percentiles, and the Price of Retiring on Schedule

    Sep 24, 2026

  • The Monkey in the Middle: Ripping 400 DVDs Without Losing My Mind

    Sep 23, 2026

  • Firmware by Stewardship: A Todoist Panel on Waveshare Hardware

    Sep 14, 2026

  • Slides as Code: Building a Team Workshop with Reveal.js and an LLM

    Sep 3, 2026

  • When There Is No API, the Browser Is the API: Auditing 30,000 Google Photos with AutoHotkey

    Sep 3, 2026

  • A Fire Drill for Judgment: Tabletop RPG Mechanics for Team Decision Practice

    Sep 3, 2026

  • Coming Home: Packaging a Journey of Introspection for My Wife

    Aug 20, 2026

  • Bubble Pop: A Tiny Game Built for My Daughter

    Aug 14, 2026

  • Deleting with Confidence: A Crash-Safe Queue for Moving Tasks Out of Todoist

    Aug 13, 2026

  • One Prescription for Every Video: Standardizing a Home Streaming Library

    May 25, 2026

  • Growing the Goal: A Visual Timer Built from the Progress Experiment

    Mar 22, 2026

  • Managing Attention with Progress: Two Fills, One Bar

    Jan 29, 2026

  • Quantifying the Fog: Gut Instinct Plus Delta for Better Estimates

    Sep 12, 2025

  • Equitable, Not Equal: Building a Household Budget Splitter

    Oct 18, 2024

  • Cleaning 15,000 Contacts with a Chain of Responsibility

    Aug 11, 2023

  • The Funnel Calculator: Modeling Marketing Math in Two Directions

    Jun 1, 2023

© 2026 Dave Mainville. All rights reserved.