
Duration:
3+ years
Role:
Full-Stack Owner
Stack:
Rails · Kafka · Elasticsearch · Sidekiq · Vue · Nuxt 3
The loyalty backbone of a two-market fintech platform: points, cashback rules, a rewards store where points buy real products, and the wallet experience, each market with its own rules, currencies and partners.
Loyalty systems are where correctness meets money. Points must expire on schedule, cashback rules must be editable by operations without deployments, partner-fulfilled gift cards must reconcile against what partners actually delivered, and every inconsistency is a user seeing a wrong balance.
What I Built
A cashback rules engine migrated market-by-market from files on object storage to a proper database model with admin APIs, then the legacy path decommissioned entirely
A hardened points economy: a daily expiry worker on its own queue, blocked-redemption awareness, backfill tooling and a fraud gate on the points-purchase checkout
End-to-end partner gift-card fulfilment: issue-order APIs, completion webhooks, background workers, refund logic and scheduled reconciliation against partner state, since webhook delivery alone cannot guarantee consistency
A storefront API suite of roughly 35 PRs: search, filters, recommendations that skip providers whose card the user already holds, promotional pricing and the cache-correctness fixes that come with all of it
The full vertical: the Rails backend, the Vue admin console and analytics across the Nuxt storefront, with identifier migrations shipped as same-day paired frontend and backend PRs
Engineering Judgment
Financial correctness was engineered on the assumption that every external integration eventually fails silently: reconciliation jobs compare internal state against partner records on a schedule, and production data corrections follow a strict protocol of verified backups and repeatable backfill tasks rather than ad-hoc intervention. The system is designed to notice inconsistency before a user does.
Outcome
More than 200 merged PRs over three-plus years across backend, admin and storefront, growing a cashback-rules service into a two-market loyalty economy with expiry, fraud controls, partner fulfilment and reconciliation.