Download Now
August 14, 2026

Building a Marketplace Where Better Offers Win

🕶️ How we redesigned SoLo’s lending marketplace so borrowers could receive more competitive offers, while lenders compete on offer quality instead of reaction speed.

Challenge Approach Results
  • Borrowers needed stronger price discovery, not just fast
    funding
  • Instant funding favored the fastest lender, not necessarily
    the best offer
  • Marketplace concentration showed us areas to improve borrower
    experiences
  • Keep the borrower journey simple: request, review,
    decide
  • Move lender competition into the background through
    blind bidding and improve borrower results
  • Resolve bidding windows with reliable, observable workflows
  • ~80% borrower acceptance of winning proposals
  • 25.5% improvement in borrower rejection rate
  • 4.6% average borrower cost improvement
  • 500+ loans funded on the first day of expanded rollout
  • 97.3% bid-to-proposal success rate
  • A fairer marketplace pattern without adding borrower complexity

 

đź’ˇTL;DR: We moved from a speed-first funding flow to blind bidding so lenders could compete on offer quality in the background. The early rollout gave us encouraging signals: strong borrower acceptance, hundreds of loans funded during expansion, and reliable conversion of bids into borrower-facing proposals, all while making the borrower experience better.

🔒We’ll focus on the product and engineering patterns behind the redesign, not internal eligibility thresholds, risk models, proprietary decisioning logic.


Why this was an engineering challenge

Marketplaces always end up facing a hard question:

        |  When multiple people want the same opportunity, who should get it, and why?

For borrowers, that question is not theoretical. It affects the offer they see, the choices they have, and whether the marketplace feels like it is working for them.

For a long time, SoLo’s lending marketplace had a simple answer: a borrower posted a loan request, lenders saw it, and the first lender to fund it got the loan. It was fast, easy to understand, and worked well enough in the earlier days of the marketplace.

But as the marketplace grew, that simplicity started to show its limits. “First come, first served” was no longer just a product flow. It had become an incentive system, and it naturally favored lenders who happened to see and act on requests first.

That created a mismatch. We wanted borrowers to have a better chance at competitive offers. We wanted lenders to have a fairer path to participate. And we wanted the marketplace to become healthier over time, with outcomes shaped more by offer quality than by timing alone.

This was not just a feature build. It was a live marketplace redesign. The team had to change how opportunities were allocated while protecting the things that matter most: borrower trust, system reliability, and a simple product experience.

The team needed to:

  • Keep the borrower journey simple
  • Change how the marketplace funded loans
  • Make bidding windows resolve reliably
  • Prevent duplicate, stuck, or unclear proposals
  • Preserve fairness across participants
  • Roll out gradually with measurable safety signals

This post is about the blind bidding flow, explaining how our team moved SoLo from a speed-first funding model to an offer-based model.


The product constraint: better offers, no extra borrower work

The product goal was straightforward:

        |  Borrowers should benefit from marketplace competition without having to manage an auction.

Before the blind bidding flow, a borrower could post a loan request and get funded quickly. Speed was valuable, but we saw an opportunity for SoLo to further benefit the borrower. The borrower was setting their terms, and speed was rewarded. We saw an even better path.

With blind bidding, the borrower experience stays simple:

  1. Post a loan request.
  2. Let eligible lenders compete in the background.
  3. Receive a proposal shaped by the best available offer.
  4. Accept or reject it.

Figure 1: The borrower still experiences a simple request-and-review flow while the marketplace works behind the scenes to surface a stronger offer.

That constraint shaped the engineering work. We could make the marketplace smarter behind the scenes, but we could not make the borrower carry that complexity.


The system design: blind bidding behind a simple experience

The blind bidding flow adds a short bidding window for eligible loan requests. During that window, lenders can submit offers without seeing competing bids. When the window closes, the system selects the best valid bid and turns it into a proposal for the borrower.

That changes the incentive structure:

  • Lenders are no longer rewarded only for being first.
  • Lenders submit the terms they are actually willing to offer.
  • Borrowers receive a proposal shaped by competition.
  • The marketplace gets clearer signals about demand, pricing, and participation.

The “blind” part matters. If lenders could see every competing bid in real time, the experience could turn into a last-second undercutting game. Blind bidding pushes lenders to make a competitive offer up front instead of reacting to everyone else.

It also helps the borrower experience. When more lenders have a real chance to participate, the marketplace has a better chance to surface stronger offers. The goal was not just to keep loans moving. It was to keep loans moving while making room for better offers to benefit borrowers.


How the team made it reliable

The hard part was not simply accepting bids. The hard part was making every step predictable enough to retry, reconcile, monitor, and explain.

The team modeled the workflow as a state machine:

Figure 2: Explicit states made retries, monitoring, and reconciliation easier to reason about.

The workflow needed a clear lifecycle:

1. A request becomes eligible for direct acceptance or bidding.
2. A bidding window opens.
3. Bids are accepted and validated.
4. The window closes at the right time.
5. The best offer is selected fairly.
6. A counterproposal is created exactly once.
7. Rejected proposals follow a defined re-entry path.
8. Every important step is observable and recoverable.

The team also kept the responsibilities separate:

Marketplace rules

  • Participation rules, re-entry behavior, and rollout controls.

Bidding orchestration

  • Window creation, bid intake, state transitions, and audit events.

Offer selection

  • Window close, winner selection, tie handling, proposal creation, and recovery checks.

Observability

  • Metrics, alerts, and dashboards to catch delayed or unresolved windows.

That separation gave us room to move safely. It kept the borrower experience simple while making the backend easier to test, monitor, and improve.


Reliability lesson: timers need backup plans

Time-based workflows are easy to describe and hard to run. A bidding window sounds simple: open it, wait, close it. In production, the messy cases matter.

A resolver can restart. A scheduled job can run late. Two workers can try to resolve the same window. A bid can arrive near the boundary. A proposal can be rejected and return to the marketplace.

The team designed for those realities from the beginning. We did not want the system to depend on one perfect timer. We wanted layered reliability:

Figure 3: Time-based workflows should include primary resolution, reconciliation, and monitoring paths.

For this kind of workflow, recovery checks need to be part of the original design. They should be:

  • Safe to repeat — able to run more than once without creating duplicate outcomes
  • Bounded — limited to windows in expected recoverable states
  • Auditable — clear about what it changed and why
  • Observable — measured so delayed windows do not become silent failures

The lesson for us was simple: if time is part of your product logic, recovery has to be part of the product design.

For borrowers, reliability is part of the experience. A more competitive offer only matters if the proposal appears clearly, consistently, and on time.


How we protected marketplace fairness

Blind bidding can improve price discovery, but it is not enough on its own. A more competitive marketplace also needs guardrails so the same concentration patterns do not simply show up in a new form.

At a pattern level, those guardrails included:

  • Participation rules
    • Define who can participate in each marketplace action.
  • Participation limits
    • Prevent one participant from overwhelming a cycle.
  • Tie handling
    • Make sure equivalent offers are resolved through clear marketplace rules instead of timing alone.
  • Re-entry rules
    • Define what happens when a borrower rejects a proposal.
  • Participation monitoring
    • Measure whether the new system is broadening participation or concentrating activity among fewer participants.

The engineering win was not just introducing a new marketplace rule. It was building the system so fairness-oriented rules could be enforced, observed, and tuned over time.


How we shipped with controlled rollout risk

The blind bidding flow changed how opportunities were allocated, so the team treated rollout more like a controlled migration than a feature toggle.

We started narrow, watched real bidding windows, fixed edge cases, and expanded gradually. The questions we kept asking were:

  • Are bidding windows closing correctly?
  • Are valid bids turning into proposals?
  • Are borrowers accepting the resulting proposals?
  • Are lenders participating across a healthy distribution?
  • Are any windows delayed, duplicated, or unresolved?

When a change affects who gets access to opportunities, it affects real consumer outcomes. That makes rollout discipline part of the product experience, not just an engineering best practice.

The team did more than ship a new flow. They changed marketplace behavior with measured risk, operational visibility, and a carefully limited rollout.


What the team delivered

The new mechanism produced early rollout signals tied to borrower experience, marketplace health, borrower cost outcomes, and system reliability:

  • ~80% borrower acceptance of winning proposals
  • 25.5% improvement in borrower rejection rate after proposal bidding
  • 4.6% average borrower cost improvement through more competitive offers
  • 500+ loans funded on the first day of expanded rollout
  • 97.3% bid-to-proposal success rate

Together, these metrics suggest the new flow was not only helping loans continue moving, but also helping more borrowers receive offers they were willing to accept on more competitive terms.

Those numbers gave us confidence that the system was not just adding a new interaction. It was helping loans continue moving while creating a more competitive allocation model.

The result was a production-ready marketplace capability with measurable borrower impact and operational confidence.

âś… Metrics reflect early rollout signals and are shared to illustrate directionality, not as a guarantee of future marketplace outcomes.


Takeaways for marketplace teams

This blind bidding flow is specific to SoLo, but the lessons apply broadly to marketplace engineering.

  • Fastest is not always best for consumers.
    • If a marketplace rewards reaction speed, participants will optimize for reaction speed.
  • Better outcomes require better marketplace rules.
    • The system has to reward the behavior the product wants to create.
  • Simple consumer experiences often require complex backend work.
    • Borrowers still see a simple request-and-review flow while the marketplace handles competition behind the scenes.
  • Timed workflows need retries and recovery checks.
    • A bidding system cannot improve the experience if it does not resolve consistently.
  • Fair systems need guardrails.
    • Participation rules, limits, tie handling, re-entry behavior, and participation monitoring are part of the product.
  • Marketplace changes deserve careful rollout.
    • Start narrow, measure real outcomes, and expand with confidence.

The blind bidding flow is a good example of the kind of engineering we value at SoLo: product-minded, systems-aware, measurable, operationally disciplined, and grounded in real member outcomes. The team did more than ship a feature. They changed marketplace behavior while keeping the experience simple for borrowers.

That balance of better borrower outcomes, fairer marketplace mechanics, and reliable systems underneath is what made this work meaningful for the team.