Exact EV tables, backtracking solvers, route scoring, media analysis, and browser workers are visible in code.
Software engineer / banking .NET apps / product tools
Maxwell Metzner
I build and support enterprise banking software with C#/.NET, WPF/WinForms, SQL Server, and REST/SOAP service layers at Fiserv. Outside that work, I ship browser extensions, desktop utilities, solver engines, and static web apps that turn messy workflows into usable tools.
- Banking .NETEnterprise teller/core-banking apps, release support, SQL Server, WPF
- AutomationPython and .NET utilities for logs, test data, SharePoint/forms, and imports
- Product systemsStatic demos, OAuth PKCE, browser workers, solvers, and data workflows
Selected work
Projects with visible mechanics, not just labels.
The featured work below points to running demos or source and calls out the actual pieces worth inspecting: solver files, worker pipelines, auth flows, desktop media paths, ranking logic, and UI surfaces.
The previews mirror the apps' real layouts: dashboards, puzzle grids, dice tools, tables, and timelines.
Static hosting, PKCE auth, local storage, client workers, and desktop dependencies shape the implementations.
Demo and repo buttons are kept close to each project so the claims are easy to check.
01 / Analysis Engines
Casino Cheat Sheet
Static Next.js dashboard with separate analyzers for roulette, baccarat, craps, blackjack, video poker, pai gow, and poker equity.
Splits a pure TypeScript casino engine package from the web UI, then pushes slower equity and simulation work through a browser worker. Visitors can test combined roulette bets, finite-shoe blackjack EV, video-poker holds, and multiway Hold'em/Omaha/stud without any server runtime.
The important files are easy to inspect: packages/casino-engine/src owns the math, while apps/web/src/workers/casino-worker.ts keeps the static UI responsive.
- Live pages
- 10
- Worker
- casino-worker
- Engine
- TS package
02 / Algorithms
LinkedIn Puzzle Solver
Plain HTML/CSS/JS solver surface for Zip, Tango, Queens, Patches, and Mini Sudoku.
Each puzzle has its own grid/input layer and solver file under js/solvers. The app validates impossible boards before search, then marks clues, generated cells, conflicts, and solved paths in the same interface used to enter the puzzle.
The value is visible in the UI: tabs, board editing, solve/reset controls, and solver-specific feedback rather than a black-box answer.
- Solver files
- 5
- UI
- Plain JS
- Validation
- Before search
03 / Game Theory
Farkle Lab
Playable human-vs-CPU Farkle with exact EV tables and an advisor panel.
Precomputes expected values for one through six remaining dice, highlights legal scoring choices after each roll, and compares roll-vs-bank decisions against score, target, and late-game pressure.
Open app.js and the demo side by side: the game loop, scoring choices, CPU decisions, and advisor all share the same EV logic.
- EV tables
- 1-6 dice
- Opponent
- CPU
- Advisor
- Roll/bank
04 / Data Workflow
Spotify Manager
Dark, table-first playlist workspace with browser-only Spotify PKCE auth.
After setup, the app loads playlists, supports CSV-enriched metadata, sortable/resizable Tabulator columns, dedupe review, outlier scoring, transition diagnostics, undo/redo, and export to a new Spotify playlist.
It shows real product constraints in static hosting: OAuth callback pages, local token/config storage, and a dense data-table workflow.
- Auth
- PKCE
- Table
- Tabulator
- History
- Undo/redo
05 / Media Tools
Video Stabbot
Electron video stabilization UI that wraps FFmpeg vidstab, OpenCV features, and RAFT optical flow.
Detects dependencies and GPU encoders, accepts drag-and-drop video input, offers preset and advanced stabilization modes, streams progress, and calls Python/OpenCV/PyTorch scripts for heavier analysis paths.
This is a desktop systems sample: renderer UX, main-process detection, external binaries, Python workers, and media pipelines have to cooperate.
- Input
- Drag/drop
- Engines
- 3 paths
- Encoder
- GPU detect
06 / Planning Systems
Trip Planner
React/Vite itinerary planner that scores stops against route timing, detour, daylight, and preferences.
The guided form builds a route request, then the planner slots meals and optional stops into a timeline. It can run in deterministic demo mode or browser-side Google mode, with local saved trips and explanations for each recommendation.
The ranking pipeline is visible in src/lib/planner: slots, scoring, daylight, provider adapters, and replace/pin/skip interactions stay client-side.
- Planner
- Client-side
- Modes
- Demo/Google
- Explain
- Score reasons
Project index
Smaller tools, extensions, and experiments.
Developer Tools
SourceRegex Isolator
A zero-dependency regex workbench for testing patterns against large text.
Browser Extensions
SourceTab Volume Adjuster
A focused Manifest V3 extension for per-site tab volume and mono audio.
Browser Extensions
SourceChess.com Lichess Link
A one-click PGN bridge from Chess.com games to Lichess imports.
Browser Extensions
SourceAmazon Bestseller Extractor
A scoped extension for extracting Amazon Best Sellers Rank data from product pages.
Browser Extensions
SourceInstagram Saver
A media downloader for Instagram pages available in the user's browser session.
Sync Systems
SourceSteam OneNote Sync
A bidirectional sync bridge between local Steam game notes and Microsoft OneNote.
Windows Tools
SourcePATH Manager
A safer Windows PATH editor with diagnostics, backups, and diff previews.
Game Tools
SourceLossless Scaling Wrapper
A Windows launcher that starts Lossless Scaling, launches a game, and restores focus.
Security Tools
SourceChrome Extension Code Viewer
A local extension explorer with permission risk scoring and entry-point maps.
Windows Tools
SourceAutoclicker
A compact always-on-top autoclicker built only with Python standard libraries.
Games
Source2048 Game
A Python implementation of the 2048 tile-merging game.
Profile
SourceGitHub Profile Config
The profile README and GitHub profile configuration repository.
Site architecture
Static runtime, data-driven maintenance, progressive enhancement.
The page is committed as semantic HTML for indexing and no-JS access. Project content is generated from JSON so adding, removing, and reordering work stays boring in the best possible way.
Canonical project data
assets/data/projects.json owns project order, metadata, links, featured status, and preview type.
Generated static markup
npm run build:projects writes SEO-friendly project HTML and JSON-LD into index.html.
Small enhancement layer
Vanilla JavaScript adds filtering, sorting, reveal animation, theme persistence, and a reduced-motion-aware canvas field.
Performance first
No framework payload, no external fonts, lazy media below the fold, CSS containment, and static assets suitable for GitHub Pages.
About
Engineer at Fiserv, builder after hours.
I am a software engineer based in New Jersey with a Computer Science degree from Stevens Institute of Technology. Professionally, I work on Fiserv enterprise teller and core-banking software with C#, .NET, WPF/WinForms, SQL Server, and service-layer integrations.
Outside of work, I like building practical tools with enough depth to teach me something: browser automation, static apps that handle real auth flows, Windows utilities, and algorithmic engines that stay understandable.