Finance Operations & Transformation

Building the upstream work that makes Finance run.

About

Two tracks of Finance transformation, now converging.

Chris Humphreys

I'm a Finance Operations and Transformation leader based in San Francisco.

Over twelve years I've worked across Okta, Shopify (via Deliverr), Uber, Twitter, and PARC — in Procure-to-Pay, Travel & Expense, Order-to-Cash, Payroll, and Global Capability Center strategy. The thread connecting the work is that most Finance problems aren't tooling problems. They're upstream problems — process design, data hygiene, governance, and the change management that holds it all together.

I'm hands-on with Coupa, NetSuite, Oracle, Tipalti, and the broader P2P toolset, and I've spent the last few years deploying AI and automation across Finance teams — Gemini, NotebookLM, UiPath, Automation Anywhere, Kofax — including the upstream data work that makes reliable automation possible.

Beyond work, I am a husband, new dad, traveler, skier, sailor, climber, and approach life with curiosity and a joy of continuous learning.

San Francisco

Portfolio

Selected Work

Operating model

Public SaaS company

Finance GCC strategy

2024–2026

Scaling a Global Capability Center from staff augmentation to strategic partner

At a public SaaS company, helped evolve a Finance GCC from 87 to 182 people while shifting its mandate from offshore execution to embedded strategic partnership. Built governance frameworks, refined the operating model, and led the change management work that makes those transitions land. Co-authored a Finance Hiring Playbook with the Talent Acquisition team to standardize how the function grew.

    Build from zero

    E-commerce logistics platform

    Financial Operations Manager

    2021–2022

    Standing up Finance Operations for a rapidly scaling e-commerce logistics business

    At a logistics platform later acquired by a major commerce company, built Procure-to-Pay from the ground up — no prior infrastructure, no team. Scoped a NetSuite ERP migration (later tabled by the acquisition), implemented Coupa and Tipalti, and grew a team of seven. Differentiated BI tooling (Metabase for self-serve analytics) from data warehousing (Snowflake) for downstream reporting.

      Process and automation

      Global mobility platform

      Global Process Owner, AP

      2018–2020

      Standardizing high-volume P2P across a global mobility platform

      At a global mobility company, served as Global Process Owner for Accounts Payable across multiple business lines. Partnered with Accenture to stand up AP Shared Services, authored Desktop Procedures, and trained the foundational offshore team in Hyderabad. Deployed intelligent automation (Automation Anywhere, UiPath, Kofax) on top of standardized processes — automation works when the process underneath it is clean.

        Built, used, retired

        JobHunter — a local-first job discovery pipeline I built with Claude Code.

        My role was eliminated during paternity leave in early 2026. Rather than spend my newborn's first weeks doom-scrolling job boards, I built JobHunter — a personal exploration of how far I could get building a real, working tool from scratch with Claude and Claude Code as my primary collaborators. The tool ran through the spring and was sunsetted once it had done its job. The interesting part wasn't the tool — it was the experience of building it.

        “A 100-rank, 60-fit role is a stretch worth positioning for. A 60-rank, 100-fit role is a perfect match you'd regret taking.”

        Most scorers collapse those into one number. JobHunter scores them separately.

        ATS platforms aggregated

        17

        with SERP fallback for Workday, iCIMS, custom careers

        discovery strategies

        9

        growing the config autonomously

        companies tracked

        350+

        grown from 120 seeds, mostly via the discovery loop

        dimensions of scoring

        2

        rank × gap-fit, rather than one “match %”

        operating cost

        $0

        fully local, SQLite + Flask

        Multi-source aggregation.

        Parallel fetchers across 17 ATS platforms (Greenhouse, Ashby, Lever, SmartRecruiters, Workable, Recruitee, Teamtailor, Rippling, Pinpoint, BreezyHR, JazzHR, Jobvite, iCIMS, plus BuiltIn and TheMuse aggregators) with SerpAPI + site-scoped SerpAPI fallback for Workday, iCIMS, and custom careers sites. Unified budget tracking across providers prevents drift.

        greenhouseashbyleversmartrecruitersworkablerecruiteeteamtailorripplingpinpointbreezyhrjazzhrjobviteicimsbuiltinthemuseserpapiserpapi_company

        Five-pass scoring with two-dimensional output.

        Pass 0 instant reject → Pass 1 title-only domain tier → Pass 1.5 description scan → Pass 2 semantic similarity (MiniLM embeddings) + role fit + salary + deadline + gap-fit → Pass 3 enrichment for scores ≥ 60. Produces Rank (desirability) and Gap-Fit (qualification) as separate dimensions, plus a combined weighted score. Verb-context analysis separates “own the R2R process” from “transform the R2R process” — the difference between doing accounting and changing it.

        Four-tier sub-specialty classifier.

        T1 (deepest domain, no adjustment) → T2 (strong secondary, fit capped) → T3 (adjacent, mild penalty) → T4 (explicit gap, heavy penalty). An AP-ops disambiguator reads “Procurement Manager” intent correctly — operational scope classifies as T2, sourcing scope as T3. A “Finance” title no longer automatically scores 100 on fit.

        Pipeline diagnosis, not just tracking.

        A 12-status taxonomy distinguishes deals I withdrew (comp_too_low, role_scope_mismatch, ethics, and 5 more) from deals where the company closed (no_response, after_screen, role_paused, and 4 more). Every closed deal requires a reason. A dedicated analytics page surfaces funnel conversion rates, time-in-stage patterns, and auto-fires pattern alerts when one reason dominates withdrawals or rejections. The point isn't recording outcomes — it's diagnosing why deals die.

        What the dashboard looks like

        What I took away

        The bottleneck in building useful internal tools isn't the code — Claude Code handles that competently. The bottleneck is knowing what the right thing to build is, where the real friction lives in a workflow, and how to keep scope honest. That's the same instinct that makes Finance Operations work, applied to a different surface.

        “Finance leaders talk about AI and automation. I wanted to ship it on myself.”

        Built with Claude Code while on paternity leave, 2026. Architecture is mine; Claude wrote most of the code.

        Get in touch

        Always open to a good conversation.

        I'm not looking for new roles, but always happy to connect with peers and trade notes on AI in Finance, operational accounting, automation, or building useful internal tools.

        Location
        San Francisco, CA