Giftly · 2022 – 2023

Rebuilding a gifting product, one flow at a time

Led the rebuild of the buyer and recipient experience off three frontend eras onto Vue and Inertia, one flow at a time, for a 17.5% year-over-year conversion lift.

PublicNamed and linkable, with figures as reported.
+17.5%
YoY conversionPlus a further ~8% from experiments.
since 2022
ongoing engagementThrough Solve Consulting. 2026 is the heaviest year so far.

The situation

Giftly's consumer experience — buying a gift, redeeming one, managing an account — had accumulated years of incremental change across several frontend generations. The flows worked, but each carried its own conventions, and adding anything meant first reading the era it landed in.

The constraints

  • This is the revenue path. Every change is measured, and a regression is immediate and visible.
  • The frontend spanned ERB, AngularJS and Vue across different eras, so "rebuild" had to mean incremental replacement — new routes shipped disabled in production so the app could keep deploying continuously mid-migration.
  • It is a shared codebase with a resident engineering team. My work had to survive other people editing it, which put the weight on written specs and on conventions that hold without me in the room.

The call

Rebuild flow by flow behind experiments rather than as a single redesign, so each change could be attributed and reverted independently. Checkout went first, then My Account, then the customizer, and the legacy pages came out only as each replacement won.

The corporate portal had already proven Inertia inside the Rails monolith — I adopted that pattern for consumer rather than arguing for a decoupled SPA, which would have meant a second deployable and an API surface nobody had time to design.

Treat the recipient side as half the product, not an afterthought. Most people who touch Giftly never buy anything — they receive. So redemption got the same end-to-end treatment: the gift landing page, four ways to take the money out — bank transfer, PayPal, a mailed cheque, a virtual card — and the thank-you note back to the sender.

What happened

Conversion rose 17.5% year over year, with roughly another 8% attributable to experiments on top.

The flows stopped carrying their own eras. The workstreams that followed — the cart, multi-place gifts, the calendar — landed on one set of conventions instead of three, and each has its own study here.

Buyer self-service — order status, resend, cancel even after a gift is opened, buy again — took a whole class of request out of the support queue.

Built with

Ruby on Rails · TypeScript · Vue 3 · Inertia · UnoCSS · PostgreSQL · Heroku · Stripe API