Relevant Employment
Software Engineering Contractor
Stack: Rails, CSS, HTML
FoodRecovery.org — January 2026 to Current
- Partnering with the FoodRecovery.org team on UI work and modernizing legacy Rails views, bringing inconsistent ERB templates and partials into a coherent, accessible, and usable design.
- Refactoring Rails views and stylesheets into a consistent experience across workflows on the platform.
Snow Owl
Stack: Svelte, AI, TypeScript, Framer
Software Engineer — September 2023 to December 2025
- Developed front-end components for AI-powered workflow automation platform including workflow editors, design systems, dynamic form builders, and AI-powered chat interfaces.
Coinbase
Stack: React, TypeScript, Rails, React Native
Senior Software Engineer — October 2020 to September 2022
- Led the decomposition of Coinbase-wide login out of the legacy Ruby on Rails monolith, working across Rails controllers, views, and authentication flows to carve out a standalone React application. (View Coinbase Login)
- Drove a broader effort to extract user-facing surfaces from the Rails monolith into modern applications, navigating Rails routing, ERB templates, and shared session infrastructure to keep parity during migration.
- Converted mobile app native login to a web-based login experience, reducing duplication and deployment times across iOS, Android, and web.
- Added registration and profile support for decentralized identity ENS names through Coinbase Wallet extension.
- Mentored incoming software engineers on best practices, code quality, career coaching, and criteria for advancement.
Dynamic Signal
Stack: React, JavaScript, Management, .NET
Staff Software Engineer — July 2019 to June 2020
- Focused attention on standing up new React web application to replace 8-year old management site monolith.
- Collaborated with lead front-end architect to rapidly develop groundwork alongside iterative design process.
Manager of Front-End Engineering — May 2017 to July 2019
- Encouraged and grew team of engineers that maintained all front-end web applications and the platform's public API.
- Championed and led major modernization project converting the member-facing site from .NET MVC & Knockout to React.
- Created a desktop application and build tool in an effort to drive end user engagement and combat legacy browser usage.
- Applied best practices and an empathetic approach when creating a swim lane process that helped engineering scale.
- Architected, organized, and managed ambitious scripting engine project; making integrations quick and easy to deliver.
- Awarded company MVP Q4 2018 from individually submitted feedback and team nominations.
- Organized first internal hackathon from concept to execution, leading to multiple entries being added to the product.
Senior Software Engineer — July 2015 to May 2017
- Standardized public API development and created the user interface and tooling for generated API documentation.
- Founded the internal "Culture Committee", focused on promoting positive company culture and inclusion across offices.
ADESA / Sogeti
Stack: .NET, JavaScript, CSS
Software Engineer & Scrum Master — June 2012 to June 2015
- Designed enterprise web portal for creating and managing variable pricing engine across all auctions and business units.
- Upgraded business-critical web front-end from MVC 2 to MVC 5.2 and converted all content from ASP Forms to Razor.
- Refactored entire application from page-specific CSS to a globally consolidated LESS structure utilizing common variables.
- Developed workflow for efficient vehicle identification based on manufacturer build data and process improvement.
- Led development team in technical effort to utilize modern Azure capabilities as well as optimize web performance
- Implemented an enterprise-wide, customer-facing, industry-standard grading system for remarketed vehicles.
- Researched and documented architecture and design principles for inherited large-scale ExtJS web application.
- Developed a range of full-stack systems including .NET web service offerings, customizable cloud-based enterprise systems, single page web applications, Oracle master-data systems, and existing system stabilization/modernization.
Independent Projects
GiftWrapt Wish Lists
Stack: TanStack, NextJS, TypeScript, iOS, Postgres, Docker, AI
GiftWrapt on GitHub
- Family wish-list and gift coordination platform. What started as a private holiday hack called "HoffStuff" has grown into GiftWrapt Wish Lists: a fully open-source, self-hostable product shipping as both a web app and a native iOS app.
- v1 ("HoffStuff") proved the model on a fast-shipping NextJS + Supabase + TypeScript stack with smart URL imports that auto-fetch product details and images, off-list add-ons, multi-buyer coordination with built-in secrecy, gift idea capture, and per-list spend tracking. Everything a family actually needs from a wish list.
- v2 ("GiftWrapt") is a ground-up rewrite on TanStack Start, TypeScript, and Postgres, packaged as a single Docker container so any family, or any contributor, can self-host the entire experience with zero vendor lock-in.
- Native iOS app is built as a multi-tenant companion: a single install lets users sign into any GiftWrapt instance (their own, a family member's, a friend's) and manage lists, claim gifts, and track spend right from their phone, right at the store.
- Layering on AI-powered delight: tailored gift suggestions for each recipient, surprise-preserving recommendations that respect the secrecy model, natural-language list creation, and richer product enrichment that goes well beyond a plain URL scrape.
Hospitality Channels
Stack: TypeScript, FFmpeg, Docker
Hospitality Channels on GitHub
- Self-hosted guest TV channel creation system for hospitality environments like guest rooms and Airbnbs.
- Template-driven video clips composable into multi-clip programs with background audio, rendered to MP4 via headless Chromium and FFmpeg.
- Built-in Tunarr integration for pushing published channels directly to IPTV playlists.
Bluesky Projects
Stack: TypeScript, atproto, WebSockets, Docker
Video Game Companions
Stack: NextJS, TypeScript, Unreal
- Satisfactory Notebook: A game companion for those that prefer to print things out or just like a quick reference.
- Dyson Sphere Planner: A companion for Dyson Sphere Program that allows you to easily reference and print recipes.
Misc Projects
Stack: NextJS, TypeScript, RSS, MapBox, Adobe
- MedStash: Straightforward self-hosted web app for storing receipts for long-term HSA recordkeeping.
- Shared Contacts: Self-hosted app for sharing and synchronizing contacts across devices with a modern UI.
- Podcast Landing Pages: Powered by NextJS and integrated blogs with Sanity Studio for some friend’s podcasts - High Potion / Blue Harvest / Jammed Transmissions / Dinner with the Heelers / Scruffy Lookin Podcasters .
- News Years Eras Letter: My take on Madison's New Years Letter, themed and inspired by the Eras Tour.
- PCT Hike Tracker: Visualizing Madison's PCT adventure with links to bonus content like newsletters and photos.
- Star Wars Celebration Events: A convention companion making it easy to plan your trip with official and unofficial events.
- After Effects Plugin: Allows you to use photo GPS data to fetch the city and state, add it and the date to a composition as a text layer, and batch process everything (with transitions) to an output composition. This was used to create multiple 600+ photo slideshows for long-distance hikers.
- Tahoe Air Quality: Dead simple air quality indicator using data from a local air quality station and local APIs.
- Home Automations: My favorite is an outdoor light that signals the next trash pickup (blue for recycling, green for yard waste), powered by Home Assistant and a custom integration with the waste management site.