Skip to content
Manila Watch Atelier
E-Commerce

Manila Watch Atelier

2025Solo project
Next.jsTypeScriptTailwind CSSFramer MotionPostgreSQLPrismaRechartsResend

Live Demo

Live preview of Manila Watch Atelier

Problem

Luxury watch retail storefront built for Sherard, a Manila-based watch dealer. Features server-side filtering, normalized product data model, and an inquiry system for high-value timepieces. Built with PostgreSQL + Prisma (migrated to JSON-file backend for Vercel constraints), WhatsApp integration, admin dashboard with CRUD and status pipeline, Market Insights page with interactive Recharts charts, multi-currency display (PHP, USD, EUR, SGD, HKD), and SEO-optimized brand landing pages. Pre-launch.

Constraints

  • -Solo developer on MVP budget and timeline
  • -Vercel serverless constraints required migration from PostgreSQL to JSON-file backend
  • -Images must be high-quality (luxury market) but page speed matters for SEO
  • -Inquiry form must feel premium and trustworthy with rate limiting to prevent abuse
  • -Multi-currency support required for international clientele (PHP, USD, EUR, SGD, HKD)

Architecture

SSR product pages (Next.js) for SEO with brand-specific landing pages. PostgreSQL + Prisma data layer migrated to JSON-file backend for Vercel serverless constraints. Inquiry system with database storage, email delivery via Resend, rate limiting, and WhatsApp integration. Admin dashboard with full CRUD operations and status pipeline management. Market Insights page with interactive Recharts charts. Multi-currency conversion (PHP, USD, EUR, SGD, HKD). Mobile-first responsive grid with 3 columns on desktop and single column on mobile.

Tech Choices & Why

Next.js SSR

Product pages and brand landing pages need SEO for organic traffic

Resend + Rate Limiting

Email delivery with abuse prevention. WhatsApp integration as secondary channel.

Recharts

Interactive Market Insights charts for price trends and market analysis

JSON-file backend

Migrated from PostgreSQL + Prisma due to Vercel serverless cold start and connection limits

Psychology-driven UX

FOMO, scarcity, urgency, and social proof patterns to drive inquiry conversion in luxury market

Challenges & Solutions

Problem

High-resolution watch images caused slow page loads and poor Core Web Vitals.

Solution

Next.js Image with blur placeholders, lazy loading, responsive srcsets, and WebP format. Multiple size breakpoints for different devices.

Problem

PostgreSQL + Prisma hit Vercel serverless connection limits and cold start latency.

Solution

Migrated to JSON-file backend with atomic read/write operations. Eliminated database connection overhead while maintaining data integrity for the inquiry pipeline.

Problem

Inquiry system needed rate limiting, email delivery, and WhatsApp integration without complex infrastructure.

Solution

Multi-step form with Zod validation, rate limiting middleware, email delivery via Resend, and WhatsApp deep links. Admin dashboard with status pipeline for inquiry management.

Trade-offs

  • ~JSON-file backend limits concurrent writes but eliminates database connection overhead on Vercel.
  • ~Multi-currency uses static exchange rates. Acceptable for inquiry flow, not for checkout.
  • ~Psychology-driven patterns must be tasteful for luxury market β€” subtle, not aggressive.

Impact

Live at manila-watch-atelier-mvp.vercel.app. Delivered a full retail platform with inquiry management, admin dashboard, market insights, and multi-currency support. Core Web Vitals improved from poor to good after Next.js Image optimization.

What I'd Improve

  • +Add a lightweight CMS (Sanity or Payload) for dealer self-service
  • +Add real-time exchange rates via API
  • +Add conversion tracking and analytics
  • +Scale into a full e-commerce flow with Stripe checkout

This project was reviewed by Luka (Principal Research Consultant) and Nala (UI/UX Compliance Auditor). They had no comments, which we interpret as approval.

You found the bottom! 🎯