Overview
At Cheil, Samsung Indonesia asked us to replicate one of their sites. The Samsung Experience Store LiveSpace page needed maintenance, and they couldn't simply take it down.
I built the replica as fullstack developer — frontend, backend, and the deadline that came with it.
Why a Replica Instead of a Downtime Page
Traffic to a live Samsung property doesn't pause because engineering scheduled work. Campaigns keep running, search keeps sending visitors, in-store signage keeps pointing at the URL. Every one of those arrivals during a maintenance window either gets the experience or gets a dead end.
A downtime page converts nothing. A working mirror converts as well as the original. That's the entire business case, and it set the standard for the build: close enough that a visitor doesn't notice they're somewhere else.
The Fidelity Standard
Replication has a harsher acceptance criterion than original work. On a new build, "looks good" is a defensible outcome. On a mirror, the reference is sitting right there — anything that differs is a defect, not a design choice.
I worked through the site section by section against the live original: layout, spacing, responsive breakpoints, transitions, interaction behavior. Tailwind CSS and shadcn/ui carried most of the speed here — accessible primitives to build on, utilities to match the original's specifics precisely.
Zustand handled client state, kept deliberately small. A campaign mirror doesn't need architecture it will outlive.
Two Backends
The backend ran on Laravel as the primary service — content delivery, data handling, the core application layer. Alongside it, an Express.js service handled endpoints better suited to a Node runtime.
Two runtimes is a decision that needs justifying. It was justified by fit rather than preference: each service took the work it handled naturally, and both sat behind a consistent contract so the React frontend saw a single coherent API surface and never had to care which service answered a given call.
Brand Constraints
A replica of a Samsung property is still a Samsung property. Brand guidelines applied in full — this wasn't a scratch build where visual decisions were mine to make. Working within those standards was part of the job, as it is on any Cheil engagement for Samsung.
The Deadline
The maintenance window was set by someone else and did not move. Everything about the stack selection — Laravel's conventions, shadcn/ui's ready primitives, Zustand's minimal setup — traced back to the same constraint: assemble fast, without shipping something fragile.
Delivered before the window opened.
Status
Retired. Maintenance finished, the original came back, and the mirror came down. The link is dead by design — that was always the plan.
