1998 Skincare Co.

E-commerce Platform · 2020

Screenshots

Overview

A full-featured e-commerce website for a US-based skincare brand. The platform handles product catalog, shopping cart, secure payments, and order management with a focus on brand aesthetics and conversion.

The Challenge

Situation

The client, a growing US skincare brand, needed an online store that reflected their premium brand identity while providing a seamless shopping experience. Off-the-shelf solutions didn't match their design vision.

Task

Build a custom e-commerce platform with strong visual identity, fast performance, and reliable payment processing that could handle their product catalog and customer orders.

My Approach

  • Developed the frontend using Next.js for fast page loads and SEO optimization
  • Integrated with headless CMS for product and content management by the client
  • Implemented secure payment processing with proper error handling and order confirmation
  • Built a responsive design that showcases products beautifully on all devices

Results & Impact

  • Website launched successfully and began processing orders immediately
  • Page load times under 2 seconds improved conversion rates
  • Client manages products and content independently through CMS
  • Mobile-responsive design captures growing mobile shopping traffic

Key Metrics

$100K+Monthly Volume
16.3%Conversion Rate
99.9%Payment Success
<2sPage Load

E-commerce Platform Architecture

Next.js AppCDNEmailSearchGraphQLFirebaseCMSMongoDBRedisPayPal
Animated flow
Click for details
Tap to interact

Flow: Next.js (SSG/ISR) → GraphQL API → CMS + MongoDB + Redis Cache + PayPal + Firebase Auth + Algolia Search

Performance: Page loads <2s with session caching, SendGrid notifications & optimized assets

Technical Highlights

Problem

JavaScript floating-point errors: 19.99 * 2 = 39.980000000000004 causes payment mismatches.

Solution

All prices stored as strings in MongoDB. Server-side calculations using decimal.js library. 2 decimal precision. Sent to PayPal as strings with zero precision loss.

Impact

Zero rounding errors, accurate tax calculations, payment amount always matches displayed price.

Problem

Race condition: two users buying last item simultaneously causes overselling (inventory goes -1).

Solution

MongoDB ACID transactions: lock product → check inventory → decrement atomically → create order → commit. If any step fails, rollback all changes.

Impact

Race conditions impossible, 99.9% transaction success rate, 50-80ms latency.

Problem

Network timeout → user clicks Pay again → DUPLICATE CHARGE.

Solution

Client generates UUID as idempotencyKey. Server checks: key exists? Return existing status (no duplicate). New key? Process normally. Auto-cleanup via TTL index (15min).

Impact

Zero duplicate charges even with button spam, safe automatic retries, full reconciliation trail.

Tech Stack

React
Node.js
GraphQL
MongoDB
PayPal
Firebase
Redis

Ready to launch your online store?

Let's discuss your project over a free discovery call.

Book a Discovery Call