Let's chat

Rebuilding a 10-year e-commerce platform from legacy PHP to Rails — without losing the business

Emmanuel
Emmanuel
Founder & CEO, High Stickers
High Stickers — custom sticker printing e-commerce platform

The rebuilt platform: high-stickers.com — sticker printing specialist since 2009

2,241
Commits shipped
Across 2 years 8 months of continuous iteration — roughly 1 migration per week
53
Domain models
Custom pricing engine, order lifecycle, CMS, loyalty program — no off-the-shelf e-commerce
796
Founder commits
Emmanuel became the most prolific contributor on his own product
Lead + Build

Best for companies that need a senior engineer who can take charge of the technical direction and be the strongest builder on the project. Two roles, one person.

See full offering →

Results

Full e-commerce platform, rebuilt and handed over

Legacy PHP replaced entirely — Emmanuel now owns and maintains the system independently.

Pricing engine that handles every product combination — fully editable by Emmanuel, no code changes needed
Complete operational command center: visual order board, one-click invoicing, press proof pipeline, production routing to 4 makers
Checkout with built-in analytics — Emmanuel sees exactly where customers convert or drop off, without third-party tools
Founder became the most prolific contributor — 796 of 2,241 commits, now maintaining the platform independently

Overview

High Stickers is a French e-commerce company selling fully customizable printed stickers — from individual units to tens of thousands, with customer-configurable shapes, dimensions, finishes, and printing options. The business had been running for over 10 years with strong SEO presence and a loyal customer base.

Behind the scenes, the platform was collapsing. The legacy PHP system had become so unreliable that the founder sometimes bypassed the application entirely, querying the database directly to process invoices and fulfill orders. The back-office was slow, error-prone, and effectively unusable for anyone other than Emmanuel himself — making delegation impossible and scaling unthinkable.

Before reaching out, Emmanuel had already attempted a PHP refactor through an agency. It failed — expensive and inconclusive. He then completed Le Wagon to understand the technical landscape himself, explored a Shopify hybrid approach with a specialized agency, and ultimately concluded that only a full rebuild would work. Nicolas was brought in through a mutual referral after the referring agency itself declined the project — too complex, too specific, too risky.

Scope

Phase 1: The Pricing Engine

The first move was to attack the hardest problem: the dynamic pricing engine.

Every price is computed in real time from every combination of options the customer selects, with each shifting the price simultaneously. On top of that, a continuous volume degression curve (not stepped tiers) makes every additional unit slightly cheaper, up to a configurable maximum discount.

Certain finish options physically add millimeters to the sticker's surface area, which feeds back into the price calculation. The math is circular by design.

The entire pricing system is editable by Emmanuel through the admin panel — new options, new price rules, new constraints. No code changes, no deployment, no waiting.

Nicolas designed and prototyped the engine through 7 progressively complex standalone versions before touching Rails, validated against Emmanuel's existing pricing spreadsheets. The archive is still in the codebase: v1 through v7, each adding a layer (option interactions, surface calculation, degression curves, constraints). Only after v7 matched every edge case did the engine move into the application. The principle: if the engine isn't rock solid, the rest doesn't matter.

Under the hood: the pricing architecture

The pricing system is built on 6 models: Offer → Composer → Setup ← OptionChoice ← Option, plus a Constraint model for business rules.

Each price is computed from a 3-component formula — a fixed cost, a per-square-meter cost, and a per-unit cost. Finish options that add a border increase the sticker's physical dimensions (via a mm_supp field), which feeds back into the per-m² component. The degression curve is continuous, not stepped — every additional unit adjusts the discount smoothly.

The entire matrix is managed through ActiveAdmin resources — Emmanuel can add options, set price components, define constraints, and see changes immediately in the configurator.

Phase 2: E-commerce Platform

With the pricing engine proven, the full e-commerce shell was built in parallel:

  • 7-step checkout — from artwork upload to payment — with every step tracked so Emmanuel can see exactly where customers drop off.
  • 3 payment methods: credit card, bank transfer, and delayed payment for B2B customers. Plus payment links the team can generate for phone and email orders.
  • Visual order board ("Cockpit") for day-to-day operations — order tracking across 10 stages, one-click invoicing to Pennylane, press proof pipeline, and routing to 4 external production partners.
  • Content management with built-in SEO controls on every page — titles, descriptions, structured data for search results, and character-count validation as you type.
  • Custom loyalty program — 5% credit on every order, with balances migrated from the old system.
  • Dual-domain setup: secondary domain served as a live testing ground before the primary domain cutover.
Under the hood: payment handling & admin architecture
  • Row-level locking on Stripe webhooks to handle out-of-order payment events correctly
  • 19 ActiveAdmin resources managing products, pricing rules, content, SEO, coupons, and customer data
  • 15 custom controllers powering the Cockpit operational interface
  • 830 lines of direct Pennylane API integration for customer sync, estimate creation, and invoicing
  • 12 Schema.org structured data models for rich search results

Phase 3: Migration & Handoff

  • 7 custom migration scripts: users, orders, order details, addresses, loyalty balances, blog posts, and articles — mapping everything from the legacy PHP system to the new Rails application.
  • Migrated users flagged as legacy accounts with a dedicated reactivation flow: on first login attempt, they're routed to a password reset page. After resetting, the flag flips and they use normal auth forever — preserving their full order history with zero friction.
  • URL redirects from the old PHP structure to the new system, preserving search engine value.
  • Emmanuel transitioned from guided learner to the project's most prolific contributor — 796 commits, focused on the operational layer: Cockpit workflows, accounting integration, and order management.

A dedicated designer owned the entire frontend. Two junior developers contributed bounded pieces — one on initial payment integration, another on checkout flows — before moving on. Contributors arrived and left; the system absorbed them without breaking.

The engagement model evolved with the project: from hands-on building (Phase 1–2) to technical mentoring and fractional CTO-style leadership (Phase 3), with weekly 3–4 hour live coding and pair-programming sessions throughout.

Nicolas played a crucial role in the complete overhaul of our e-commerce platform, www.high-stickers.com. He served as both an advisor and a safeguard, guiding me from the start of the project.

He has a sharp sense of priorities, offering real intelligence and vision when it comes to professional organization, profitability, and fairness. This clarity shows in how he directs development and engages in thoughtful debate when necessary.

Nicolas is incredibly efficient. While he may have had the highest hourly rate I've ever paid, he ended up costing me the least overall, due to his speed and effectiveness. You need to see him code live to fully understand!

He is a patient teacher and unwavering in his standards. When my feature requests weren't suitable, he wasn't afraid to say no, always digging deeper to uncover more fitting solutions with me. Even with the less exciting code, Nicolas applies the same high standards. His dedication and personal investment also pushed me to raise my own standards, simply because he inspired me to.

And beyond that, he's fun to work with. His passion for coding and entrepreneurship is contagious. Peer coding sessions with him never feel like work and always leave me feeling satisfied with our progress and the time spent together.

Nicolas is a powerhouse, driven by an angel's heart.

Emmanuel
Emmanuel
CEO @ High Stickers

Impact

  • Platform rebuilt from scratch

    Not a prototype that got promoted — a production system that processes real orders, handles real money, and has been maintained by Emmanuel independently since handoff.

  • Operational autonomy restored

    The back-office transformation was arguably the most dramatic improvement. Before: broken, slow, requiring direct database access. After: clean, efficient, delegation-ready. Team members could process orders without founder intervention for the first time. The Cockpit is a full operational command center — built for one person to run a business.

  • Founder technical transformation

    Emmanuel went from Le Wagon graduate to the most prolific contributor on his own production codebase: 796 commits across models, controllers, admin configuration, and business logic. Not copy-paste code — operational extensions like the one-click accounting integration and the automated press proof pipeline.

  • Data integrity preserved

    7 custom migration scripts mapped 40+ fields per record from legacy PHP to Rails. Users, orders, order details, addresses, loyalty balances, blog content — all preserved. Migrated users reactivate with a single password reset, keeping their full purchase history.

  • An architecture that absorbed a team

    A codebase that outlasted its team — contributors arrived and departed over 2+ years. The system kept growing because the architecture absorbed change.

Explore more case studies

PAJ by Imparato
Read more →

Shaping a theater discovery platform from zero — product, architecture, AI-powered search, and a team of 4

He can step into unfamiliar domains very quickly, ask the right questions, and challenge even the most detailed aspects with precision.
Damien, Founder @ Imparato
Lead + Build
787dimensions
500+plays enriched
AIpowered search
Iris Galerie
Coming soon

Stepping in as API tech lead connecting ERP, mobile, and desktop systems for 150+ points of sale worldwide

Testimonial coming soon.
Iris Galerie stakeholder
Lead + Build
56%API commits
12-16people coordinated
150+galleries
Plancton by Pimpant
Coming soon

1,000+ personalized kids' science magazines shipped monthly — owned the platform end to end for 3+ years

Fast, attentive, and professional — you can trust him with your eyes closed.
Amandine, CEO @ Plancton by Pimpant
Build
3+ yrcollaboration
1K+magazines shipped
Koudetat
Coming soon

From concept to streaming platform as part-time CTO — product and tech strategy in one seat

Nicolas is an entrepreneur before anything else: he knows a company is only as good as its capacity to understand and deliver to its clients.
Thomas, CPO @ Koudetat
Lead + Build
2 yrspart-time CTO
1platform built

Let's talk about what you're building.

30-minute call. No pitch deck. Just tell me what you're trying to build. I'll tell you how I'd approach it.

High StickersPAJ by ImparatoIris GaleriePlancton by PimpantKoudetatCHU NantesGuest SuiteAsmodeeRobin des Fermes #1Meme pas CapDrakkarHigh StickersPAJ by ImparatoIris GaleriePlancton by PimpantKoudetatCHU NantesGuest SuiteAsmodeeRobin des Fermes #1Meme pas CapDrakkar