next.config.tsmotion.div(animate)tailwind.responsive()api.contact.send()seo.metadata.jsoncomponent.render()
← Back to projects
Case study

B2B landing page · Matterport 3D service · Next.js + Framer Motion

8
Page sections
3
Pricing packages
SEO
Full metadata
API
Contact backend
Next.jsReactTypeScriptTailwind CSSFramer MotionMicrosoft GraphSEO
Jump to proof of work

Overview

I designed and built a modern landing page prototype for a Matterport-based 3D scanning service concept.

The goal was to create a professional B2B-facing website that explains the value of 3D scanning for real estate, insurance, construction, and documentation use cases.

The project was built as a full frontend product prototype, not just a static page. It covers the marketing sections (hero, services, pricing, gallery, process, about), a working contact form with backend API, SEO metadata and structured data, and the German legal pages (Impressum, Datenschutz, AGB).

01 / Problem

The challenge

A technical 3D scanning service is not always easy to explain to non-technical users.

Potential customers need to understand what the service does, where it creates value, how the process works, what packages are available, and how to request an offer.

The challenge was to design a landing page that feels premium and trustworthy while still being clear, practical, and easy to navigate.

02 / Role

What I did

I designed and built the website prototype.

My work covered the full frontend layer: the page structure, dark premium visual style, and reusable React components in TypeScript. I implemented the responsive layouts with Tailwind, Framer Motion animations, and the working contact form with a Microsoft Graph email backend. SEO metadata, structured data, and the German legal pages are also part of the project.

03 / Architecture

Project structure

01Next.js App Router
02Main Landing Page
03Reusable React Components
04Hero / Services / Pricing / Gallery / Process / About / Contact
05Tailwind Responsive Styling
06Framer Motion UI Animations
07Contact API Route
08SEO Metadata + Structured Data
09Legal Pages: Impressum / Datenschutz / AGB
04 / Modules

Page sections

01

Hero section

The landing page starts with a cinematic hero section using a Matterport-related visual background, dark overlay, animated typewriter text, and brand positioning. The hero communicates the main message quickly: Your space. Digital. Precise. The purpose is to make the service feel premium, modern, and technically advanced within the first few seconds.

02

Services section

The services section explains the main use cases for the 3D scanning offer. It is structured around clear service cards including real estate and virtual tours, insurance and damage documentation, and construction and architecture. Each card uses icons, short benefit-driven bullet points, hover animations, and a consistent visual style.

03

Pricing packages

The website includes a package/pricing section. The structure presents different service levels and helps users compare what is included in each package. A B2B service page should not only look good; it should also help visitors understand the commercial offer and decide what to request.

04

Gallery section

The gallery section gives the page a more visual and concrete feeling. Instead of explaining the service only with text, the page includes image-based previews and sample Matterport-style links. For the public portfolio version, links, customer references, and project data are replaced with demo content.

05

Process section

The process section explains how the service works step by step. This reduces uncertainty for potential customers because they can understand the journey from first contact to scan delivery. Especially useful for services involving physical appointments, technical equipment, documentation, and digital delivery.

06

About section

The page includes an about section that positions the service around precision, reliability, and data-conscious handling. This section helps the landing page feel less generic and more brand-driven. For the public version, internal references and sensitive claims are replaced with neutral demo branding.

07

Contact form

The project includes a contact form and backend API route. The form allows users to request an offer and provide relevant project information. This turns the landing page from a simple showcase into a functional lead-generation prototype.

08

SEO and supporting pages

The project includes metadata, sitemap, robots configuration, structured data, and legal/supporting pages including Impressum, Datenschutz, and AGB. This shows the site was built with practical website requirements in mind, not only as a visual mockup.

05 / Decisions

Technical decisions

Next.js as the frontend framework

Next.js was used to structure the website as a modern React application with file-based routing, reusable components, metadata support, and API route handling.

Tailwind CSS for responsive UI

Tailwind CSS was used to build the visual design directly with utility classes and responsive breakpoints. This allowed fast iteration on layout, spacing, typography, dark theme styling, and mobile responsiveness.

Framer Motion for animations

Framer Motion was used for animated UI behavior such as section reveal animations, hover effects, typewriter timing, and smoother interaction feel.

Component-based structure

The website is split into reusable components such as Header, Hero, Leistungen, Pakete, Galerie, Prozess, Über Uns, KontaktForm, Footer, Logo, and StructuredData. This makes the page easier to maintain and extend.

Realistic business-page structure

The project includes not only visual sections, but also business-critical parts such as pricing, contact form, SEO metadata, legal pages, robots, sitemap, and structured data.

06 / Quality

Reliability and quality

Responsive layoutReusable React componentsAnimated page sectionsContact form state handlingBackend contact API routeSEO metadataStructured dataSitemapRobots configurationLegal page routingDark premium visual design
07 / Impact

The outcome

This project shows that I can build more than backend automations.

It demonstrates frontend product thinking: how to turn a technical service idea into a clear, structured, professional landing page.

The main value of the project is that it connects technical 3D scanning capabilities with business communication: visitors can understand the service, compare packages, see example use cases, follow the process, and request contact through a form.

08 / Stack

Tech stack

Next.jsApp Router, file-based routing, API routes, metadata
ReactComponent-based UI architecture
TypeScriptType-safe development
Tailwind CSSUtility-first styling, responsive breakpoints, dark theme
Framer MotionScroll animations, hover effects, typewriter timing
Microsoft GraphBackend email handling via Azure AD client credentials
SEOMetadata, structured data, sitemap, robots
09 / Proof

Proof / Evidence

This case study is based on a frontend prototype built as a Matterport / 3D scanning landing page concept. The original prototype is not published, since it contains company names, contact details, internal references, customer examples, private assets, domain configuration, and credentials.

Public proof shown on this page

Next.js App RouterHero SectionServicesPricing PackagesGalleryProcess ExplanationContact FormAPI Route / EmailHandlingSEO MetadataLegal Pages

A page structure diagram showing the BauScope 3D landing page: Next.js app with service sections, pricing, gallery, contact form with API backend, SEO metadata, and responsive layout.

Public code & documentation

Valentino-Veljanovski / BauScope-3DPublic

A reference repository documenting the frontend patterns behind this prototype: Microsoft Graph email integration, Framer Motion + IntersectionObserver scroll animations, JSON-LD structured data, and Next.js 15 App Router SEO setup. Architecture documentation and selected snippets, not the full source.

nextjstypescriptframer-motionmicrosoft-graphazure-identitytailwindseojson-ldb2b-landing-pagecase-study
View on GitHub

Code excerpt: Microsoft Graph email backend

The contact form does not use SMTP or a third-party relay. It uses Azure AD's client_credentials flow to obtain a Microsoft Graph token, then calls Graph's sendMail endpoint to dispatch the email through a Microsoft 365 mailbox. Deliverability matches any internal email; sent items are saved to the sender's Outlook for an audit trail.

api-contact-graph.tstypescript

Full handler in snippets/api-contact-graph.ts. The repository also covers Framer Motion scroll-reveal patterns, IntersectionObserver-based typewriter triggers, JSON-LD LocalBusiness schema, and Next.js App Router sitemap and robots configuration. The original prototype was never deployed to production; the public repository documents the patterns, not the full application.

Prototype Publication Note

This project is a frontend/product prototype for a Matterport-based 3D scanning service concept. The public version uses demo branding, mock contact data, and placeholder project examples. The source repository documents the architecture patterns rather than republishing the full prototype.

← Back to all projects