AI · SOFTWARE · OPERATIONS

Real problems.
Working software.
Measurable impact.

I’m Matthew Fugett. I turn the friction inside a business into tools people actually use — from the sales floor to clinical operations.

Built inside Overtime Men’s Health · Portfolio / 2026

THE BUILDER’S MINDSET01 / ∞
FROM THE FLOOR.Into
production↗

Find the friction.
Design the system.
Ship the solution.

IDEAS THAT MAKE IT TO THE REAL WORLD
23 /

Projects scoped & built

19 /

Reported live in the source portfolio

7 /

Sources in one data platform

13 /

Document types in one studio

01 / THE WORK

Built for the way
business actually works.

Real operational problems. Production tools.
Explore the decisions behind each build.

Leaderboard01
Sales and revenue

Revenue Farm: live sales leaderboard

Live

A big-screen leaderboard on the sales-floor TV. It builds itself from the reps' own sales posts in the team chat, so nobody types anything twice.

Explore the build
Problem
  • Sales were posted as free-text messages in a group chat, and totals were tallied by hand.
  • No live view of who was winning the month, so there was no competitive energy.
What it does
  • A parsing engine reads every post, pulls out product and amount, credits the poster, and updates the board within minutes.
  • Animated sale celebrations with custom sounds, a rank change takeover, and milestone events.
  • Separate counters for memberships, reviews and referrals, plus a rotating Hall of Fame of past monthly winners.
  • The board rolls over on the 1st of each month by itself and archives the closed month.
Hard parts solved
  • Messy human input: two deals in one message, totals restated in follow-ups, product names with numbers in them (a product like "BPC-157" is not $157), and even amounts written in Japanese numerals.
  • Dedup against the CRM so a sale is never counted twice.
  • A browser audio limit that went silent after about 6 sales, fixed with a single shared audio context.
Privacy design
  • The board shows rep, product and dollar amount only. Patient names never leave the parser.
  • A file allowlist on hosting means only the public data file is ever served, so internal logs stay private.
LeaderboardSale celebration
Leaderboard · Sale celebration. Fictional reps and amounts.

Stack: Python parsing engine on a schedule, static HTML/JS board on Vercel, Web Audio, serverless API routes, Vercel Blob.

The Dial Farm02
Sales and revenue

The Dial Farm: rookie cold-caller board

Live

A second screen that rotates with the Revenue Farm every two minutes. It tracks dials and booked appointments for new cold callers.

Explore the build
What it does
  • Counts unique dials per rep per day, booked appointments, and sales.
  • A booking pulls focus on the TV with a sound and a row flash. Routine dials update quietly.
Hard parts solved
  • The third-party dialer logged calls with no user attached, and caller IDs rotated. I traced how the data flowed and moved attribution to the CRM's own call webhook feed, matched to the contact's owner.
The Dial Farm
The Dial Farm. Fictional callers.

Stack: Python engine on launchd, CRM webhook event log, same front end as the main board.

Card with a takeover alert03
Sales and revenue

Farm Tracker: Chrome extension for reps

Live

A small card pinned to every rep's browser. It shows their live rank, the gap to first place, weekly numbers and an inbox radar.

Explore the build
What it does
  • Rank, week and month totals, distance to #1, and weekly activity KPIs.
  • Rep-to-rep "nudges": short messages that pop up on a teammate's card.
  • Inbox radar: how many of my patients are waiting on a reply, plus unclaimed inbound. Counts only, never names.
Engineering
  • Force-installed to every company Chrome through a Google Workspace admin policy, with a self-hosted, self-updating extension package.
  • Per-rep secret codes are checked on the server, so they never ship inside the extension.
  • Built to fail soft. When the storage backend hit a usage cap, sign-in kept working anyway.
Card with a takeover alert
Card with a takeover alert. Fictional rep and amounts.

Stack: Chrome Manifest V3, shadow-DOM overlay, Vercel serverless API, Google Workspace managed-browser policy.

My List04
Sales and revenue

Dialer Dashboard

LiveBuilt with the office AI agent

The sales team's click-to-call workspace. Each rep gets a prioritized list, one-click call results, notes and callbacks, and the calls themselves run through the existing contact-center phones.

Explore the build
Rep side
  • A "My List" sorted by priority tier, with warm leads on top and cold lists below.
  • The contact-center softphone is embedded in the page, so dialing, call results and wrap-up notes sync back to the phone system.
  • Auto-dial mode moves to the next person a few seconds after a call result is logged.
  • One-click results with built-in rules: some schedule a callback, some count as a connect, and "Sold" archives the patient.
Admin side
  • CSV and Excel import, including a "fix people already in here" mode that matches on phone number.
  • Weighted redistribution of leads across reps, archive, and a Do-Not-Contact list that blocks calls, assignment and imports.
  • Live feeder sheets: new rows from intake spreadsheets land in the dialer every 5 minutes with the rep, notes and tier already set. Leads with no rep are assigned round-robin.
My ListPatient page and call resultsContacts and assignmentCall-result rules
My List · Patient page and call results · Contacts and assignment · Call-result rules. Test data only: fake names and 555 numbers.

Stack: React (Vite) + Express on Google Cloud Run behind Identity-Aware Proxy (Google login), Google Sheets as the data layer, Zoom Contact Center Smart Embed over postMessage.

OT Sales Desk catalog and quote panel, prices blurred05
Sales and revenue

OT Sales Desk: pricing and quote builder

Live

Reps price any patient cart in seconds and every rep quotes the same number.

Explore the build
What it does
  • Full catalog with monthly, 3-month and 6-month commitment pricing, and a member vs non-member switch.
  • Copy, print or export a quote.
Design choice
  • One source file builds two versions: a management version with margins, and a sales version with every cost stripped out of the code, so internal costs can't leak.
OT Sales Desk catalog and quote panel, prices blurred
Sample cart. Prices blurred.
Patient confirmation and team alert06
Sales and revenue

Instagram lead router

Live

A setter texts a screenshot of an interested Instagram lead. The lead gets booked, the rep gets assigned, and the team gets the alert, with no data entry.

Explore the build
Flow
  • Reads the phone number and name off the screenshot with OCR.
  • Finds or creates the contact in the CRM, with no duplicates.
  • Books straight into a round-robin consult calendar, or texts a self-booking link.
  • Sends the patient a confirmation that names their rep, and posts an alert in the sales chat with the time.
Edge cases handled
  • Existing patients go to their own rep first. If that rep is booked, the lead falls back to anyone free rather than double-booking.
  • If no rep has the slot, the patient is told right away and a coordinator gets a call task.
  • Follow-ups only fire during business hours. Off-hours pings wait until the next morning.
Patient confirmation and team alert
Patient confirmation and team alert. Sample patient and rep.

Stack: Python, vision OCR, CRM REST API (contacts, calendars, conversations).

07
Sales and revenue

Reactivation outreach engine

LiveHanded to the office AI agent and launched

A campaign engine that wins back past leads who never bought. It ranks them, assigns them to reps, and sends on a controlled schedule.

Explore the build
Build
  • Audited and ranked a large past-lead file hot to cold. The file was handled in deidentified form.
  • Five-email sequences, spread across several rep mailboxes to protect deliverability, in batches with time-of-day guards.
  • 76 automated tests passing before any live send.
After launch
  • Open, click and unsubscribe tracking written back to the CRM as tags. Unsubscribe is honored automatically.
  • Bounce parsing from returned mail, with automatic list scrubbing and a circuit breaker that pauses sending if the bounce rate crosses a threshold.
  • Round two re-segmented by behavior (never opened, opened, clicked). Warm groups got plain personal emails to reach the primary inbox instead of the promotions tab.
  • A booking watcher tells the team when someone from the campaign books.

Stack: Python, Gmail API with domain-wide delegation, Vercel tracking endpoints, CRM API.

Coach page08
Sales and revenue

Co-branded coach bloodwork platform

Live v1

Every partner health coach gets their own co-branded page where athletes request bloodwork. Each lead goes straight to that coach's dedicated rep.

Explore the build
What it does
  • Multi-tenant pages per coach, plus an instant page generator for new coaches.
  • A HIPAA release-of-information step that is mandatory and checked on both the browser and the server.
  • The lead is added or updated in the CRM, tagged to the coach, assigned to the coach's rep, and the signed release is saved on the record.
Back office
  • A login-gated console to add and remove coaches and set a primary and backup rep.
Coach pageRequired HIPAA releasePage generator
Coach page · Required HIPAA release · Page generator. Fictional coach.

Stack: Next.js (App Router), Vercel, Vercel Blob, CRM API.

Affiliate landing page09
Sales and revenue

Affiliate program site

Skeleton handed off

A public sign-up page and a members-only resource hub for partners. I built it as a working skeleton and handed it to the company's lead data engineer to finish and own.

Explore the build
Built
  • A landing page with apply buttons wired to the referral-tracking platform.
  • A resource hub with brand assets, captions, posting ideas and the rules.
Compliance in the copy
  • FTC disclosure, 18+ only, no medical claims.
Affiliate landing pageAffiliate resource hub
Payout terms blurred.
Patient Playbook for a fictional patient with dose cards, syringe draw gauges and a weekly schedule10
Clinical documents and patient experience

Overtime Document Studio

Live

The team's one place to produce every branded patient and business document.

Explore the build
What it does
  • 13 document types: patient playbooks, invoices, medical letters, letters of medical necessity, records requests, information releases, lab reports, SOPs, letterhead and purchase requests.
  • AI Smart Paste turns a provider's shorthand into a finished protocol.
  • Staff logins with admin and rep roles. Signatures are locked to admins and enforced on the server.
  • Purchase requests route themselves to the right approver.
Privacy design
  • Runs on the private office network, so patient documents never touch the public internet.
  • Built and demoed only with fictional patients.
Patient Playbook for a fictional patient with dose cards, syringe draw gauges and a weekly schedule
Patient Playbook, the flagship output. Fictional patient.
Client invoice, prices blurredMedical letter for a fictional patientPurchase request with automatic approver routing
Invoice (prices blurred), medical letter, and auto-routed purchase request. All sample data.

Stack: FastAPI, single-file React, ReportLab PDF generation.

Add-to-calendar page11
Clinical documents and patient experience

Add-to-calendar link engine

Live

Every booked patient gets one link that adds the appointment to Google Calendar or their iPhone.

Explore the build
Why it was needed
  • The CRM had no Apple calendar link, and its date fields weren't in the format Google needs.
How
  • The link carries only a contact ID. A serverless function looks up the next appointment, converts local time to UTC with daylight saving handled, and builds the event. Internal tags are scrubbed out of the event title.
Add-to-calendar page
Add-to-calendar page. Fake appointment.

Stack: Vercel serverless (zero dependencies), ICS generation, CRM API.

12
Data and integration

Telehealth Data Platform

LiveHanded to the office AI agent and launched

Seven data sources, including the CRM and the billing platform, unified into one company-owned warehouse.

Explore the build
Design
  • Staff get dashboards. AI tools only ever see deidentified data.
  • Phased build plan written first, then handed off for build and launch.
Daily report, counts only13
Data and integration

Website intake to CRM sync

Live

Every intake and purchase on the new website lands in the CRM, attached to the right patient and the right rep.

Explore the build
What it does
  • A Salesforce Flow pushes each new intake and purchase to the CRM. The contact is created or updated, a cross-system ID is stored, and intake answers go into a note.
  • An owner-assignment rule runs every 5 minutes. Existing patients keep their rep. A new patient goes to the rep who actually took their consult. If nobody did, it's flagged for a manager instead of guessed.
  • A daily report with counts only (purchased, intake-only, needs a rep).
Why it mattered
  • The source system assigned the wrong rep, so I made the CRM the source of truth for ownership and wrote the rule to match how the floor actually works.
Daily report, counts only
Daily report, counts only. Sample numbers.

Stack: Salesforce Flow + Named Credential, CRM API, Python on a schedule.

Order Tracker dashboard with synthetic orders14
Data and integration

Order Tracker

Live

Connects billing to pharmacy shipping so no paid order slips through the cracks.

Explore the build
What it does
  • Matches two systems that share no order number, by patient and drug. Ambiguous matches get flagged instead of guessed.
  • Flags orders waiting 3+ days to ship and checks FedEx/UPS delivery status.
  • Payment-to-delivery timing by product, plus a one-click executive PDF.
Privacy design
  • Runs only on the office computer. Patient data never leaves it.
Order Tracker dashboard with synthetic orders
Rebuilt with synthetic orders. Revenue tile blurred.
Event pipeline15
Data and integration

Team chat migration to Google Chat

Live

Moved the sales and intake team chats off personal phones onto Google Chat without breaking the automations that read them.

Explore the build
Architecture
  • Workspace Events API subscriptions stream every new message into Pub/Sub, and a listener feeds the leaderboard engine and the lead router.
  • Reading every message needed user-level access through domain-wide delegation, because app-level auth doesn't allow it. I worked that out and set it up as Workspace admin.
  • Both channels ran in parallel before cutover.
Event pipeline
Event pipeline.

Stack: Google Cloud (Pub/Sub, Workspace Events API, Chat API), service account with domain-wide delegation.

Coordinator alerts16
Data and integration

Test-kit tracker

Built

Takes an at-home test kit from sale to results with no manual handoffs.

Explore the build
What it does
  • Spots kit sales in the sales chat, alerts the coordinator who tracks kits, and tags the patient in the CRM.
  • Parses lab status emails ("sample received", "processing", "results ready") and routes each update.
  • Catches messy naming, like nicknames that collide with product names, so counts stay accurate.
Coordinator alerts
Coordinator alerts. Sample data.
Weekend and daily reports17
Operations and reporting

Service-level reporting suite

Live

Automated daily, weekly and weekend reports on how fast patient messages get answered and by whom.

Explore the build
Reports
  • Daily missed-message report and a weekly answered-vs-missed catalog for the leadership meeting.
  • Weekend review broken down by owner. It showed that weekend backlog sat with reps' own patients, not the service team.
  • A morning text with email-campaign results.
Constraint
  • The CRM's HIPAA mode blocks message-level API access, so every metric is built from conversation-level signals. Counts only, no message content.
Weekend and daily reports
Weekend and daily reports. Sample numbers.
Audit sheet18
Operations and reporting

Price-integrity audit

Delivered

Checked every sale posted in a month against the list-price sheet and flagged likely discounts by rep.

Explore the build
Method
  • Parsed product, dose and quantity from free-text posts, then matched each sale to list price with a lowest-dose rule when the dose wasn't posted.
  • Recognized card-processing surcharges, so they weren't flagged as false discounts.
Audit sheet
Audit sheet. Fictional reps, percentages only.
19
Operations and reporting

Desktop utilities

Live

Practical desktop tools for everyday operations.

Explore the build
Bloodwork Renamer
  • Reads each lab PDF, including scanned pages, finds the patient and collection date, and files it under a standard name. Runs fully offline.
Rx Extractor
  • Turns an e-prescribing audit log into two clean spreadsheets: one row per patient and one per prescription.
RSO Pharmacy Match
  • Matches incoming orders to the right pharmacy formulary, understands product nicknames, and flags supplies separately.
Lobby music controller
  • Simple in-office control for lobby audio.
Live board20
Operations and reporting

OT HQ Board: leadership bulletin board

Launched, then retired

One live board for leadership. Updates are posted in the app or pulled from meeting notes, with urgency tiers, an approval queue for AI-drafted items, and a full audit trail.

Explore the build
What shipped
  • Google sign-in restricted to the company domain and a leadership allowlist.
  • Author and timestamp on every item, soft deletes kept in a shared archive, and filters by person and urgency.
Why it was retired
  • Leadership already ran on Bloom Growth, and Bloom had no API tie-ins at the time, so every item would have been entered twice. The proof of concept is strong in the right setting.
Live boardApproval queue
Live board · Approval queue. Fictional leadership team.

Stack: Next.js 16, Auth.js (Google), Vercel, private Vercel Blob.

A note on the work: screenshots contain sample or deidentified data. Sensitive figures remain blurred. Project statuses reflect the supplied October 2026 portfolio.

Matthew Fugett wearing a light gray suit

02 / THE PERSON BEHIND THE BUILDS

Lead the people.
Solve the problem.
Bring the plan home.

Military service taught me to think on my feet, make decisions under pressure, and turn a good idea into a plan that gets finished. I brought that mindset into civilian healthcare at Florida Orthopaedic Institute, where I grew as an operations leader.

Near the end of my time there, I began using AI to work through large files, support recruiting, and check that important details weren’t lost in major updates. At Overtime Men’s Health, that grew into a hands-on approach to building solutions in house because budgets were limited to non-existent. Limited tools, and operational problems needed answers in hours or days, not weeks or months with outsourcing.

I take ownership wherever I can see a useful solution. I bring ideas to leadership, check feasibility, and iterate with the team until the tool fits the way they work. I scope the problem, direct AI coding agents, and own the design and release decisions.

“If I build a beautiful dashboard that no one looks at because it’s clunky or missing the information they need, what’s the point?”

The same principle guides how I lead: help people grow their skills, build their careers, and give them systems that make their work easier.

Healthcare operationsTeam developmentWorkflow designAI-assisted developmentSystems & integrations
01

Start with the workflow.

Build around how the team works, with clear ownership and useful outcomes.

02

Make guardrails part of v1.

Duplicate checks, dry runs, audit logs, and circuit breakers belong in the first release.

03

Keep sensitive data protected.

Use fictional records for development and restrict access to tools that handle patient data.

03 / THE NEXT CHAPTER

Let’s build
something useful.

I’m looking for a role where I can develop people, lead operations, and build practical tools that benefit the whole company. If your team needs someone who takes ownership and follows through, let’s talk.

↗

Matthew Fugett

Healthcare operations · Systems & automation

matthewfugett@gmail.com

Connect on LinkedIn ↗

Download résumé ↓
PROJECT SCREENSHOT

Original screenshot · Sensitive figures remain blurred. Scroll to inspect the full image.