Work 07 · Client Work
Racha Beauty
A paying client's first website: 95+ Lighthouse, Danish-language, no maintenance budget.
- Role
- Freelance, design and build for a paying client
- Scope
- Frontend only
- Year
- 2025
- Built with
- React, Vite, React Router, Tailwind, Web3Forms, Schema.org

- Lighthouse score
- 95+
- Paid client project
- First
- Contact form fallback
- 2 paths
Overview
A wellness studio in Næstved had no website at all, just a Facebook page. I built their first one: a Danish-language site covering treatments, prices, a gallery and an enquiry form. My first paid client project.
The challenge
A small local business has no budget for ongoing maintenance and nobody to call when something breaks. The site had to be fast on first deploy, cheap to host, and keep working without me. Especially the contact form, since that is the only channel enquiries arrive through.
Design
Palette
- Cream#F7F5F0
- Green#437066
- Deep green#305D4B
- Gold#F2C84A
- Stone#9C8C7F
Type
- Headings
- Lora
- Text
- Roboto
Engineering
Approach
React with Vite for a fast build and a small bundle. React Router for the Danish URLs the client wanted (/behandlinger, /kontakt). Tailwind so she could react to something visual instead of a spec. react-helmet-async for per-page titles and descriptions.
How it was built
95+ Lighthouse on first deploy. Every route is code-split with lazy() and Suspense behind a loader, all imagery is WebP, and an ErrorBoundary stops one failure from blanking the site. The contact form posts to Web3Forms and falls back to a Google Form if that request fails. On a site with no backend, a dropped enquiry is a lost customer.
Built with
React, Vite, React Router, Tailwind, Web3Forms, Schema.org
The Making
01 · Brief
Racha was opening her own beauty and wellness studio and needed a website to open with. She knew I was studying frontend development and asked me to build it.
02 · First version, June 2025

The site as first built. It has illustrations where today's site has photos of the studio.
03 · Real photos, August 2025

Real photos of Racha replaced the illustrations on every page.
04 · The contact form

Enquiries first went through my own small email backend. In November 2025 I moved the form to Web3Forms, a hosted form service, with a Google Form as a fallback if it is ever down, and then removed the backend, so the business has nothing to maintain. Since then it has gained a preferred date and time, and a clear confirmation when it is sent.