M
Marc M Veihl
Marc M Veihl
Product Development & Manufacturing

Marc M Veihl

Senior Staff Engineer at Stryker bridging R&D and Manufacturing. Northwestern mpd² candidate building fluency in the fuzzy front end of innovation.

NPI Launch Supply Chain PPAP Global Mfg DFMA Product Strategy
What I Do

I serve as the bridge between Research and Development and Manufacturing — evaluating global supplier capabilities, driving supply chain readiness, and guiding contract manufacturers through production approval while balancing cost, quality, and schedule. Six years of launching connected medical devices, from first-generation Wi-Fi hospital stretchers to global manufacturing transfers across Turkey, China, and Taiwan, have taught me that the best product decisions live at the intersection of technical depth and business clarity.

Why Northwestern

I traded capital goods for disposables, Kalamazoo for Chicago, and a familiar business unit for a new portfolio — because growth requires the right stimulus. I am pursuing Northwestern's Master of Product Design and Development Management to strengthen my approach to the fuzzy front end of innovation: defining user needs, building financial models that inform strategy, and developing the leadership vocabulary to move from executing launches to shaping product roadmaps.

Northwestern mpd² Year 1 Cohort
mpd² Year 1 Cohort — Northwestern University, 2026
Year One Reflection

From Technical Launch Owner to Product-System Strategist

I came into mpd² as an engineer who knew how to launch things. Six years of NPI at Stryker taught me that if you get the process right — PPAP, supplier readiness, tooling, validation — the product ships. What I couldn't always do was explain why this product over another, or why now instead of next quarter, in language that moved a room.

Year one changed the altitude. Not reinvention — expansion. I still bridge R&D and Manufacturing. I still launch things. But now I can frame the opportunity upstream, defend it financially, ground it in evidence, and carry people along through the decision.

Resume

Experience

Senior Staff New Product & Process Development Engineer
Stryker SAGE: Advanced Operations
Apr 2026 – Present

Promoted to Senior Staff. Continuing to lead surgical positioning device manufacturing transfer and supply chain strategy while expanding scope across the SAGE Advanced Operations portfolio.

Staff New Product & Process Development Engineer
Stryker SAGE: Advanced Operations
Apr 2024 – Apr 2026

Led surgical positioning device launch with 50% COGS reduction through China manufacturing transfer. Guided contract manufacturer through first PPAP while managing 26-month supply plan across committed, negotiation, and auto-adjusted order horizons.

Staff Process Development Engineer
Stryker Medical Acute Care
Dec 2023 – Apr 2024

Led Prime Connect launch — first Wi-Fi-connected hospital stretcher generating $21M in first-year sales. Recovered critical supplier timeline through on-site Shenzhen visits, proving that technical communication can transcend language barriers.

Senior / Process Development Engineer
Stryker Medical Acute Care
Jun 2019 – Dec 2023

Managed $0.75M CapEx budget. Developed internal torque specification capability across 60+ tools. Built COVID Emergency Relief Bed production cells under rapidly changing conditions, deepening an empathy for operators that now shapes every process I design.

Education

Master of Product Design & Development Management
Northwestern University — mpd²
Expected June 2027

Part-time program alongside full-time role. Coursework in sustainable design, materials selection, life cycle assessment, and product strategy. Bringing a Voice of Operations perspective to a cohort of seasoned product leaders from diverse industries.

BS Mechanical Engineering
Michigan State University
May 2019

Biomedical Engineering concentration. Alumni Distinguished Scholar, Honors College. GPA: 3.95/4.0.

Skills

Technical

DFMA, Process Validation (IQ/OQ/PQ), PPAP, SCADA, SPC, DMAIC, Injection Molding, PCBA Integration, Python, Data Visualization

Business

Make vs. Buy Analysis, NPV/IRR Modeling, CapEx Management, Supplier Negotiation, Tariff Strategy, Product Roadmapping

Leadership

Cross-Functional Teams, Global Coordination (China, Turkey, Taiwan), Operator Training, Stakeholder Management, Crisis Recovery

Portfolio

Beta · mpd² Year 2 · Focus & Deep Work
Sep 2026 – Present · Beta launched Sep 19, 2026

E-Ink Mode

A calmer, grayscale Mac for deep work — with a study system built in.

Color is what makes badges, feeds, and notifications pull at your attention. E-Ink Mode is a macOS menu bar app that turns the screen grayscale, like an e-reader, so the work comes forward. It went from first prototype (Sep 16) to a public beta for my mpd² classmates in three days, built with Claude. The speed to a working product and its immediate ROI are what hooked me going into Year 2.

Focus Sessions & Streaks

Pomodoro-style rounds: 25 minutes in grayscale, a 5-minute color break, repeat. A live countdown sits in the menu bar. Focus Stats tracks today against a daily goal, your streak, and the last seven days, with a nudge like “One more session to reach today’s goal.”

Designed for Trust

Grayscale is the only default change, and there’s a 10-second preview before you commit. Your original display settings are saved before anything changes, so quitting, logging out, updating, or even a crash puts the Mac back exactly as it was. Color for 5 minutes, an evening schedule, and Wildcat mode round it out.

E-Ink Mode menu while focusing: Focus 1 of 4 · 18:30 left, Color for 5 Minutes, Stop Focus Session, and today's progress
E-Ink Mode menu on a color break: Break · 4:30 left, then focus 3 of 4, with Skip Break and Stop Focus Session
Focus Stats window: 3 of 4 sessions today, a 7-day streak, week and all-time totals, and a 7-day bar chart with the daily goal as a dashed line
Focus in grayscale, break in color, and Focus Stats with your daily goal, streak, and last seven days · click to enlarge
Swift SwiftUI AppKit Swift Charts macOS Accessibility XCTest · 66 tests GitHub Releases Claude
Public Beta v0.10.0-beta.2 · Launched Sep 19, 2026 Get the beta on GitHub →
Side Project · Chicago Skyline & Applied AI
Sep 2026 – Present

SpireSpotter

What color is the Sears Tower tonight — and why?

SpireSpotter answers a familiar Chicago question with tonight’s scheduled Willis Tower antenna colors, the occasion behind them, and when the lights are expected. A pop-up-book skyline follows Chicago’s clock through day, sunset, night, and sunrise. Lighting information comes from the official Skydeck schedule, with source links and a clear indication when nothing has been announced.

A Skyline That Follows Chicago

Sunrise and sunset calculated for the tower’s coordinates. Color-lit antenna masts, previews of other nights, shareable pages for each date, and a schedule covering upcoming and past lighting events.

Automated, Source-Checked Updates

A daily pipeline reads the official schedule, extracts structured data with an LLM, cross-checks it against a rules parser, and validates records before publishing. Manual corrections take precedence, and the static site serves visitors without calling an LLM.

SpireSpotter daytime Chicago skyline with scheduled antenna colors and expected lighting time
SpireSpotter night preview with the Sears Tower antenna masts lit blue and purple
Daytime view and night preview — click either screenshot to enlarge
Next.js TypeScript SVG SunCalc Zod LLM Extraction GitHub Actions Cloudflare Pages
Live · Chicago Visit SpireSpotter →
Side Project · Local LLMs & Gaming
Sep 2026 – Present

cs_wifi_swap

Cheeky & Easy Swap between Work and Play aka LLMs & CS2

Built with Astra 6 & Fable 5.1

One PC, two very different jobs. cs_wifi_swap is a Windows tray utility that switches the whole setup between local LLM work and Counter-Strike 2 gaming: network preferences, Tailscale, and the model launcher move together. Right-click the tray icon, pick a profile, and let the utility handle the handoff.

Work · LLM Launched

Prefers Wi-Fi, keeps Ethernet available as a fallback, connects Tailscale, and starts the launcher with the configured model. The profile is confirmed only after the network and model readiness checks pass.

Play · Gaming

Checks Ethernet connectivity, stops the model, closes the launcher, disconnects Tailscale, and disables Wi-Fi. Color-coded tray icons show when the switch is complete, still running, or needs attention.

cs_wifi_swap tray menu with LLM Launched and Gaming profiles and a startup mode submenu
cs_wifi_swap tray icon states: green for LLM Launched, blue for Gaming, amber for Switching, and red for Incomplete
Tray menu and status icons — interface images from the repo; click either to enlarge
Python Windows PowerShell Tailscale Local LLMs
Desktop Utility · Windows 10/11 View on GitHub →
Northwestern mpd² · MPD 445 Product Management
Mar 2026 – Present

Chi-Muter

A multi-modal commute companion for Chicago transit

Chi-Muter is a connection-protection layer for recurring commuters who coordinate across CTA buses, CTA rail, and Metra. Unlike Google Maps, Transit App, or Ventra — each of which solves one slice of the trip — Chi-Muter is focused on the handoff between transit systems. It evaluates live CTA arrivals against rigid Metra departures, calculates transfer makeability, and tells you whether your connection chain is still intact. The MVP runs on a Raspberry Pi backend over Tailscale, fusing CTA Bus Tracker, CTA Train Tracker, and Metra GTFS feeds into a single managed commute view.

Connection Intelligence

Saved commute templates instead of one-time trip search. Multi-leg connection health evaluation with green/yellow/red status. Compares feeder options (9 vs. X9) against a Metra anchor departure. Leave-by guidance and buffer-aware recommendations.

Live Architecture

Raspberry Pi backend running as a systemd service. CTA Bus Tracker and Metra schedule/realtime API integration. Server-side API key handling. Tailscale Serve for secure private access. Mobile-first dashboard with morning/return commute toggle and demo mode for offline review.

tokenjockey.com — Chi-Muter Clickable Prototype
Interactive clickable prototype — tap the phone screen or use arrow keys to navigate workflows
Python React CTA Bus Tracker API Metra GTFS-RT Raspberry Pi Tailscale systemd CORS
MVP · Beta with Train Gang View on GitHub →
Side Project · Local LLM Infrastructure — iOS Client
Dec 2025 – Feb 2026

Token Jockey iOS

Native mobile client for the LLM Launcher stack

A lightweight SwiftUI app for managing and chatting with LLM models — local llama.cpp over Tailscale, plus MiniMax and GLM/ZhipuAI cloud providers. Token Jockey connects to the LLM Launcher server for full model control, and adds a native chat experience that works across local and cloud backends — streaming responses via SSE, storing conversations locally, and supporting per-model system prompts.

Multi-Provider Chat

Switch between Local llama.cpp, MiniMax, and GLM/ZhipuAI from Settings. All providers use the same OpenAI-compatible SSE streaming path. Native SwiftUI chat with stop generation, markdown rendering, double-tap message navigation, and long-press send to select system prompt (None, Global, Model, or Global + Model).

History & Settings

Local JSON-backed conversation history with swipe-to-delete. Per-provider API keys and model fields stored in iOS Keychain. Chat Provider picker in Settings. Appearance mode and accent color customization. Global and per-model system prompts with active prompt indicators (* model, + global).

Token Jockey iOS — control panel
Token Jockey iOS — chat interface
Token Jockey iOS — conversation history
Token Jockey iOS — screen 4
Token Jockey iOS — screen 5
SwiftUI WKWebView SSE Streaming llama.cpp MiniMax GLM/ZhipuAI Tailscale iOS Keychain MarkdownUI
Active Development · iOS 16+ · Xcode 15+ View on GitHub →
Side Project · Local LLM Infrastructure — Server
Dec 2025

LLM Launcher

The control plane behind Token Jockey

A Python-based remote control server for managing local llama.cpp models with API key authentication, real-time GPU and VRAM monitoring, health checks, and live log tailing — all accessible over Tailscale from anywhere on the mesh. LLM Launcher is the server-side foundation that Token Jockey connects to: it handles model lifecycle (start, stop, swap), exposes an OpenAI-compatible chat endpoint, and serves an embedded web UI for configuration. This was the first piece of the stack — built to solve the practical problem of running inference on a home GPU while working from a laptop across the house or on the road.

Infrastructure

External JSON config for model management. Auto-detects Tailscale IP. Binds llama-server to all interfaces for network access. CORS-aware with API key authentication on all endpoints.

Monitoring & Control

Real-time GPU stats (VRAM, utilization, temperature). Health checks that confirm model readiness for inference, not just process liveness. Live log tailing piped from llama-server stdout. Full REST API for external tool integration.

gaming-pc.tailnet.ts.net:8081
Scrollable demo — saved snapshot of the LLM Launcher control panel
Python llama.cpp CUDA Tailscale NVIDIA SMI OpenAI-Compatible API GGUF Models
Early Prototype · Python 3.8+ View on GitHub →
Northwestern mpd² · Team Purple
2025 – 2026

Design Through Understanding

WellBean App Portfolio

Interactive Showcase

During a recent new product introduction, I built this demand scenario modeler to help leadership visualize inventory and cost implications of demand uncertainty across a 26-month planning horizon. Scroll to adjust the demand scenario from 50–100% of baseline — or drag the slider directly.

Supply Chain Demand Scenario Modeler

NPI Case Study — Contract Manufacturer Supply Planning

Portfolio Project
Demand Scenario
50% 100%
50%
Scenario Demand
50%
Safety Stock First Achieved
—
Peak Excess vs. SS
—
Cost of Excess Inventory
—
@ estimated landed COGS
Excess Pallet Positions
—
@ cases per pallet
Original Supply Plan
100% Demand — Baseline
Scenario Model
50% Demand
Supply (Committed PO)
Supply (Negotiation Window)
Supply (Auto-Adjusted, MOQ)
Proj. Inventory
Dependent Demand
Safety Stock
Scroll to explore

Let's Connect

Open to conversations about product development, manufacturing engineering, AI-assisted tooling, and the mpd² experience.

Location Chicago, IL