Selected work

Five decisions and what came of them.

Each one is a call I made, the architecture or method behind it, and what it did or did not fix. Figures belonging to private employers and clients are left off on purpose.

Focus
WhereCompany Sage
Senior Product Manager
Jul 2025 – Jul 2026
DomainLegal tech, regulated
  • AI governance
  • RAG
  • LLM
  • Responsible AI

Making an AI feature defensible in a regulated product

Company Sage ships AI into legal business formation, where a confident wrong answer is a compliance problem rather than a rough user experience. I defined the AI governance standards those features were held to: prompt design, hallucination prevention, and response validation.

On the retrieval-augmented knowledge assistant, that came down to curated knowledge sources and citation enforcement, so an answer could be traced back to the document it came from. The assistant handles contextual Q&A and automated requirement digests for both customers and internal administrators.

I am claiming a discipline here, not a number. Governance work shows up as incidents that never happened, which is hard to put on a page and easy to overstate.

WhereCompany Sage
Senior Product Manager
Jan – Jul 2026
Role on itProduct manager and project manager
  • Build vs buy
  • Salesforce PRM
  • Kafka
  • EventBridge

Buying the partner platform instead of building it

The partner portal had reached production without product vetting. Partners were live on it with no pipeline visibility, no clear view of what they were being paid, and bugs that were never going to be fixed on the base platform.

I made the call to implement Salesforce PRM out of the box rather than build a bespoke partner platform, and moved the partner system of record off the business platform onto the PRM. The platform kept three jobs: cart validation, commission calculation, and Stripe payout processing. Everything else about the partner relationship moved.

Partner referral Partner portal system of record no pipeline or commission visibility returned Partner referral Salesforce PRM system of record Kafka / EventBridge Business platform cart validation · commission calculation · Stripe payout referral history, pipeline and payouts returned
What the migration moved: the system of record, and with it the return path to the partner. The platform kept three jobs.

The integration runs bidirectionally over Kafka and EventBridge, with referral attribution resolving back through intake and returning by API. I ran the partner interviews and requirements, finalized the UX in Lovable and Vercel, took the functional requirements through architecture sign-off with engineering leads, then drove UAT with the sales program administrators.

Partners migrated with their referral history, payouts, and status visible to them for the first time. In the three weeks after release I triaged and cleared more than twenty P1 to P3 defects through to deployment.

WhereCompany Sage
Advantage Partner Program
Aug 2025 – Jul 2026
ScopeStrategy, platform, partner enablement, payouts
  • Program ownership
  • Reconciliation
  • Retention
  • Snowflake

Taking over a partner program that had never been measured

I picked the partner program up a month into the role, at close to zero, and owned it through twelve months of compounding growth.

  • <1% → 12%Partner conversion, in 60 days
  • 3 days → <1Partner onboarding time
  • +35%Partner satisfaction

Those came off specific work: rebuilding the referral and integration workflows across the partner funnel, redesigning partner onboarding and the systems underneath it, and running a touchpoint program covering partner onboarding and communications. I owned the program across the period it grew, and partner recruitment, sales effort, and timing moved it too.

The harder problem was that nobody could say what the program had actually done. Referral counts, real partner revenue, and owed-but-unpaid commissions were all unknown, so every argument about the program was being made on inference. I built a reconciliation framework joining converted paid intake carts and their payment identifiers against partner attribution records and discount codes. It surfaced orders that had been paid but never recognized for payout, and a backlog of owed commissions that had been invisible until then.

Two decisions from that work I would defend anywhere. The model quarantines unresolved and lower-confidence records in their own views rather than folding them into headline figures; that started as working tabs and became deliberate once the scale of what would not reconcile was clear. And the retention scorecard is defined on retained ARR, meaning proven annual subscribers plus monthly subscribers who have already renewed at least once, reported apart from unproven first-term subscribers so that leading indicators never get read as outcomes.

The findings went to the C-suite as a data-integrity audit, on the argument that the measurement had to be fixed before the strategy was worth debating.

What I’d do differentlyGet the data first. I was making the case for this program on qualitative feedback and inference while its own numbers sat unreconciled. The audit should have been the first thing I did, not the last.

WhereCompany Sage, UKG
as an employee
Built15+ workflows
10+ integrations
  • Slack
  • Jira
  • Zendesk
  • Salesforce

Ticket creation that happens in the conversation

A problem gets described in a channel, in detail, by the person who hit it. Then it waits. A PO, BA, or PM has to read back through that conversation, pull out what matters, and retype it into Jira. A ticket raised late in the day might not exist until the next one.

I built Slack workflows and integrations that create the ticket from the conversation that reported it, and let people update it without leaving the channel. Release communications fire on the same rails: when epics and features close in the development lifecycle, the announcement goes out automatically instead of waiting on someone to write it.

  • <5 minReport to triage
  • 15 minTriage to assignment
  • 96%P1s inside agreed SLA
  • 24 hrsRelease comms delay removed

Fifteen or so workflows and at least ten integrations, across product development, IT services and support, and interdepartmental communication. The release automation took roughly eight hours of work out of each cycle on top of the delay it removed. These were standing items in QBRs and in customer advisory sessions, which is where the numbers above come from. The SLA figure is from Company Sage; the workflows and integrations span both.

It has been running over a year and still is. That is the part I would point at: it outlived my involvement in it.

WherePrime Solutions Group
for Vox Technologies
EngagementOngoing consulting
  • Slack administration
  • SSO
  • Identity
  • Rollout

Standing up Slack and SSO for a 100-person company

Through Prime Solutions Group we install, configure, and administer Slack for Vox Technologies, and integrate it with the client’s authentication and SSO systems.

  • 100+Employees on the workspace
  • 9Systems integrated
  • 3–5 moRollout

SSO is the part that changes how the day feels. Nine connected systems without it means nine sign-ins and a stall every time someone crosses a boundary mid-task; with it, the boundary stops being visible. It also collapses new-hire setup into one step rather than a checklist someone works through on a first morning.

We have not instrumented the time saved, so there is no figure here for it. The rollout scale is measured; the productivity claim is not.

How I work

Workflow modeling

I model business logic and multi-step workflows in BPMN 2.0 before anything gets built — at Vertafore, UKG, JM Family, and Company Sage. It removes the ambiguity that otherwise gets discovered halfway through a sprint.

AI in the PM lifecycle

Claude and ChatGPT for Snowflake analysis, feedback synthesis, ICP validation, and drafting PRDs, roadmaps, personas, and journey maps. Prototypes in Lovable, Vercel, Cursor, and UX Pilot, built on real system functions to validate requirements before engineering picks them up.

Specification craft

Explicit in-scope and out-of-scope boundaries, a decision log naming each call and its owner, failure-mode analysis, and non-functional requirements covering access control, auditability, and extensibility. Left unmanaged this tips into over-specification, which is a real tendency of mine; the discipline is deciding where depth gets cut on purpose.

Technical range

Technically fluent in platform-integrated systems and operational workflows. I am not an architect and I do not write production code; I do own how systems talk to each other.