Product family · Long-term ownership

02 / 12

BiFi

A lending product family that grew from a single-chain app into cross-chain lending, leveraged positions, analytics, and years of production operation.

Role
Frontend Lead · Primary Frontend Owner
Problem
The hardest problem was evolving the product across frontend generations without losing consistent transaction meaning or allowing stale visible state to produce an incorrect action.
Strategy
Each generation keeps product journeys separate from account, position, transaction, and integration state. Cross-network actions bind the active wallet, networks, assets, amount, and position into an execution context, then reconcile bridge, contract, and portfolio stages instead of treating one receipt as the entire result.
Outcome
Expanded BiFi from the original lending application into cross-chain lending, leveraged positions, analytics, and governance experiences.

01

Problem definition

Why this problem had to be solved

BiFi lets people supply assets, borrow, repay, and manage positions. Over time it expanded into cross-chain lending, leveraged positions, analytics, governance, and shared bridge foundations.

What users and the system were facing

  • Wallets, network selection, approval, supply, borrow, repay, and withdrawal were unfamiliar to many early DeFi users.

  • Positions, leveraged strategies, analytics, governance assets, markets, and execution rules expanded across multiple networks and frontend generations.

  • The visible wallet and position context had to remain consistent with the transaction a user was about to sign.

Frontend ownership

I led and owned most of the frontend across core and Cross-chain BiFi, BiFi-X, Owly, governance, bridge, and shared currency systems.

  • Vue and Next.js application architecture across product generations

  • Lending, leveraged position, analytics, governance, staking, rewards, market, and cross-chain experiences

  • Wallet, asset, network, bridge, SDK, API, and contract boundaries

  • Transaction state, history, localization, observability, E2E, and maintenance

02

Solution strategy

A system strategy carried into production

Each generation keeps product journeys separate from account, position, transaction, and integration state. Cross-network actions bind the active wallet, networks, assets, amount, and position into an execution context, then reconcile bridge, contract, and portfolio stages instead of treating one receipt as the entire result.

System model

Core lending and Cross-chain BiFi connect account and position state to asset-pair, bridge, API, contract, and portfolio adapters while shared foundations keep wallet and asset behavior consistent.

Product and delivery map

Seven directly owned product surfaces

BiFi evolved through lending, cross-chain execution, leveraged positions, analytics, governance, and shared infrastructure. Cross-chain BiFi leads this map as the latest public generation.

  1. Latest product generation

    Cross-chain BiFi

    The Next.js frontend lets users supply native assets on one network and borrow on another while keeping wallet, bridge, contract, and portfolio state aligned.

    Implementation details · 2
    • Built supply, withdrawal, borrow, repay, claim, market, and reward experiences around cross-network asset pairs.
    • Invalidated stale execution context when wallet, network, asset, amount, or position inputs changed.
  2. Original product foundation

    Core BiFi application

    The original Vue application introduced supply, borrow, repay, withdrawal, pools, staking, rewards, markets, wallets, and multi-network positions.

    Implementation details · 2
    • Built and maintained most of the application architecture and core financial flows.
    • Centralized account, network, position, transaction, localization, and history state.
  3. Active contracts · Private frontend

    BiFi-X

    BiFi-X uses BiFi lending and flash loans to create leveraged yield, long, and short positions in one transaction. Its contracts remain active while the frontend is operated privately.

    Implementation details · 2
    • Built and maintained the Vue frontend for strategy discovery, risk disclosure, position creation, monitoring, withdrawal, and rewards.
    • Keep the frontend private rather than presenting an unavailable public UI; link only the public contract repository.
  4. Position analytics

    Owly

    Owly exposed strategy discovery, address-based position tracking, rankings, and P&L analysis for leveraged BiFi positions.

    Implementation details · 2
    • Built product and analysis views around active and inactive positions, strategy cards, and time-series performance.
    • Made complex reward, interest, asset, and position data comparable and exportable.
  5. Token and governance operations

    Governance frontend

    A dedicated frontend supported gBiFi governance and token-management actions with wallet and contract execution.

    Implementation details · 2
    • Implemented the product surface and transaction flows around governance-related assets.
    • Maintained wallet, chain, contract-signature, and policy compatibility over time.
  6. Supporting frontend systems

    Bridge and shared foundations

    Dedicated bridge flows and a shared currency layer helped keep wallet, token, network, signature, and amount behavior consistent across the family.

    Implementation details · 2
    • Separated chain and token configuration from reusable interaction and transaction stages.
    • Handled bridge requests, wallet state, signatures, and asset semantics through explicit integration layers.
  7. Production stewardship

    Long-term operation

    The product family has required sustained framework, dependency, wallet, API, RPC, observability, privacy, and security maintenance.

    Implementation details · 2
    • Hardened fallbacks, error classification, privacy scrubbing, and wallet-extension noise filtering.
    • Maintained critical flows across evolving networks, browser wallets, and frontend generations.

Implementation decisions

  • Built core supply, withdrawal, borrow, repay, pool, staking, reward, market, and claim flows.

  • Connected source-network supply with target-network borrowing and portfolio reconciliation.

  • Built BiFi-X position and Owly analysis experiences around leveraged strategies, risk, rewards, and P&L.

  • Derived executable context from current wallet, network, asset, amount, and position inputs, invalidating stale state before submission.

  • Separated wallet, bridge, API, RPC, contract, transaction, and portfolio stages while hardening Sentry observability and fallbacks.

03

Outcome

What changed—and what I learned

  • Expanded BiFi from the original lending application into cross-chain lending, leveraged positions, analytics, and governance experiences.

  • Maintained core lending and reward experiences through multiple frontend generations and years of production operation.

  • Established patterns later reused across cross-chain, BTCFi, DEX, and SDK work.

Learning

Long-term product ownership makes stale state, migration, and integration boundaries as important as the first implementation. A visible selection becomes a transaction-integrity concern when it can produce executable data.

Today

I would standardize the family on typed feature modules, immutable schema-validated execution snapshots, explicit cross-network state machines, query caching for remote state, and deterministic wallet, API, RPC, contract, and observer tests.

Built with

  • TypeScript
  • JavaScript
  • React
  • Next.js
  • Vue 2
  • Vuex
  • Jotai
  • SDK integration
  • Sentry
  • Playwright

Work together

Need this level of frontend ownership?

Contact me