Mersi

Frontend Overview

Next.js 16 shopping app — chat interface, cart, checkout, and order tracking.

Mersi is a Next.js 16 AI shopping concierge (package name purch). Users describe what they want in plain English; the app streams responses from the backend/ service, surfaces marketplace product results inside the chat, and takes the purchase from cart through Crossmint checkout to order confirmation.

Tech Stack

LayerLibraryVersion
FrameworkNext.js16.1.6
UIReact19.2.3
StylingTailwind CSS^4
Client stateZustand^5
Server stateTanStack Query^5
HTTP clientKy^1
ValidationZod^4
Auth + walletCrossmint SDK^3
Sui blockchain@mysten/sui, @mysten/payment-kit^2 / ^0.1
AnimationMotion^12
IconsLucide React^0.577

Architecture

The app uses the Next.js App Router with two grouped layouts:

  • (auth) — unauthenticated pages (/login, /onboarding). No AuthGuard.
  • (main) — authenticated shell (/app). Wraps children with AuthGuard, AppHeader, TabNav, CartSidebar, OrdersSidebar, and CartHydrator.

All /api/* requests are proxied by Next.js rewrites to the backend/ service (configured via BACKEND_URL or NEXT_PUBLIC_API_URL in next.config.ts).

Pages

RouteFileDescription
/app/page.tsxMarketing landing page — feature sections, launch CTA
/loginapp/(auth)/login/page.tsxCrossmint email OTP + Google OAuth login
/onboardingapp/(auth)/onboarding/page.tsx3-step profile, address, and sizes form
/appapp/(main)/app/page.tsxFull chat shell with sidebar session management

Quick Navigation

How is this guide?

On this page