Hashim

Product Owner + Engineer

WorkAboutResume

VictorFi  ·  Product Owner  ·  2020–2025

Turning Complex Banking Infrastructure Into One Product.

How I helped VictorFi turn complex payment infrastructure into a scalable product banks could trust, fintechs could integrate with, and engineers could ship.

V VictorFi
Home
Transactions
Accounts
Approvals 12
Beneficiaries
Reports
Developers
Settings
TransactionsSearch transactions…Acme Fintech ▾
AllPendingProcessingCompletedFailedReturned
IDTypeAmountStatusCounterpartyDate
TXN-82101ACH Payment$25,000.00Pending approvalChecking ••••1234May 14, 2025
TXN-82100Wire Transfer$150,200.00ProcessingFirst Bank ••••9876May 14, 2025
TXN-82099RTP Payment$12,500.00CompletedCustomer ••••4455May 14, 2025
TXN-82098ACH Payment$8,750.00FailedVendor ••••3344May 13, 2025
TXN-82097Wire Transfer$75,000.00ReturnedPartner ••••6677May 13, 2025
Today's volume$3,246,730.00+12.4% vs yesterday
Transactions1,842+8.7% vs yesterday
Success rate98.6%−0.2% vs yesterday
Processed$80B+total volume
The operator view — one transaction list across ACH, wire and RTP, with state, counterparty and approval queue in a single place. Illustrative reconstruction; figures are not live.
$6M

Seed funding raised

$80B+

Processed transaction volume

2025

Acquired by Jack Henry

Company outcomes during my tenure.

Overview

VictorFi connected fintechs to banks and payment rails through one product layer.

The product had to make complex, regulated banking infrastructure easier to integrate with and easier to operate.

FINTECHS VictorFi BANKS ACH WIRE RTP FEDNOW
The shape I was accountable for: one integration surface facing the fintech, one facing every rail behind it.

What I owned

I joined early and worked across product strategy, UX, customer discovery, engineering delivery, compliance, onboarding, go-to-market and fundraising support.

  • Product strategy and roadmap
  • Transaction and payment workflows
  • Bank and fintech onboarding
  • Roles and permissions
  • Approval flows
  • Exceptions and reconciliation
  • Customer discovery
  • Product requirements
  • UX and product design
  • Engineering refinement
  • QA and release
  • Compliance collaboration
  • Market positioning
  • Product demos and fundraising support

I owned the bridge between customer needs, banking complexity, and engineering execution.

The Challenge

Every new fintech, bank and rail multiplied the product, not just the integration work.

Each combination brought its own rules, approval structures, permissions, compliance requirements, reconciliation logic, failure states and operational edge cases. Growth and engineering load rose together, so a sales win and an engineering crisis were the same event.

WITHOUT VICTORFI — EVERY FINTECH WIRES EVERY RAIL Payments app Payroll platform Marketplace Lending platform Bank A Bank B Bank C ACH network Wire network RTP / FedNow 24 INTEGRATIONS WITH VICTORFI — ONE CONNECTION EACH Payments app Payroll platform Marketplace Lending platform VictorFi ONE CONNECTION Bank A Bank B Bank C ACH network Wire network RTP / FedNow
The case I had to make internally. Four customers and six rails is twenty-four integrations to build and maintain; routed through one platform it is ten.

The problem wasn't payments. It was multiplying complexity.

One payment was never just one payment.

To a customer it reads as a single instruction. Underneath sit twelve decisions, each needing an owner, a state, a failure path and an audit record.

Send $50,000 TO VENDOR V Payment rail selectionAccount validationPermissions & rolesApprovals & limitsCompliance screeningFraud & risk checksPayment processingStatus updatesExceptions & failuresReturns & reversalsReconciliationAudit trail ONE INSTRUCTION TWELVE DECISIONS
What the customer asks for, and what I had to specify. Twelve decisions sit under one instruction, and every one of them needed an owner, a state and an audit record.

My job was to make this manageable without removing the controls banks depended on.

Who I Designed For

Three groups judged the same product differently.

Fintech operator

Can I integrate quickly and understand what happened to my payment?

Wanted speed and simplicity.

Bank operations & risk

Can I see, approve, audit and control what is happening?

Wanted visibility and control.

Engineering

Can we support the next customer without creating another version of the product?

Wanted consistency and scalability.

My role was to find the common product underneath all three.

Constraints

The constraints were the product.

Unlike a normal SaaS product, we could not optimise only for the cleanest UX. Bank-specific rules, four rails that behave differently, mandatory auditability, and enterprise operations where failures and returns matter as much as successes — every flow had to work inside all of it.

IDEAL SAAS UX Click send FINTECH REALITY Permission Approval Compliance Rail rules Processing Reconcile
The gap between the interaction a designer wants and the one a regulated rail permits. Every stage after the first is a control somebody is accountable for.

The constraint wasn't something to design around at the end. The constraint was part of the product.

The Decision

I rejected both obvious answers.

Option A — build each bank exactly what it asks for.

Fastest way to satisfy an early customer, and easy to say yes to. It also means more custom workflows, more logic, more QA, more maintenance and a product that fragments into as many products as we have customers.

Bank ACreate paymentBank A rulesReviewSendBank BCreate paymentBank B rulesReviewSendBank CCreate paymentBank C rulesReviewSend …AND ONE MORE FOR EVERY BANK AFTER THAT
Option A, which I rejected. Each new customer adds a workflow rather than a configuration, so the build and test surface grows with the sales pipeline.

Option B — force every bank into one rigid workflow.

Cleaner architecture and easier engineering. It also denies that banks genuinely differ in approval structures, limits, compliance requirements and operating controls.

Bank A Bank B Bank C ONE FIXED WORKFLOW Create payment Review Approve Send BANKS WITH DIFFERENT APPROVAL HIERARCHIES CANNOT USE IT
Option B, which I also rejected. Clean to build, and unusable for any bank whose approval hierarchy differs from the template.

The call.

We identified the reusable product concepts sitting underneath the different bank implementations, and drew the line between what is shared and what is configurable. Where that line sits is the product decision — engineering effort, onboarding time and how fast sales could say yes all followed from it.

Shared core

  • Transaction model
  • Payment states
  • Permissions framework
  • Audit model
  • Reconciliation model
  • Common operator workflows

Configurable per institution

  • Approvals
  • Limits
  • Rules
  • Permissions
  • Compliance requirements
  • Operational controls
FINTECHS Any product ONE API VICTORFI CORE — SHARED Transaction modelStatuses & lifecyclePermissions frameworkAudit & compliance modelReconciliation engineMonitoring & alerts CONFIGURED Bank A · configBank B · configBank C · configACH / WireRTP / FedNow
The call I made. One transaction model, one permissions framework, one audit trail — with each institution's approvals, limits and controls applied as configuration.

Standardize the core. Configure the edges.

Stakeholders

Five groups described the same problem in five different languages.

Customers and banks brought operational needs. GTM brought commercial urgency. Compliance brought risk and audit constraints. Engineering brought feasibility and cost. My role was to turn those inputs into one clear product decision.

Customer or bank request What problem are they actually solving? Compliance and technical constraints Core Configuration Custom No Requirement → engineering → release ENDS HERE
The filter every request went through. Three of the four outcomes build something; naming the fourth out loud is what kept the platform from becoming custom software.

My job was not to pass requests through. It was to reduce ambiguity and make the trade-off explicit.

One conflict, in full

A bank needed its own three-level approval hierarchy. Every group had a legitimate position and they did not agree.

Bank
“Our process requires three levels of approval.”
GTM
“This requirement is important to the deal.”
Engineering
“Another customer-specific workflow increases maintenance.”
Compliance
“The approval hierarchy is a genuine control and cannot simply be removed.”
My decision
Make the approval structure configurable at the platform level rather than building a separate product flow for that customer.
Result
The institution kept the control it required without creating a separate VictorFi product experience.

This was the trade-off I handled repeatedly: satisfy the real requirement without turning the platform into custom software.

Compliance Upstream

Decision one — compliance moved into product definition.

Compliance had been arriving as a checkpoint after build, which produced late changes, revisited engineering work, slower releases and controls that felt bolted on.

Early approach

Design Build Compliance review Late rework
  • User flows redesigned after the fact
  • Engineering work revisited
  • Releases slowed
  • Controls felt bolted on

What changed

Discovery Product + Compliance Workflow design Engineering QA
  • Aligned before anything is drawn
  • Controls built in, not patched on
  • Fewer surprises, faster ship
  • Permissions and audit are product behaviour
The change I pushed hardest for. Compliance moved from a checkpoint after build to a participant in product definition; the pipeline is the same length and the rework loop is gone.

Permissions, approvals, auditability and operational controls became part of product definition rather than requirements imposed on a finished design.

Controls became product behavior, not late-stage patches.

Onboarding

Decision two — onboarding became configuration, not engineering.

Every institution arrived with different approval models, limits, permissions, risk controls and operational ownership. The goal was to support those differences without rebuilding the product each time.

Implementation-led REQUIREMENTS Guided configuration ADMIN SETS THE RULES Core product ONGOING MANAGEMENT NO CORE CODE CHANGES AT ANY STAGE
The middle box is the whole decision. If a new institution needed engineering rather than configuration, the model had failed.

Different institutions could have different requirements without creating different products.

What Shipped

One mental model across rails that behaved differently.

The goal was not to pretend ACH, wire, RTP and FedNow are the same. It was to give users one consistent way to understand a payment while rail-specific complexity stayed underneath.

1Create2Approve3Process4Complete5Reconcile Failed Returned EVERY OUTCOME RETURNS TO RECONCILIATION AND AUDIT
What shipped. Success, failure and return all terminate in the same reconciliation and audit trail, which is what made the platform defensible to a bank.

Success, failure and return all terminate in the same reconciliation and audit trail. That was a deliberate specification — it is the property that let a bank's risk function accept the platform.

How I worked with engineering

I stayed involved beyond design handoff, through discovery, definition, design, refinement, ship and feedback.

Engineering constraints, QA and customer feedback routinely changed the product after the first design pass.

What Didn't Go to Plan

Three things I got wrong, and what changed because of them.

Some abstractions were too rigid.

We expected more bank workflows to fit one shared model than actually did. Some institution-specific requirements were real and could not be designed away.

What changed

We became deliberate about separating three things that had been blurred: shared platform behaviour, configuration, and true exceptions.

Compliance arrived too late in early work.

When compliance entered after design, we had to revisit workflows that were already defined and partly built.

What changed

Compliance moved into product definition — the decision two sections above exists because of this failure.

Partner timelines moved slower than product timelines.

Banks and external partners had approval and implementation cycles that did not match a startup's cadence, and planning as though they would was a mistake.

What changed

We separated what VictorFi could ship independently, what depended on partner approval, and what needed staged rollout.

How It Evolved

The loop stayed the same for five years. How much I could explore before the first conversation did not.

2020–2022 · Manual

  • Manual discovery synthesis
  • Manual requirements drafting
  • Edge cases found mainly through stakeholder reviews
  • QA scenarios created manually
  • Documentation assembled manually

2023–2025 · AI-assisted

  • Conversation synthesis
  • Requirement interrogation
  • Edge-case generation
  • Acceptance criteria
  • QA scenario generation
  • Documentation and product exploration

Compliance interpretation, prioritisation, customer judgment, risk decisions and final requirements stayed human-led. The change was that I arrived at engineering, customer and compliance conversations with more scenarios already explored.

AI increased exploration speed. It did not replace product judgment.

Impact

From customer to acquirer.

VictorFi had built strategic value with Jack Henry before the acquisition. One of the platform's own customers ultimately became the company that bought it — and the product question changed from scaling an independent startup to preserving its logic inside a much larger banking technology environment.

$6M

Seed funding raised

$80B+

Processed transaction volume

2025

Acquired by Jack Henry

Company outcomes across five years and many people. I was one input into them.

Reflection

What I learned

The simplest fintech experiences hide enormous complexity.

The job was not to remove that complexity. It was to decide which complexity users needed to see and which belonged inside the platform.

The best product decisions were the ones that let us say no.

Standardizing the core only worked because we were willing to reject both custom-everything and rigid-standardization.

Enterprise fintech isn't about removing complexity. It's about putting complexity in the right layer so customers can move fast without sacrificing trust, visibility, or control.