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
E-commerce Platform Architecture
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
JavaScript floating-point errors: 19.99 * 2 = 39.980000000000004 causes payment mismatches.
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.
Zero rounding errors, accurate tax calculations, payment amount always matches displayed price.
Race condition: two users buying last item simultaneously causes overselling (inventory goes -1).
MongoDB ACID transactions: lock product → check inventory → decrement atomically → create order → commit. If any step fails, rollback all changes.
Race conditions impossible, 99.9% transaction success rate, 50-80ms latency.
Network timeout → user clicks Pay again → DUPLICATE CHARGE.
Client generates UUID as idempotencyKey. Server checks: key exists? Return existing status (no duplicate). New key? Process normally. Auto-cleanup via TTL index (15min).
Zero duplicate charges even with button spam, safe automatic retries, full reconciliation trail.
Tech Stack
Ready to launch your online store?
Let's discuss your project over a free discovery call.
Book a Discovery Call