Skip to content
← Projects

Atria E-commerce

SHIPPED

2024 · Full-stack Developer · 2 min read

A premium furniture e-commerce platform for home and office needs, built for a seamless online shopping experience.

Atria E-commerce cover

Overview

Atria is a premium furniture e-commerce platform that brings a curated selection of high-quality home and office furniture to customers across Indonesia. The platform covers everything from living room and dining sets to bedroom and office furniture, with support for both residential and commercial buyers.

The goal was to build a shopping experience that matched the premium nature of the brand — fast, clean, and visually rich — while handling the complexity of a furniture catalog with customizable products and showroom integrations.

What I built

  • Product catalog — category-based browsing (living, dining, bedroom, office, accessories) with filtering and search
  • Commercial & residential sections — distinct browsing experiences for home buyers and commercial clients
  • Showroom locator — integrated showroom finder linked to physical Atria locations (e.g. Mitra10 Bintaro, Mitra10 Cibubur)
  • Cart & checkout flow — streamlined purchase flow optimized for high-consideration, big-ticket items
  • Admin dashboard — product and inventory management for the Atria team

Atria product bannner pageAtria product bannner page

Technical decisions

Next.js App Router was a natural fit for a catalog-heavy site. Static generation handles the product listing pages well, while dynamic routes cover individual product detail pages with up-to-date inventory data.

Redis was used for caching the product catalog and category pages — furniture SKUs don't change that often, so cache hit rates are high and the perceived performance is noticeably faster.

Fastify powers the backend API layer, handling cart operations, order processing, and the showroom data endpoints. Its low overhead made it a better fit than Express for the high-throughput product search queries.

PostgreSQL stores the full product catalog, orders, and customer data. The schema centers around Product, Category, Order, and Showroom — straightforward relational modeling that scales well with the catalog size.

Lessons learned

Image optimization is critical for furniture e-commerce. Product photos are large and plentiful. Getting WebP conversion, lazy loading, and CDN caching right made a significant difference in Core Web Vitals scores.

Commercial buyers need a different flow. B2B customers (offices, hotels, contractors) have different purchase patterns — bulk quantities, quotation requests, longer decision cycles. Separating the commercial section early saved a lot of retrofitting later.

Keep the catalog navigation simple. An earlier version had nested subcategories that confused users. Flattening to top-level categories (living, dining, bedroom, office) reduced drop-off on the browse pages significantly.