The online store of a brand that sells furniture, lighting, materials and objects. It began as a showcase site, then gained a cart, checkout and order lookup. A second phase added partner brands and quote-based orders. The admin was built from scratch, with no off-the-shelf solution.

Commerce, custom admin, Korean/English
Captured in September 2026. Select an image to enlarge it.
One site had to both present the brand and sell its products.
The range runs from small objects to large furniture. Some products are paid for on the spot, while others need a quote first, so the store had to handle both flows.
Staff needed to edit the home display and brand story themselves, and overseas customers needed English pages.
We built the store and the admin in one codebase, so staff can arrange the shop without a developer.
The public side covers products, cart, checkout, accounts, guest order lookup, brand story and inquiries. Payments run through Toss Payments, and customers sign in with Naver or Kakao. Every page is available in Korean and English.
The admin has 24 areas, covering products, displays, orders, customers, inquiries and sales statistics. Staff reorder home sections by drag and drop and write content in an editor. After launch we added coupons and employee verification, and we still operate the site.
Store and admin run in one codebase.
Products, orders, customers and coupons are modeled in 35 tables.
Card payments are connected to the order flow.
Auth.js handles social login and admin sign-in separately.
Served through Elastic Beanstalk and CloudFront. Images live in S3 and inquiry emails go out through SES.
A push to main builds and deploys automatically.