BestBale

Choose a kit that fits the baler.

BestBale sells monitoring and control kits for hay balers. I built the online kit builder and the store workflows behind it.

Role
Phoenix product engineer
When
2026
Platform
Web · Phoenix LiveView
Tools
Elixir, Phoenix, LiveView, Ecto, PostgreSQL, Oban, Stripe, Katana, HubSpot

The problem

A BestBale kit must match the baler. The make, model, series, and add-ons change which parts fit and what they cost.

A wrong choice means a return and lost time in the field. If the price changes between the build and the payment, the order no longer matches what the customer saw.

Start in the field

The kit goes on a working baler. A display in the cab shows the operator what the baler is doing.

Each kit adds monitoring and control to a baler the customer already owns.

Show only the parts that fit

The builder has eight steps, from make and model to add-ons and review. Each step shows only choices that fit the earlier answers.

A summary beside the steps shows the build and its subtotal. On a phone, the same choices stack in one column.

Keep the build, the price, and the order together

I save each build as a versioned snapshot of the configuration, price, shipping, and tax. A person can leave and resume a saved build later.

Checkout checks the snapshot again. It refuses a stale price or an unsupported configuration version, so payment and fulfillment use the same facts the customer saw.

Admin detail · project capture

Take payment, then fulfill

Staff confirm compatibility, pricing, and customer details before they capture a Stripe payment. Katana fulfillment waits until capture.

Signed webhooks and duplicate-event checks protect the payment record. Oban jobs send orders to Katana and leads to HubSpot. Customers can follow their shipment.

Public store · 2026 capture
Public store · 2026 capture
Reconstructed diagram One snapshot from build to shipment
  1. Build Compatible choices, saved as a versioned snapshot.
  2. Checkout The snapshot is checked again for price and version.
  3. Payment Stripe authorizes. Staff review, then capture.
  4. Fulfillment Katana order sync and shipment tracking.

What I built

  • Compatibility-aware LiveView kit builder with saved, resumable builds
  • Versioned configuration, price, shipping, and tax snapshots
  • Stripe deposits, balances, refunds, and signed webhooks
  • Katana order and fulfillment sync through Oban
  • HubSpot lead sync through Oban
  • Admin screens for pricing, builds, and orders
  • Blue/green releases with health checks and guarded rollback

Result

  • The store is live at store.bestbaleusa.com.
  • Releases use immutable, checksum-verified builds with a health-checked cutover and a guarded rollback.

Field and display photos are BestBale product photos. Builder and admin images are project captures; the admin view does not show a live customer payment.

Have a product like this?

I take contract work on mobile apps, Phoenix systems, and connected devices.

Contact Bryan