Spa & Wellness Platform
A modern, content-driven spa website with seamless booking and a premium user experience

Overview
Vintage by Naomie is a modern wellness and spa platform built to showcase services, publish wellness content, and streamline appointment bookings. The platform focuses on a polished user experience, fast performance, and easy content updates, making it ideal for lifestyle and service-based businesses. It combines a visually refined frontend with a content-first architecture that allows non-technical updates without touching code.
- Source Code: https://github.com/iamArvy/vbn
- View Live: https://vintagebynaomie.vercel.app
Key Features
- Comprehensive spa service catalog with categories and signature offerings
- Multi-step booking wizard for services, dates, and customer details
- Wellness blog powered by Markdown content
- Fully responsive, mobile-first design
- Content-driven architecture using
@nuxt/content - Direct WhatsApp integration for customer inquiries
Architecture & Design
The application is built using Nuxt's file-based routing and component-driven architecture. Dynamic content such as services, categories, and blog posts is managed through Markdown files via @nuxt/content, enabling fast updates without redeploying backend services. UI components are composed using Shadcn-Vue and Tailwind CSS to ensure visual consistency, accessibility, and responsiveness across devices.
My Contributions
- Designed and implemented the full frontend architecture using Nuxt 4 and TypeScript
- Built a reusable service catalog system driven by Markdown content
- Implemented a multi-step booking wizard with validated user input
- Integrated WhatsApp for direct customer communication
- Designed a responsive, brand-aligned UI using Tailwind CSS and Shadcn-Vue
Results / Impact
- Enabled easy content updates without developer involvement
- Improved customer engagement through simplified booking flow
- Delivered a premium, mobile-friendly experience aligned with the brand
- Established a scalable frontend foundation for future payment integration
Testing & Quality Assurance
- Schema-based form validation with Zod and VeeValidate
- Component reuse to reduce UI inconsistencies
- ESLint for consistent code quality
- Nuxt development tooling for rapid iteration
Security Considerations
- Client-side form validation to prevent invalid submissions
- Safe content rendering via Nuxt Content
- Prepared architecture for future secure payment integration
What I Learned
- Building content-first applications with Nuxt Content
- Designing intuitive multi-step user flows
- Creating reusable UI systems with Shadcn-Vue
- Structuring scalable frontend projects with Nuxt 4