E-commerce · Growth & CRM
Beauty-products store with a promotions engine and marketing CRM
An e-commerce platform migrated from WordPress, with a promotions engine, store-credit wallet, customer segments, email campaigns and a full analytics suite.
- Role
- Lead backend engineer · promotions, CRM, analytics
- Years
- 2024 — 2026
- Platforms
- Website · Admin panel · API
- My share
- ~52% of commits
The challenge
Move an existing shop off WordPress without forcing customers to reset passwords, then turn it into a growth machine: smarter discounts, targeted campaigns and numbers the owners can act on.
How I solved it
- 01
Password-hash compatibility so migrated customers log in with their old passwords — no reset emails, no lost customers.
- 02
A ~1,300-line promotion engine (first-order, loyalty tiers, cashback, gifts) that picks the best scenario for the customer.
- 03
Promotions, segments and campaigns designed as one loop: who to target, what to offer, what it earned.
What it does
- Catalogue with brands, tags and reviews; wishlist and addresses
- Store-credit and cashback wallet
- Segments: abandoned checkouts, lapsed buyers, subscribers…
- Queued email campaigns with unsubscribe
- ~30 analytics exports; per-item refunds and tracking numbers
- Real-time admin updates
Results
- Lines of promo engine
- ~1,300
- Excel exports
- ~30
- Controllers
- 42
- Of commits authored
- 52%
- Seamless migration of existing users
- Promotions, CRM and analytics in one admin
- I authored about half of all commits over three years
Stack
- Laravel 12
- Next.js 14
- React 18
- Zustand
Integrations
- NAB
- PayPal
- Mailchimp
- Pusher
- Google Maps
Details, names and visuals are generalised to respect client confidentiality. Happy to walk through the architecture in a call.
Have a product in mind?Let's build it.
Tell me about your idea, your product or your team. I usually reply within one working day.