Back to Projects

Interior Design Platform & CMS

A full-stack platform for interior design studios

Next.jsReactNestJSPostgreSQLPrismaTypeScriptTailwind CSSDocker
Interior Design Platform & CMS

Overview

DesignO is a comprehensive platform built for interior design studios to manage their entire workflow — from showcasing their portfolio to managing client projects, appointments, and content. The platform serves both as a public-facing marketing site and a powerful internal tool for studio operations.

The marketing website is fully bilingual (German and English) and includes a portfolio showcase, blog, product marketplace, appointment booking system, pricing pages, and more. All content is CMS-driven, allowing studio owners to update their site directly from the admin panel without touching code.

The admin dashboard provides a complete suite of tools: project management with task tracking, a visual moodboard designer, product catalog management, client database, appointment scheduling with availability rules, visitor analytics with bot detection, a full blog CMS, and a media library. The platform also integrates AI-powered features using the Anthropic SDK for automated product data extraction.

Key Features

01

Marketing Website

  • Bilingual support (German & English) with locale-based routing
  • Dynamic portfolio showcase with featured projects and moodboards
  • Blog with CMS-managed posts
  • Product marketplace for furniture and design items
  • Online appointment booking with calendar integration
  • Pricing plans and FAQ pages
  • All content editable from the admin panel
02

Admin Dashboard

  • Project management with phases, tasks, status tracking, and priorities
  • Visual moodboard designer for room designs, style concepts, and product collections
  • Product catalog with images, pricing, specifications, and availability
  • Client management database
  • Appointment scheduling with configurable availability rules
  • Visitor analytics with event tracking and bot detection
  • Blog post editor with rich text (Tiptap)
  • Media library with folder organization
  • Website CMS editor for live content updates
03

API & Backend

  • RESTful API built with NestJS, organized into modular feature domains
  • JWT-based authentication with OTP support
  • AI-powered product extraction using the Anthropic SDK
  • Transactional email notifications via Resend
  • Image processing with Sharp
  • Scheduled background tasks via cron jobs
  • GDPR-compliant data handling

Tech Stack

Frontend

Next.js 16React 19TypeScriptTailwind CSSReact QueryZustandTiptap Editordnd-kit

Backend

NestJS 11PrismaJWT / Passport.jsAnthropic SDKResendSharpZod

Database

PostgreSQL

DevOps

Docker & Docker ComposeCaddy (reverse proxy)GitHub Actions CI/CDGitHub Container RegistryHetzner VPSTurborepo

Architecture

The project is organized as a Turborepo monorepo with three applications and shared packages. The marketing website and admin dashboard are separate Next.js apps, while the backend is a unified NestJS API. A shared database package contains the Prisma schema and generated client, ensuring type-safe database access across the stack.

In production, all three services run as Docker containers orchestrated by Docker Compose on a Hetzner VPS. Caddy serves as the reverse proxy, handling automatic SSL certificates, security headers, and CORS. The CI/CD pipeline uses GitHub Actions to build Docker images, push them to GitHub Container Registry, and deploy via SSH — including automatic database migrations on each release.